当前位置: 首页 > 知识库问答 >
问题:

HTML5视频Chrome-FFMPEG-MP4在除Chrome以外的所有版本中工作

况明贤
2023-03-14

我已经成功地使用ffmpeg将一个文件编码到.mp4,这将在所有测试的设备(Safari on PC,IE on PC,Android Browser、Andriod Video Player和Safari iPad)中播放,但Chrome除外。

作为一种解决办法,我曾计划简单地将.ogg源代码列在.mp4源代码之前,这样chrome就可以播放.ogg源代码,而不会看到.mp4源代码,然而,我遇到了这里提到的问题。

基本上,我想要的是适当的ffmpeg命令,它将对一个.mp4视频进行编码,使其达到在Chrome中播放的标准--当然,在前面提到的任何其他平台上都不会失去播放功能。

我试过几种组合,比如:

ffmpeg -i [filename].wmv -vprofile baseline -level 30 -vf scale=640:-1 -movflags faststart [filename].mp4

但尚未找到中奖者。

编辑:我尝试了:

ffmpeg_new -i [filename].wmv -strict experimental –acodec libvo_aacenc -ac 2 -ab 160k -vcodec libx264 -vf scale=640:-1 -pix_fmt yuv420p -preset slow -profile:v baseline -level 30 -maxrate 10000000 -bufsize 10000000 -b 1200k -f mp4 -threads 0 [filename].mp4

下面是ffmpeg输出:

ffmpeg version N-54207-ge59fb3f Copyright (c) 2000-2013 the FFmpeg developers built on Jun 25 2013 21:55:00 with gcc 4.7.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-
amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --
enable-libxvid --enable-zlib
  libavutil      52. 37.101 / 52. 37.101
  libavcodec     55. 17.100 / 55. 17.100
  libavformat    55. 10.100 / 55. 10.100
  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
[asf @ 000000000254f9e0] Stream #0: not enough frames to estimate rate; consider
 increasing probesize
Guessed Channel Layout for  Input Stream #0.0 : stereo
Input #0, asf, from 'C:\vidtests\Wildlife.wmv':
  Metadata:
    SfOriginalFPS   : 299700
    WMFSDKVersion   : 11.0.6001.7000
    WMFSDKNeeded    : 0.0.0.0000
    comment         : Footage: Small World Productions, Inc; Tourism New Zealand
 | Producer: Gary F. Spradling | Music: Steve Ball
    title           : Wildlife in HD
    copyright       : © 2008 Microsoft Corporation
    IsVBR           : 0
    DeviceConformanceTemplate: AP@L3
  Duration: 00:00:30.09, start: 0.000000, bitrate: 6977 kb/s
    Stream #0:0(eng): Audio: wmav2 (a[1][0][0] / 0x0161), 44100 Hz, stereo, fltp
, 192 kb/s
    Stream #0:1(eng): Video: vc1 (Advanced) (WVC1 / 0x31435657), yuv420p, 1280x7
20, 5942 kb/s, 29.97 tbr, 1k tbn, 1k tbc
Please use -b:a or -b:v, -b is ambiguous
[libx264 @ 000000000264faa0] using cpu capabilities: MMX2 SSE2Fast SSSE3 Cache64

[libx264 @ 000000000264faa0] profile Constrained Baseline, level 3.0
[libx264 @ 000000000264faa0] 264 - core 133 r2334 a3ac64b - H.264/MPEG-4 AVC cod
ec - Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=0 r
ef=5 deblock=1:0:0 analyse=0x1:0x111 me=umh subme=8 psy=1 psy_rd=1.00:0.00 mixed
_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pski
p=1 chroma_qp_offset=-2 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 deci
mate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyi
nt=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=50 rc=abr mbtree=1
 bitrate=1200 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=10000
 vbv_bufsize=10000 nal_hrd=none ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'C:\vidtests\Wildlife_SE1.mp4':
  Metadata:
    SfOriginalFPS   : 299700
    WMFSDKVersion   : 11.0.6001.7000
    WMFSDKNeeded    : 0.0.0.0000
    comment         : Footage: Small World Productions, Inc; Tourism New Zealand
 | Producer: Gary F. Spradling | Music: Steve Ball
    title           : Wildlife in HD
    copyright       : © 2008 Microsoft Corporation
    IsVBR           : 0
    DeviceConformanceTemplate: AP@L3
    encoder         : Lavf55.10.100
    Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 6
40x360, q=-1--1, 1200 kb/s, 30k tbn, 29.97 tbc
    Stream #0:1(eng): Audio: aac (libvo_aacenc) ([64][0][0][0] / 0x0040), 44100
Hz, stereo, s16, 160 kb/s
Stream mapping:
  Stream #0:1 -> #0:0 (vc1 -> libx264)
  Stream #0:0 -> #0:1 (wmav2 -> libvo_aacenc)
Press [q] to stop, [?] for help
frame=   59 fps= 55 q=32.0 size=       0kB time=00:00:00.16 bitrate=   2.3kbits/
frame=   66 fps= 42 q=31.0 size=       0kB time=00:00:00.40 bitrate=   1.0kbits/
frame=   75 fps= 35 q=31.0 size=       0kB time=00:00:00.70 bitrate=   0.5kbits/
frame=   84 fps= 31 q=31.0 size=       0kB time=00:00:01.00 bitrate=   0.4kbits/
frame=   93 fps= 29 q=31.0 size=       0kB time=00:00:01.30 bitrate=   0.3kbits/
frame=  102 fps= 27 q=31.0 size=       0kB time=00:00:01.60 bitrate=   0.2kbits/
frame=  111 fps= 26 q=31.0 size=      38kB time=00:00:01.90 bitrate= 165.1kbits/
Queue input is backward in time
[mp4 @ 000000000264f2c0] Non-monotonous DTS in output stream 0:1; previous: 7616
, current: 7063; changing to 7617. This may result in incorrect timestamps in th
e output file.
frame=  120 fps= 25 q=31.0 size=     107kB time=00:00:02.20 bitrate= 397.7kbits/
frame=  128 fps= 24 q=31.0 size=     161kB time=00:00:02.46 bitrate= 534.1kbits/
frame=  137 fps= 23 q=31.0 size=     194kB time=00:00:02.76 bitrate= 572.6kbits/
frame=  145 fps= 23 q=31.0 size=     219kB time=00:00:03.03 bitrate= 592.1kbits/
frame=  153 fps= 22 q=31.0 size=     273kB time=00:00:03.30 bitrate= 677.8kbits/
frame=  162 fps= 22 q=31.0 size=     317kB time=00:00:03.60 bitrate= 720.8kbits/
frame=  170 fps= 21 q=31.0 size=     366kB time=00:00:03.87 bitrate= 775.2kbits/
frame=  177 fps= 21 q=31.0 size=     451kB time=00:00:04.10 bitrate= 900.2kbits/
frame=  193 fps= 21 q=31.0 size=     602kB time=00:00:04.63 bitrate=1062.7kbits/
frame=  208 fps= 22 q=30.0 size=     755kB time=00:00:05.13 bitrate=1204.2kbits/
frame=  219 fps= 22 q=30.0 size=     769kB time=00:00:05.50 bitrate=1143.6kbits/
frame=  228 fps= 21 q=30.0 size=     790kB time=00:00:05.80 bitrate=1114.5kbits/
frame=  234 fps= 21 q=31.0 size=     806kB time=00:00:06.00 bitrate=1098.7kbits/
frame=  243 fps= 21 q=31.0 size=     806kB time=00:00:06.30 bitrate=1046.4kbits/
frame=  251 fps= 21 q=31.0 size=     831kB time=00:00:06.57 bitrate=1035.6kbits/
frame=  260 fps= 20 q=31.0 size=     860kB time=00:00:06.87 bitrate=1024.6kbits/
frame=  273 fps= 21 q=31.0 size=     934kB time=00:00:07.30 bitrate=1046.7kbits/
frame=  288 fps= 21 q=30.0 size=    1019kB time=00:00:07.80 bitrate=1068.7kbits/
frame=  302 fps= 21 q=30.0 size=    1066kB time=00:00:08.27 bitrate=1055.8kbits/
frame=  314 fps= 21 q=29.0 size=    1146kB time=00:00:08.67 bitrate=1082.1kbits/
frame=  328 fps= 21 q=28.0 size=    1189kB time=00:00:09.14 bitrate=1065.6kbits/
frame=  341 fps= 21 q=28.0 size=    1247kB time=00:00:09.57 bitrate=1066.7kbits/
frame=  352 fps= 22 q=27.0 size=    1274kB time=00:00:09.94 bitrate=1049.3kbits/
frame=  365 fps= 22 q=27.0 size=    1298kB time=00:00:10.37 bitrate=1024.7kbits/
frame=  376 fps= 22 q=27.0 size=    1349kB time=00:00:10.74 bitrate=1028.7kbits/
frame=  388 fps= 22 q=26.0 size=    1378kB time=00:00:11.14 bitrate=1012.9kbits/
frame=  401 fps= 22 q=26.0 size=    1415kB time=00:00:11.57 bitrate=1001.4kbits/
frame=  412 fps= 22 q=26.0 size=    1454kB time=00:00:11.94 bitrate= 996.9kbits/
frame=  421 fps= 22 q=27.0 size=    1489kB time=00:00:12.24 bitrate= 996.2kbits/
frame=  431 fps= 21 q=27.0 size=    1509kB time=00:00:12.57 bitrate= 982.7kbits/
frame=  441 fps= 21 q=28.0 size=    1555kB time=00:00:12.91 bitrate= 986.6kbits/
frame=  450 fps= 21 q=28.0 size=    1599kB time=00:00:13.21 bitrate= 991.7kbits/
frame=  460 fps= 21 q=28.0 size=    1621kB time=00:00:13.54 bitrate= 980.4kbits/
frame=  470 fps= 21 q=28.0 size=    1660kB time=00:00:13.88 bitrate= 979.9kbits/
frame=  480 fps= 21 q=28.0 size=    1734kB time=00:00:14.21 bitrate= 999.2kbits/
frame=  489 fps= 21 q=29.0 size=    1834kB time=00:00:14.51 bitrate=1035.3kbits/
frame=  499 fps= 21 q=29.0 size=    1890kB time=00:00:14.84 bitrate=1042.8kbits/
frame=  508 fps= 21 q=29.0 size=    1962kB time=00:00:15.14 bitrate=1060.8kbits/
frame=  519 fps= 21 q=29.0 size=    2061kB time=00:00:15.51 bitrate=1087.9kbits/
frame=  531 fps= 21 q=29.0 size=    2189kB time=00:00:15.91 bitrate=1126.6kbits/
frame=  540 fps= 21 q=29.0 size=    2329kB time=00:00:16.21 bitrate=1176.4kbits/
frame=  551 fps= 21 q=29.0 size=    2439kB time=00:00:16.58 bitrate=1204.8kbits/
frame=  562 fps= 21 q=29.0 size=    2569kB time=00:00:16.95 bitrate=1241.8kbits/
frame=  575 fps= 21 q=29.0 size=    2688kB time=00:00:17.38 bitrate=1266.9kbits/
frame=  581 fps= 21 q=29.0 size=    2749kB time=00:00:17.58 bitrate=1280.6kbits/
frame=  589 fps= 21 q=29.0 size=    2785kB time=00:00:17.85 bitrate=1278.1kbits/
frame=  595 fps= 21 q=30.0 size=    2808kB time=00:00:18.05 bitrate=1274.5kbits/
frame=  602 fps= 20 q=30.0 size=    2903kB time=00:00:18.28 bitrate=1300.7kbits/
frame=  610 fps= 20 q=31.0 size=    3008kB time=00:00:18.55 bitrate=1328.2kbits/
frame=  616 fps= 20 q=31.0 size=    3128kB time=00:00:18.75 bitrate=1366.6kbits/
frame=  625 fps= 20 q=31.0 size=    3238kB time=00:00:19.05 bitrate=1392.5kbits/
frame=  633 fps= 20 q=31.0 size=    3320kB time=00:00:19.31 bitrate=1407.9kbits/
frame=  642 fps= 20 q=31.0 size=    3397kB time=00:00:19.61 bitrate=1418.4kbits/
frame=  652 fps= 20 q=31.0 size=    3437kB time=00:00:19.95 bitrate=1411.1kbits/
frame=  661 fps= 20 q=31.0 size=    3511kB time=00:00:20.25 bitrate=1420.3kbits/
frame=  669 fps= 20 q=31.0 size=    3578kB time=00:00:20.52 bitrate=1428.2kbits/
frame=  679 fps= 20 q=31.0 size=    3606kB time=00:00:20.85 bitrate=1416.6kbits/
frame=  691 fps= 20 q=32.0 size=    3670kB time=00:00:21.25 bitrate=1414.5kbits/
frame=  701 fps= 20 q=32.0 size=    3798kB time=00:00:21.58 bitrate=1441.2kbits/
frame=  713 fps= 20 q=32.0 size=    3901kB time=00:00:21.98 bitrate=1453.3kbits/
frame=  723 fps= 20 q=32.0 size=    3969kB time=00:00:22.32 bitrate=1456.6kbits/
frame=  735 fps= 20 q=32.0 size=    4027kB time=00:00:22.72 bitrate=1451.7kbits/
frame=  744 fps= 20 q=32.0 size=    4102kB time=00:00:23.02 bitrate=1459.6kbits/
frame=  755 fps= 20 q=32.0 size=    4135kB time=00:00:23.39 bitrate=1448.3kbits/
frame=  764 fps= 20 q=32.0 size=    4172kB time=00:00:23.69 bitrate=1442.7kbits/
frame=  776 fps= 20 q=32.0 size=    4216kB time=00:00:24.09 bitrate=1433.5kbits/
frame=  787 fps= 20 q=32.0 size=    4254kB time=00:00:24.45 bitrate=1424.8kbits/
frame=  802 fps= 20 q=32.0 size=    4337kB time=00:00:24.95 bitrate=1423.6kbits/
frame=  815 fps= 20 q=32.0 size=    4369kB time=00:00:25.39 bitrate=1409.6kbits/
frame=  828 fps= 20 q=32.0 size=    4450kB time=00:00:25.82 bitrate=1411.5kbits/
frame=  840 fps= 20 q=32.0 size=    4467kB time=00:00:26.22 bitrate=1395.3kbits/
frame=  852 fps= 20 q=32.0 size=    4550kB time=00:00:26.62 bitrate=1399.8kbits/
frame=  865 fps= 20 q=32.0 size=    4594kB time=00:00:27.06 bitrate=1390.7kbits/
frame=  877 fps= 20 q=32.0 size=    4629kB time=00:00:27.46 bitrate=1380.9kbits/
frame=  889 fps= 20 q=32.0 size=    4689kB time=00:00:27.86 bitrate=1378.6kbits/
frame=  900 fps= 20 q=32.0 size=    4740kB time=00:00:28.22 bitrate=1375.6kbits/
frame=  901 fps= 19 q=-1.0 Lsize=    5203kB time=00:00:30.10 bitrate=1416.0kbits
/s
video:4586kB audio:590kB subtitle:0 global headers:0kB muxing overhead 0.532558%

[libx264 @ 000000000264faa0] frame I:8     Avg QP:22.98  size: 31700
[libx264 @ 000000000264faa0] frame P:893   Avg QP:27.55  size:  4974
[libx264 @ 000000000264faa0] mb I  I16..4: 34.6%  0.0% 65.4%
[libx264 @ 000000000264faa0] mb P  I16..4:  0.8%  0.0%  1.5%  P16..4: 41.4% 18.8
%  8.5%  0.0%  0.0%    skip:29.0%
[libx264 @ 000000000264faa0] final ratefactor: 24.50
[libx264 @ 000000000264faa0] coded y,uvDC,uvAC intra: 64.3% 76.0% 36.7% inter: 2
3.5% 19.6% 0.7%
[libx264 @ 000000000264faa0] i16 v,h,dc,p: 34% 33% 11% 22%
[libx264 @ 000000000264faa0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 16% 12%  9% 12%
11% 12%  7%  8%
[libx264 @ 000000000264faa0] i8c dc,h,v,p: 55% 23% 14%  7%
[libx264 @ 000000000264faa0] ref P L0: 72.3% 12.0%  8.1%  3.7%  3.9%
[libx264 @ 000000000264faa0] kb/s:1249.53

但还是没有运气。mp4将在我试过的所有兼容的设备/浏览器组合中播放,除了chrome。有什么建议吗?

蒂娅。

共有2个答案

元景天
2023-03-14

另一个错误来源可能是视频的传输,而不是解码。

尝试使用“文件://...”打开不工作的文件。URL:如果这是可行的,问题出在运输上,与h264或MP4无关。

虽然这两个给定的文件在我的Chrome中运行良好,当托管为html5时,我看到了这样一个传输问题,一个更大的mp4文件。在这种情况下,我可以在Fiddler中看到被取消的请求。

这似乎是Chrome中的一个bug,我还没有找到解决方法。

娄丁雨
2023-03-14

解决方案是使用参数“-PIX_FMT YUV420P”:

ps>ffmpeg.exe -i $input\$file -y -strict experimental -acodec aac -ac 2 -ab 160k -vcodec libx264 -s 640x480 -pix_fmt yuv420p -preset slow -profile:v baseline -level 30 -maxrate 10000000 -bufsize 10000000 -b 1200k -f mp4 -threads 0 $output\$file.iphone.mp4

ffmpeg版本N-46936-g8b6aeb1

希望这能帮助您获得兼容chrome的视频

更新1

参阅参考资料它可能对你有帮助

 类似资料:
  • 我使用以下代码使用FFMPEG库将视频转换为: 在Windows(Chrome/Firefox)、Mac(Safari/Chrome)和Android(Chrome)中播放转换后的视频时,这一功能完美无缺,但在通过iOS(Safari/Chrome)观看时就不起作用了。 一开始我以为这可能是问题?但是我在我的iOS Safari中播放了这个视频https://www.w3schools.com/h

  • 我已经努力让FFMPEG的直播流工作了很多个小时,所以举白旗,在这里寻求帮助。 我的场景是我有一个IP安全摄像头,我可以通过RTSP(H.264)成功连接,并将视频保存为文件段,它们可以通过独立的应用程序如VLC或通过Node.js web服务器应用程序播放,该应用程序发送'video/mp4'&keep-alive头部,并将以前由FFMPEG保存的mp4文件流式传输到HTML5视频客户端。 1)

  • 问题内容: 我有一个要使用HTML5 标签在IE9中播放的mp4视频。我将MIME类型添加到了IIS 7中,因此,如果我浏览它可以在Chrome和IE9中播放,但不能在HTML5中播放,则Chrome会以HTML播放视频。这是代码: 有任何想法吗? 谢谢 更新: 在Firefox 5.0中尝试了相同的文件,但也无法正常工作,只有Chrome可以播放mp4视频。 问题答案: 最终使用http://v

  • 还有一个问题是如何让html5视频工作。 我用FFMPEG创建了同一视频的3个不同格式的3个版本:mp4、ogg和WebM。 当.ogg被列为第一个html5视频源时,在chrome中可以正常播放,而.mp4被列为第一个html5视频源时,在safari中可以正常播放,但是,如果我将.mp4源列在.ogg源之上,chrome将不再加载/播放.ogg视频,因为它默认为不会播放的.mp4视频,同样,如

  • 我想将两个图像(名称未按顺序编号)合并到一个视频中,但结果仅包括第一个图像的视频。 我将感谢任何帮助! ffmpeg.exe-r 1/5-iimage_x.png-r 1/5-iimage_y.png-codec: v libx264-vf fps=50video.mp4 输出: 输入0,png管道,来自'C:\Users\khj\Desktop\SpeakerLayoutTool\Images\

  • 我想提取原始Yuv帧从mp4剪辑使用FFMPEG。我输入。mp4告诉我视频格式是YUV420P10LE。我使用以下命令来提取帧: 以下是FFMPEG的日志: