<视频>标签拒绝播放mp4视频 [英] <video> tag refuses to play mp4 video

查看:555
本文介绍了<视频>标签拒绝播放mp4视频的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





我已经使用 ffmpeg 转换它:

  ffmpeg -i P6135199.MOV -vcodec libx264 -acodec aac helios.mp4 

FFMPEG输出:

 
[libx264 @ 0x22ac340]使用cpu功能:MMX2 SSE2Fast SSSE3 SSE4.2
[ libx264 @ 0x22ac340] profile高4:2:2,级别1.2,4:2:2 8位
[libx264 @ 0x22ac340] 264 - 内核142 r2455 021c0dc - H.264 / MPEG-4 AVC编解码器 - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options:cabac = 1 ref = 3 deblock = 1:0:0 analyze = 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 sliceed_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
输出#0,mp4,到'helios。 mp4':
元数据:
comment-eng:OLYMPUS DIGITAL CAMERA
评论:OLYMPUS DIGITAL CAMERA
编码器:Lavf56.15.102
流#0:0(eng) :视频:h264(libx264)([33] [0] [0] [0] / 0x0021),yuvj422p(pc),320x240,q = -1--1,15 fps,15360 tbn,15 tbc
元数据:
creation_time:2008-06-13 10:47:16
编码器:Lavc56.13.100 libx264
流映射:
流#0:0 - > #0:0(mjpeg(native) - > h264(libx264))
按[q]停止,[?]寻求帮助
frame = 240 fps = 124 q = -1.0 Lsize = 906 kB时间= 00:00:15.86比特率= 467.7kbits / s
视频:902kB音频:0kB字幕:0kB其他流:0kB全局头文件:0kB多路复用开销:0.409100%
[libx264 @ 0x22ac340] 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]连续的B帧: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%直接:12.2%跳过:30.9%L0:37.2%L1:38.2%BI:24.5%
[libx264 @ 0x22ac340] 8x8变换内:80.8%inter:71.9%
[libx264 @ 0x22ac340]编码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,h d,vl,hu:15%14%39%6%3%4%3%6%12%
[libx264 @ 0x22ac340] i4 v,h,dc,ddl,ddr,vr,hd, hu:25%11%18%8%7%7%8%8%8%
[libx264 @ 0x22ac340] i8c dc,h,v,p:63%7%20%10%
[libx264 @ 0x22ac340]加权P帧:Y:5.7%UV:0.8%
[libx264 @ 0x22ac340] ref P L0:51.4%18.3%20.6%9.3%0.4%
[libx264 @ 0x22ac340]参考B L0:80.8%19.2%
[libx264 @ 0x22ac340] kb / s:461.52

我尝试嵌入如下:

 < video src =helios.mp4controls>获取更好的浏览器< / video> 

但是,Chrome不播放视频,只提供下载(与之前相同)我转换了视频)。 Firefox有同样的问题。



我已经测试过,其他mp4文件(从我的手机)播放很好。



有什么问题?我转换错了吗?

解决方案

这是一个像素格式。输入文件的像素格式为 yuvj422p ,但libx264不支持此格式。所以你必须选择另一个。



命令

  ffmpeg -i P6135199.MOV -vcodec libx264 -pix_fmt yuv420p helios.mp4 

做这个工作。



通过这种方式,您可以在Chrome和Safari中播放视频,但对于Firefox 你需要一个插件


I have a video I want to embed using the html5 video tag:

I've converted it using ffmpeg:

ffmpeg -i P6135199.MOV -vcodec libx264 -acodec aac helios.mp4

FFMPEG output:

[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

And I try to embed it as follows:

<video src="helios.mp4" controls>Get a better browser!</video>

However, Chrome doesn't play the video, only offers to download it (same as it did before I converted the video). Firefox has the same problem.

I've tested and other mp4 files (from my phone) play just fine.

What's the problem? Did I convert it wrong?

解决方案

It's a problem of pixel format. The pixel format of the input file is yuvj422p but this format is not supported by libx264. So you have to choose another one. You can take yuv420p which works on old players.

The command

ffmpeg -i P6135199.MOV -vcodec libx264 -pix_fmt yuv420p helios.mp4

does the job.

With this you can play your video in Chrome and Safari but for Firefox you need a plugin.

这篇关于&lt;视频&GT;标签拒绝播放mp4视频的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆