我想要使用html5视频标记嵌入视频:
我已使用ffmpeg
转换了它:
ffmpeg -i P6135199.MOV -vcodec libx264 -acodec aac helios.mp4
FFMPEG输出:
[libx264 @ 0x22ac340] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 [libx264 @ 0x22ac340] profile High 4:2:2, level 1.2, 4:2:2 8-bit [libx264 @ 0x22ac340] 264 - core 142 r2455 021c0dc - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - 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=6 lookahead_threads=1 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=15 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 'helios.mp4': Metadata: comment-eng : OLYMPUS DIGITAL CAMERA comment : OLYMPUS DIGITAL CAMERA encoder : Lavf56.15.102 Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuvj422p(pc), 320x240, q=-1--1, 15 fps, 15360 tbn, 15 tbc (default) Metadata: creation_time : 2008-06-13 10:47:16 encoder : Lavc56.13.100 libx264 Stream mapping: Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264)) Press [q] to stop, [?] for help frame= 240 fps=124 q=-1.0 Lsize= 906kB time=00:00:15.86 bitrate= 467.7kbits/s video:902kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.409100% [libx264 @ 0x22ac340] frame I:1 Avg QP:23.71 size: 7960 [libx264 @ 0x22ac340] frame P:123 Avg QP:23.85 size: 5255 [libx264 @ 0x22ac340] frame B:116 Avg QP:25.41 size: 2317 [libx264 @ 0x22ac340] consecutive B-frames: 3.3% 96.7% 0.0% 0.0% [libx264 @ 0x22ac340] mb I I16..4: 15.7% 69.0% 15.3% [libx264 @ 0x22ac340] mb P I16..4: 2.2% 13.4% 0.8% P16..4: 43.8% 23.1% 14.0% 0.0% 0.0% skip: 2.8% [libx264 @ 0x22ac340] mb B I16..4: 0.3% 1.3% 0.1% B16..8: 42.4% 9.9% 3.0% direct:12.2% skip:30.9% L0:37.2% L1:38.2% BI:24.5% [libx264 @ 0x22ac340] 8x8 transform intra:80.8% inter:71.9% [libx264 @ 0x22ac340] coded y,uvDC,uvAC intra: 76.7% 96.8% 49.7% inter: 37.8% 60.9% 5.1% [libx264 @ 0x22ac340] i16 v,h,dc,p: 39% 4% 8% 49% [libx264 @ 0x22ac340] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 15% 14% 39% 6% 3% 4% 3% 6% 12% [libx264 @ 0x22ac340] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25% 11% 18% 8% 7% 7% 8% 8% 8% [libx264 @ 0x22ac340] i8c dc,h,v,p: 63% 7% 20% 10% [libx264 @ 0x22ac340] Weighted P-Frames: Y:5.7% UV:0.8% [libx264 @ 0x22ac340] ref P L0: 51.4% 18.3% 20.6% 9.3% 0.4% [libx264 @ 0x22ac340] ref B L0: 80.8% 19.2% [libx264 @ 0x22ac340] kb/s:461.52
我尝试将其嵌入如下:
<video src="helios.mp4" controls>Get a better browser!</video>
但是,Chrome无法播放视频,只提供下载视频(与转换视频之前相同)。 Firefox也存在同样的问题。
我已经过测试,并且其他mp4文件(来自我的手机)播放得很好。
问题是什么?我转错了吗?
答案 0 :(得分:2)
这是pixel format的问题。输入文件的像素格式为 yuvj422p ,但libx264不支持此格式。所以你必须选择另一个。您可以使用适用于老玩家的 yuv420p 。
命令
ffmpeg -i P6135199.MOV -vcodec libx264 -pix_fmt yuv420p helios.mp4
完成这项工作。
通过此功能,您可以在Chrome和Safari中播放视频,但适用于Firefox you need a plugin。