Muszę przekonwertować 76 plików mp4 na webm na potrzeby strony internetowej korzystającej z filmów HTML5. Mówię o 10 GB plików mp4 ... Wiem, że mogę po prostu poprosić ffmpeg o zrobienie tego za pomocą:
ffmpeg -i input_file.mp4 output_file.webm
Oczywiście zrobię to rekurencyjnie przez:
find ./ -name '*.mp4' -exec bash -c 'ffmpeg -i "$0" "${0%%.mp4}.webm"' {} \;
Próbowałem nawet czegoś, co znalazłem gdzieś w Internecie:
ffmpeg -i input_file.mp4 -cpu-used 4 -threads 8 output_file.webm
Ale chodzi o to, że nie zajmie mi to mniej niż tydzień !!! Co ja robię źle? Czy jest jakiś sposób, aby to przyspieszyć? Czy w przypadku konwersji na ogg uzyskam prędkość? Proszę pomóż!!!
Odpowiedzi:
Transkodowanie wideo wymaga czasu. Wymaga również znacznie większej wiedzy na temat parametrów kodowania; Domyślne ustawienia ffmpeg raczej nie będą dla ciebie odpowiednie i mogą nawet nie utworzyć użytecznego pliku wyjściowego.
Oto początek:
http://blog.pcode.nl/2010/10/17/encoding-webm-using-ffmpeg/
Te ustawienia będą kodować do określonej średniej szybkości transmisji (szybkość transmisji wideo 3900 kbitów), więc będą występowały skoki prędkości transmisji.
MP4 i WebM używają różnych kodeków wideo, więc nie ma skrótu; wideo musi być transkodowane.
Szybkość kodowania będzie się znacznie różnić w zależności od rozmiaru klatki, liczby klatek na sekundę i ustawień jakości. W przypadku kodowania 720p możesz oczekiwać, że będziesz w stanie kodować mniej więcej 1: 1 (tj. 10 godzin wideo w 10 godzin) na procesorze z ostatnich kilku lat. Jeśli wykonujesz dwuprzebiegowe kodowanie ABR, jak w przykładzie podanym w linku, prawie dwukrotnie.
źródło
Podwoić to czy o połowę przeciąć? Więc to ślepy zaułek .. Nie będę grał bitrate'ami, nigdy nie wiem, czego mogę się spodziewać po jakości lub rozmiarze .. Myślę, że pozostanę przy tym i utrzymam klienta do zakończenia konwersji ...
Zamieszczam go dla przyszłych użytkowników, właściwie zyskałem na szybkości, ale mój procesor działa jak diabli: od 60 do 80% na każdym rdzeniu! Teraz myślę, że zajmie to mniej czasu: 3 dni zamiast 6 lub 7 .. Mam nadzieję, że to nie zepsuje .. ^ _ ^
W każdym razie dziękuję człowieku!
Edycja: Usunięto przełącznik -sameq po komentarzach od LordNeckbeard i neon_overload -sameq nie oznacza tej samej „jakości”
źródło
-sameq
nie oznacza „tej samej jakości” i zostało usunięte wcześniej. Nie używaj tego. Zobacz link w moim komentarzu do twojego pytania, aby uzyskać szczegółowe instrukcje kodowania libvpx.