Najszybszy sposób na konwersję filmów (wsadowych lub pojedynczych)?


26

Wiem, że jest tu wiele pytań na temat koderów wideo, ale moje pytanie dotyczy bardziej przepływu pracy / wydajności.

W mojej codziennej pracy muszę często konwertować filmy z wielu losowych formatów (zwykle dużych AVI , M4V i innych) oraz konwertować je i kompresować do wydajnych plików, które możemy wykorzystać w Internecie do przesyłania. Formaty, które muszę stworzyć, to:

Muszę utworzyć wspólne szablony dla kilku przypadków użycia (przekonwertować na to samo co źródło, 1080p lub 720p ) i być w stanie szybko je przetworzyć i ustawić w kolejce.

Wszelkie pomysły, jak najlepiej przejść przez ten proces w Ubuntu?


Wiem, że w systemie Windows jest Avanti i myślę, że najbliżej Linuksa jest linia poleceń avconv lub interfejs użytkownika taki jak WinFF lub ConvertMe ... może w ostateczności możesz spróbować Avanti w Wine.
Richard

Odpowiedzi:


52

Jeśli wolisz wiersz poleceń, możesz użyć ffmpeg(lub handbrake-cli).

MP4

Zakładając, że używasz najnowszej wersji ffmpeg:

ffmpeg -i input -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k \
-movflags +faststart -vf scale=-2:720,format=yuv420p output.mp4
  • -crf: Jakość. Zakres jest logarytmiczny od 0 (bezstratny) do 51 (najgorsza jakość). Domyślnie jest 23. Subiektywny rozsądny zakres to ~ 18-28 lub więcej. Użyj najwyższej wartości, która nadal zapewnia akceptowalną jakość. Jeśli ponownie kodujesz niepraktycznie duże dane wejściowe do przesłania do YouTube lub podobnego, spróbuj wartości 17 lub 18, ponieważ te usługi wideo i tak zostaną ponownie zakodowane.

  • -preset: Szybkość kodowania. Wolniejsze ustawienie wstępne zapewnia lepszą kompresję (jakość według rozmiaru pliku), ale jest wolniejsze. Użyj najwolniejszej cierpliwości: ultraszybkiej, superszybkiej, bardzo szybkiej, szybkiej, szybkiej, średniej (domyślnie), wolnej, wolniejszej, bardzo wolnej.

  • -movflags +faststart: Umożliwia odtwarzanie wideo przed jego całkowitym pobraniem w przypadku stopniowego pobierania. Przydatne, jeśli hostujesz wideo, w przeciwnym razie zbędne, jeśli zostanie przesłane do usługi wideo, takiej jak YouTube.

  • -vf scale=-2:720,format=yuv420p: A filtergraph stosując skalę i Format filtry wideo. Skaluj do wysokości 720 pikseli i automatycznie wybierz szerokość, która zachowa proporcje, a następnie upewnij się, że format pikseli jest zgodny z głupimi odtwarzaczami.

  • -b:a 128k: Szybkość transmisji audio. Jeśli twój ffmpegjest nieaktualny, musisz dodać, -strict experimentalaby użyć -c:a aac.

MOV

Ponieważ pliki MOV i MP4 prawdopodobnie zawierają te same formaty wideo i audio, możesz zakodować MP4 i utworzyć MOV poprzez ponowne zmiksowanie (w trybie kopiowania strumieniowego ) zamiast ponownego kodowania:

ffmpeg -i input.mp4 -codec copy output.mov

WMV

FFmpeg obsługuje tylko WMV 7 i 8. Nie znam kodera open source dla wersji 9.

$ ffmpeg -encoders | grep -i windows
[...]
 V..... = Video
 A..... = Audio
 ------
 V..... wmv1                 Windows Media Video 7
 V..... wmv2                 Windows Media Video 8
 A..... wmav1                Windows Media Audio 1
 A..... wmav2                Windows Media Audio 2

Ponieważ nie znam tych koderów, mogę podać tylko niesprawdzony przykład:

ffmpeg -i input -c:v wmv2 -b:v 1024k -c:a wmav2 -b:a 192k output.wmv

Pierwsze ffmpeg

Możesz pobrać kompilację ffmpeg na Linuksa lub postępować zgodnie ze szczegółowymi instrukcjami kompilacji ffmpeg, aby dostosować kompilację.

Używanie bash „for loop”, aby wykonać kodowanie wsadowe

Aby zakodować wszystkie filmy w katalogu:

$ mkdir encoded
$ for f in *.avi; do ffmpeg -i "$f" -c:v libx264 -crf 23 -preset medium \
  -c:a aac -b:a 128k -movflags +faststart -vf scale=-2:720,format=yuv420p \
  "encoded/${f%.avi}.mp4"; done

Zobacz także


5

Wypróbuj HandBrake .

HandBrake to narzędzie do konwersji wideo z niemal dowolnego formatu na wybrane nowoczesne, szeroko obsługiwane kodeki. Aby zainstalować, wystarczy nacisnąć Ctrl+ Alt+ Tna klawiaturze, aby otworzyć Terminal. Kiedy się otworzy, uruchom poniższe polecenia:

sudo add-apt-repository ppa:stebbins/handbrake-releases
sudo apt-get update
sudo apt-get install handbrake
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.