2012-05-17 13 views
5

filmy Źródło: http://www.artworknotavailable.com/tmp/ffmpegtestDlaczego ffmpeg zgłasza różne czasy trwania?

Quicktime Pro 7.7.1 Inspector (Win 7) informuje, co następuje dla pliku 2398.mov

4.19MB
H.264
Movie FPS: 23.98
Data rate: 2,35 Mbit/s
trwania 14:97

FFmpeg podaje następujące (patrz pełne informacje o wersji FFmpeg u dołu słupka)

ffmpeg -i 2398.mov

Wydaje się strumień 1 kodeków szybkości klatek różni się od szybkości ramki Pojemnik 47952,00 (47952/1) ->> 23,98 (2997/125)
Wejście # 0, MOV, MP4, M4A, 3GP, 3G2, MJ2 od '2398.mov':
Metadane:
major_brand: qt

mniejszy _version: 537199360
compatible_brands: qt
Czas trwania: 00: 00: 15.97, start: 0.-963005, bitrate: 2210 kb/s
Stream # 0.0 (eng): Audio: AAC, 48000 Hz, stereo, s16 152 kb/s
strumień # 0,1 (pl): Film: H264 yuv420p, 848x480, 2060 kb/s, 23,98 FPS 23,98 TBR 23976 TBN, 47952 potwierdzenia

jeden drugi dłuższy niż to, co zgłasza Quicktime.

Jako eksperyment I eksportowanego pliku z QuickTime Pro stosując następujące ustawienia:

Frame Rate: Obecny
klatek kluczowych: co 24 klatek
Rama zamianom Na
Jakość: Wysoka
Kodowanie Best
Szybkość transmisji: Automatycznie
Zoptymalizowany do pobrania
Plik wyjściowy: qtime-export-2398.mov

Quicktime Inspektor informuje:

5,62 MB
H.264
Movie FPS: 23.98
Data Rate: 3.15 Mbit/s
Czas trwania 14:97

FFmpeg teraz raportów:

ffmpeg -i qtime-export-2398.mov

Wydaje się strumień 1 kodek frame rate różni się od pojemnika Liczba klatek na sekundę: 1200,00 (1200/1) -> 23,98 (24000/1001)
Dane wejściowe # 0, mov, mp4, m4a, 3gp, 3g2, mj2, od 'qtime-export-2398.mov':
Metadane:
major_brand: qt
minor_version: 537199360
compatible_brands: qt
Długość: 00: 00: 14,96, start: 0.000000, przepływność: 3153 kb/s
strumień # 0.0 (pl): Dźwięk: pcm_s16le, 44100 Hz, 2 kanały, S16, 1411 kb/s
strumień # 0,1 (pl): Film: H264 yuv420p, 678x384 1738 kb/s, 23,98 FPS 23,98 TBR, 600 TBN, 1200 potwierdzenia

FFmpega raport o czasie trwania zmienił się z 15,97 na 14,96 (mogę żyć z .1)

Czy ten czas trwania jest obliczany na podstawie szybkości transmisji?

Muszę dokładnie raportować czas trwania przesłanych filmów, a także przekonwertować je na FLV. Czy ktoś może mi powiedzieć, co się tutaj dzieje i jak mogę to obejść?

Informacja ffmpeg poniżej. Próbowałem tego na 2 całkowicie różnych instalacjach/wersjach ffmpeg. Ten sam wynik.

FFmpeg wersja 0.6.5, Copyright (c) 2000-2010 deweloperzy FFmpeg zbudowany na 29 stycznia 2012 23:55:02 z gcc 4.1.2 20.080.704 (Red Hat 4.1.2-51) konfiguracyjnym : --prefix =/usr --libdir =/usr/lib64 --shlibdir =/usr/lib64 --mandir =/usr/share/man --incdir =/usr/include --disable-avisynth --extra- cflags = '- O2 -g -pipe -Wall -Wp, -D_FORTIFY_SOURCE = 2 -wyjątki -fstack-protector --param = ssp-buffer-size = 4 -m64 -mtune = ogólne -fPIC' --enable-avfilter - -enable-avfilter-lavf --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-gpl --able-nonfree --able-postproc --able-pthreads --enable-shared --enable-swscale --enable-vdpau - -enable-version3 --enable-x11grab libavutil 50.15. 1/50,15. 1 libavcodec 52.72. 2/52,72. 2 libavformat 52.64. 2/52,64. 2 libavdevice 52. 2. 0/52. 2. 0 libavfilter 1.19. 0/1,19. 0 libswscale 0.11. 0/0,11. 0 libpostproc 51. 2. 0/51. 2. 0 FFmpeg 0.6.5 libavutil 50.15. 1/50,15. 1 libavcodec 52.72. 2/52,72. 2 libavformat 52.64. 2/52,64. 2 libavdevice 52. 2. 0/52. 2. 0 libavfilter 1.19. 0/1,19. 0 libswscale 0.11. 0/0,11. 0 libpostproc 51. 2. 0/51. 2. 0

+0

Właśnie testowany z kilkoma dodatkowymi wersjami eksportu Quicktime. Wygląda na to, że jeśli wybierzesz jakąkolwiek liczbę klatek na sekundę lub bitrate do eksportu, ffmpeg wciąż ma znacznie większą szansę na zgłoszenie dokładniejszego czasu trwania. Czy Quicktime "naprawia" coś? Pojemnik? – kenitech

Odpowiedz

3

Właśnie obejrzałem pierwszy plik i oto dlaczego podają inny czas.

Quicktime zbiera wartość czasu trwania z "nagłówka filmu". Wartości tutaj wynoszą 8981/600 = 14,97 sekund.

FFmpeg pobiera wartość czasu trwania z "nagłówka multimediów", który wynosi 383000/23976 = 15,97 sekund dla wideo i 719872/48000 = 15,00 dla dźwięku.

Edycja: ... i odpowiedź na inne pytanie: Czy ktoś może mi powiedzieć, jak mogę to obejść? Wyobrażam sobie, że używasz ffmpeg do konwersji plików do .FLV? Jeśli tak, trzymałbym się tego, co melduje ffmpeg.

+0

Dzięki za informacje. jaki jest najlepszy sposób na sprawdzenie nagłówka filmu pliku QT? – kenitech

+0

Dowiedziałem się również, że jeśli użyję parametru "-ss" i zastosuję ujemny czas rozpoczęcia zgłaszany przez ffmpeg, mój plik jest bliższy temu, co uważam za prawidłowy czas, a każdy dźwięk, który był niezsynchronizowany, wydaje się być zostać rozwiązany. Na przykład: ffmpeg donosi input.mov wideo start: 0.-963005 Czas trwania: 00: 00: 15.97 ffmpeg -i input.mov -ar 22050 -AB 65536 -s 320x240 -b 524288 R12 - ss 00: 00: 00.963005 output.flv Wynik: Czas trwania: 00: 00: 15.00 Przepraszam, pole komentarza stackoverflow doprowadza mnie do szału. – kenitech

+0

Nie wiem, jaka jest najlepsza metoda. Używam niestandardowej biblioteki własnej, którą zbudowałem od zera. Jeśli chodzi o problem z synchronizacją, możesz również rzucić okiem na parametr -async i zobaczyć, czy to pomaga. Myślę, że raportowany czas trwania ffmpeg może być poprawny dla tego pliku. Jeśli umieścisz plik na osi czasu, która nie jest oparta na składnikach Quicktime, takich jak Adobe Premiere Pro, raportowany czas trwania to 15 sekund i 23 ramki. – BlueVoodoo

1

FFmpeg pokazuje "Czas trwania: 00: 00: 14,96" tutaj, proszę zrozumieć, że twoja wersja FFmpeg jest starożytna (i ma wiele znanych błędów i regresji), zobacz http://ffmpeg.org/download.html, aby uzyskać informacje o tym, jak uzyskać aktualną głowicę Git, która jest zawsze zalecane.

+0

Uważam, że wypróbowałeś drugi plik, a nie pierwszy? – BlueVoodoo

+0

Dzięki za informację cehoyos. Niestety, podobnie jak wielu ludzi, aktualizacja nie jest tak prosta, jak można mieć nadzieję z obecną infrastrukturą. Obecna wersja, którą mamy w produkcji, nie ma nawet numeru wersji. Przykłady, których używam do przetestowania tutaj, pochodzą z osobistego konta hostingu udostępnionego przez witrynę site5.com. – kenitech

Powiązane problemy