2012-10-17 12 views
5

Chcę przekonwertować z formatu .flv na .h264.Jak przekonwertować wideo .flv do formatu .h264 za pomocą FFmpeg?

Problem: Zrobiłem konwersję z formatu FLV na format H264, ale mój przekonwertowany plik wideo (.h264) działa tak szybko (tak jak kliknęliśmy przycisk szybkiego przewijania do przodu).

użyłem następującego polecenia:

ffmpeg -i example.flv -sameq -vcodec libx264 -vpre default -ar 22050 output.h264 
+1

Zaktualizuj swoje pytanie, dołączając pełne dane wyjściowe konsoli. Nie używaj '-sameq': [thisq nie oznacza" tej samej jakości "] (http://superuser.com/a/478550/110524). Pytania dotyczące użycia FFmpeg lepiej pasują do superuser.com. – LordNeckbeard

Odpowiedz

13

Rozwiązanie polega na tym, że potrzebny jest format pojemnika. Surowy h.264 nie ma żadnych informacji na temat czasu dla filmu, dlatego Twój odtwarzacz gra bardzo szybko.

Także twoje polecenie jest popieprzone. Czy chcesz uzyskać dźwięk w swoim wyjściu, czy nie? Jeśli tak, musisz określić format kontenera, który będzie miał zarówno dźwięk, jak i wideo.

Albo zmienić swoje wyjście do mp4

ffmpeg -i input_file -c:a copy -c:v libx264 -profile:v baseline out.mp4 

lub innego pojemnika. Jeśli chcesz tylko strumień wideo, usuń opcje audio i dodaj .

Jeśli chcesz użyć dźwięku AAC zamiast cokolwiek plik FLV posiada:

ffmpeg -i input_file -c:a aac -strict -2 -b:a 128k -c:v libx264 -profile:v baseline out.mp4 

Jeśli ffmpeg nie ma -c lub -profile opcji aktualizacji do nowszej wersji.

+0

'-vpre' nie istnieje w żadnej najnowszej wersji FFmpeg i powinno się go unikać. Użyj '-profile: v', aby określić profile i' -preset slow' itd. Do kodowania ustawień. – slhck

+0

@slhck, dzięki za wskaźnik. – av501

+0

@ av501 następujące polecenie działa dobrze, aby utworzyć wideo MP4 w formacie h.264, ale dźwięk nie działa w IPhone (działa w telefonach z systemem Android) ffmpeg -i example.flv -r 25 -sameq -ab 128kb -vcodec libx264 - vpre default -s 320x240 -b 768kb -ar 44100 -acodec copy output.mp4 i kiedy użyłem acodec = aac, ffmpeg pokaż mi następującą wiadomość "encoder" aac 'jest eksperymentalna i może dawać złe wyniki Add' -strict experimental ' jeśli chcesz go użyć. " –

-2

Kluczowym słowem magia szukasz jest „klatek na sekundę”.

Dodaj i "-r 30" dla 30 fps na wyjściu wideo, na przykład.

Sebastian

+0

byłem coraz pkt błędach po filtrach BRAKUJE Brak wartości pkt z demuxera do wykorzystania na ramie!,?% 0 0 pkt po filtrach BRAKUJE Brak wartości pkt z demuxera do wykorzystania na ramie!,?% 0 0 pkt po filtrach MISSING Brak wartości pts z demuxera do użycia dla frame!,?% 0 0 –

+0

Użyłem -r 30 w moim poleceniu :: ffmpeg -i example.flv -r 30 -sameq -vcodec libx264 -vpre default -ar wyjście 22050. h264, ale wynik nie ulegnie zmianie, wideo nadal działa szybko naprzód –

+0

czy próbowałeś z -r 10? –

Powiązane problemy