2013-01-20 10 views
28

Próbuję kodowania sekwencji obrazów za pomocą następującego polecenia:kodujący czytelny film przez QuickTime przy użyciu FFMPEG

ffmpeg.exe -i %d.png -f mp4 -vcodec h264 test.mp4 

Jednak QuickTime nie udało się otworzyć ten plik lub czasami zagrać czarny film, podczas tego filmu gra świetnie w odtwarzaczu VLC. Wszelkie sugestie, jak sprawić, by grała dobrze w QuickTime?

Oto wynik:

ffmpeg.exe -i %d.png -f mp4 -vcodec libx264 13.mp4 
ffmpeg version N-49044-g89afa63 Copyright (c) 2000-2013 the FFmpeg developers 
    built on Jan 19 2013 20:36:06 with gcc 4.7.2 (GCC) 
    configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av 
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab 
le-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libg 
sm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --e 
nable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --e 
nable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --en 
able-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable 
-libxavs --enable-libxvid --enable-zlib --enable-filter=frei0r 
    libavutil  52. 15.100/52. 15.100 
    libavcodec  54. 89.100/54. 89.100 
    libavformat 54. 61.101/54. 61.101 
    libavdevice 54. 3.102/54. 3.102 
    libavfilter  3. 32.101/3. 32.101 
    libswscale  2. 2.100/2. 2.100 
    libswresample 0. 17.102/0. 17.102 
    libpostproc 52. 2.100/52. 2.100 
[image2 @ 0221b940] max_analyze_duration 5000000 reached at 5000000 microseconds 

Input #0, image2, from '%d.png': 
    Duration: 00:01:19.36, start: 0.000000, bitrate: N/A 
    Stream #0:0: Video: png, rgb24, 639x480, 25 fps, 25 tbr, 25 tbn, 25 tbc 
[libx264 @ 0221edc0] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE 
4.2 AVX 
[libx264 @ 0221edc0] profile High 4:4:4 Predictive, level 3.0, 4:4:4 8-bit 
[libx264 @ 0221edc0] 264 - core 129 r2230 1cffe9f - H.264/MPEG-4 AVC codec - Cop 
yleft 2003-2012 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deb 
lock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 m 
e_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chro 
ma_qp_offset=4 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 in 
terlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b 
_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecu 
t=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 
qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 
Output #0, mp4, to '13.mp4': 
    Metadata: 
    encoder   : Lavf54.61.101 
    Stream #0:0: Video: h264 ([33][0][0][0]/0x0021), yuv444p, 639x480, q=-1--1 
, 12800 tbn, 25 tbc 
Stream mapping: 
    Stream #0:0 -> #0:0 (png -> libx264) 
Press [q] to stop, [?] for help 
frame= 76 fps=0.0 q=28.0 size=  3kB time=00:00:00.96 bitrate= 22.3kbits/ 
frame= 156 fps=155 q=28.0 size=  7kB time=00:00:04.16 bitrate= 14.7kbits/ 
frame= 219 fps=145 q=28.0 size=  12kB time=00:00:06.68 bitrate= 14.1kbits/ 
frame= 283 fps=141 q=28.0 size=  16kB time=00:00:09.24 bitrate= 14.2kbits/ 
frame= 352 fps=140 q=28.0 size=  25kB time=00:00:12.00 bitrate= 17.4kbits/ 
+0

Jaka wersja ffmpeg masz? Czy możesz wysłać całą odpowiedź do tego polecenia? – d33pika

Odpowiedz

61

Spróbuj zmienić format pikseli: -pix_fmt yuv420p

+3

działa! (Musiałem również zmienić kolejność obrazów wejściowych, aby uzyskać szerokość i wysokość) Oto pełna linia: ffmpeg.exe -i% d.png -f mp4 -vcodec libx264 -pix_fmt yuv420p test.mp4 – itamarb

+0

Wysoki 4: 4: 4 profil predykcyjny nie jest obsługiwany przez QuickTime (nie ma takiej implementacji dekodera dla QuickTime). Przeczytałem o [perian] (http://perian.org/), wtyczce QuickTime, która używa libavcodec do dekodowania. Zakładałem, że będzie on obsługiwał wysoki profil 4: 4: 4, ale tak nie jest. Wszelkie sugestie dotyczące wtyczki QuickTime? P.S: VLC lub MPlayer mogą odtwarzać, ponieważ mają natywną implementację dla dekodera. Potrzebuję QuickTime, aby móc odtworzyć wideo. –

+0

Dziękuję, dobry panie! Spędziłem 2 godziny, aby to znaleźć. – homm

Powiązane problemy