Mam wideo wmv 1080p, które chciałbym przekonwertować na wideo o niższej jakości (najlepiej 720p). Chciałbym zachować nienaruszony dźwięk. Jak mogę to zrobić w Ubuntu?
14
Ponieważ użyłeś tagu ffmpeg, użyję go do odpowiedzi.
ffmpeg -i input.wmv -s hd720 -c:v libx264 -crf 23 -c:a aac -strict -2 output.mp4
Zmień jakość wideo, określając inny parametr CRF. Więcej informacji znajdziesz w przewodniku kodowania x264 .
ffmpeg -i input.avi -vf scale=-1:720 output.avi
Minęło trochę czasu, odkąd pierwotnie zaakceptowano odpowiedź na to pytanie w 2012 roku. Nowsze wersje FFmpeg lepiej byłoby użyć filtru wideo „skalowanego” FFmpeg.
Podam przykład poniżej, używając tego filtra, który również po prostu kopiuje ścieżkę audio, tak jak prosiłeś:
-tune film
Opcja podane powyżej mogą zostać pominięte lub można spróbować-tune animation
w zależności od typu pliku wideo, którego używasz.Jeśli zdecydujesz, że chcesz transkodować dźwięk, dobrym wyborem będzie skorzystanie z zewnętrznej biblioteki libfdk_aac w następujący sposób:
Z pewnością to właśnie zrobiłbym z plikiem wmv, który skalowałem, wyniki będą bardziej niż dopuszczalne ...
źródło
Jeśli chcesz zachować nienaruszone wszystkie ścieżki audio, napisy itp., Powinieneś użyć czegoś takiego:
W takim przypadku plik input.mkv ma dwie ścieżki audio i dwa napisy. Możesz określić wszystkie ścieżki dźwiękowe (lub napisy, wideo itp.) Jeden po drugim lub jako pojedynczy byt (tak jak określiłem dla napisów).
Mam nadzieję, że to pomoże...
źródło
-map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4
Zamiast tego możesz po prostu określić-map 0
zamiast tego. Spowoduje to automatyczne wybranie wszystkich strumieni na wejściu 0. podobnie jak w przypadku kodeków kopiujących audio. Jedyne opcje kodeka, które musisz określić, to-c:copy -c:v libx264
. Oznacza to: „ustaw kopiowanie wszystkich kodeków strumieniowych, z wyjątkiem wideo, które powinno transkodować na x264”.ffmpeg -i input.mkv -map 0 -vf scale=-1:720 -c:copy -c:v libx264 -crf 18 -preset veryslow output.mkv