我已经成功地使用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。有什么建议吗?
蒂娅。
另一个错误来源可能是视频的传输,而不是解码。
尝试使用“文件://...”打开不工作的文件。URL:如果这是可行的,问题出在运输上,与h264或MP4无关。
虽然这两个给定的文件在我的Chrome中运行良好,当托管为html5时,我看到了这样一个传输问题,一个更大的mp4文件。在这种情况下,我可以在Fiddler中看到被取消的请求。
这似乎是Chrome中的一个bug,我还没有找到解决方法。
解决方案是使用参数“-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的日志: