Lorsque j'essaie de convertir un fichier webm en mp4, la sortie est très très agitée et il semble que ffmpeg ait perdu de nombreuses images.
J'ai utilisé les commandes suivantes pour convertir
ffmpeg -i movie.webm movie.mp4
ffmpeg -i movie.webm -vcodec libx264 movie.mp4
ffmpeg -i movie.webm -vcodec libx264 -qscale 0 movie.mp4
Tous ont le même problème. Lorsque j'utilise ffprobe, il semble afficher les images plus ou moins correctement.
PDATE:
built on Jun 14 2013 14:31:50 with gcc 4.7 (Ubuntu/Linaro 4.7.2-2ubuntu1)
configuration: --prefix=/home/user2/ffmpeg_build --extra-cflags=-I/home/user2/ffmpeg_build/include --extra-ldflags=-L/home/pavan4/ffmpeg_build/lib --bindir=/home/pavan4/bin --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab
libavutil 52. 35.101 / 52. 35.101
libavcodec 55. 16.100 / 55. 16.100
libavformat 55. 8.102 / 55. 8.102
libavdevice 55. 2.100 / 55. 2.100
libavfilter 3. 77.101 / 3. 77.101
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
Use -h to get full help or, even better, run 'man ffmpeg'
Input #0, matroska,webm, from '1.webm':
Duration: 00:00:10.64, start: 0.000000, bitrate: 5024 kb/s
Stream #0:0(eng): Video: vp8, yuv420p, 1280x720, SAR 1:1 DAR 16:9, 1k fps, 1k tbr, 1k tbn, 1k tbc (default)
[libx264 @ 0x1d966a0] using SAR=1/1
[libx264 @ 0x1d966a0] MB rate (3600000) > level limit (2073600)
[libx264 @ 0x1d966a0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0x1d966a0] profile High, level 5.2
[libx264 @ 0x1d966a0] 264 - core 133 r2 a3ac64b - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=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 scenecut=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 '1_conv4.mp4':
Metadata:
encoder : Lavf55.8.102
Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 16k tbn, 1k tbc (default)
Stream mapping:
Stream #0:0 -> #0:0 (vp8 -> libx264)
Press [q] to stop, [?] for help
frame= 168 fps=0.0 q=33.0 size= 62kB time=00:00:00.11 bitrate=4606.0kbits/frame= 293 fps=230 q=33.0 size= 138kB time=00:00:00.23 bitrate=4809.7kbits/
video:5620kB audio:0kB subtitle:0 global headers:0kB muxing overhead 2.212461%
[libx264 @ 0x1d966a0] frame I:46 Avg QP:18.50 size: 39849
[libx264 @ 0x1d966a0] frame P:2940 Avg QP:18.27 size: 1222
[libx264 @ 0x1d966a0] frame B:7651 Avg QP:17.68 size: 43
[libx264 @ 0x1d966a0] consecutive B-frames: 4.0% 0.2% 0.3% 95.5%
[libx264 @ 0x1d966a0] mb I I16..4: 19.9% 63.2% 16.9%
[libx264 @ 0x1d966a0] mb P I16..4: 0.2% 0.5% 0.1% P16..4: 3.9% 1.1% 0.6% 0.0% 0.0% skip:93.6%
[libx264 @ 0x1d966a0] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.2% 0.0% 0.0% direct: 0.0% skip:99.8% L0:25.1% L1:74.9% BI: 0.0%
[libx264 @ 0x1d966a0] 8x8 transform intra:63.6% inter:75.9%
[libx264 @ 0x1d966a0] coded y,uvDC,uvAC intra: 61.5% 53.4% 24.4% inter: 0.5% 0.5% 0.0%
[libx264 @ 0x1d966a0] i16 v,h,dc,p: 52% 19% 19% 11%
[libx264 @ 0x1d966a0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 32% 17% 13% 4% 6% 9% 5% 8% 6%
[libx264 @ 0x1d966a0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 30% 18% 14% 5% 8% 10% 6% 6% 3%
[libx264 @ 0x1d966a0] i8c dc,h,v,p: 55% 17% 24% 4%
[libx264 @ 0x1d966a0] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x1d966a0] ref P L0: 82.5% 13.2% 4.0% 0.3%
[libx264 @ 0x1d966a0] ref B L0: 60.2% 39.2% 0.6%
[libx264 @ 0x1d966a0] ref B L1: 98.5% 1.5%
[libx264 @ 0x1d966a0] kb/s:4327.77
Comme votre fichier d'entrée rapporte une valeur de fréquence d'images étrange 1k fps
Provenant des valeurs tbs et tbr (regardez ici pour leur définition )
le codeur génère un résultat différent, 16k tbn, 1k tbc (default)
Donc en appelant:
ffmpeg -fflags +genpts -i 1.webm -r 24 1.mp4
Vous configurez ffmpeg pour générer de nouveaux points (a/k.a Presentation TimeStamp) pour chaque image et vous définissez le taux de trame cible sur 24.
Ainsi, vos informations de fichier de sortie mp4 (ffmpeg -i ....) changent de
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 4327 kb/s, 1000.09 fps, 1k tbr, 16k tbn, 2k tbc
à
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1670 kb/s, 24 fps, 24 tbr, 12288 tbn, 48 tbc