<video>标签拒绝播放mp4视频</video>

时间:2014-12-27 18:22:18

标签: html html5 video ffmpeg

我想要使用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文件(来自我的手机)播放得很好

问题是什么?我转错了吗?

1 个答案:

答案 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