HTML5 视频 Chrome - ffmpeg - mp4 在除 Chrome 之外的所有工作

标签 html google-chrome video ffmpeg mp4

我已经使用 ffmpeg 成功地将一个文件编码为 .mp4,它可以在除 Chrome 之外的所有测试设备(PC 上的 Safari、PC 上的 IE、Android 浏览器、Andriod 视频播放器和 Safari iPad)上播放。

作为变通方法,我原计划简单地在 .mp4 源之前列出 .ogg 源,这样 chrome 就可以播放 .ogg 源,甚至看不到 .mp4 源,但是,我遇到了提到的问题here .

基本上,我在使用正确的 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。有什么建议吗?

TIA。

最佳答案

解决方法是使用参数"-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

See reference可能对你有帮助

关于HTML5 视频 Chrome - ffmpeg - mp4 在除 Chrome 之外的所有工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17379971/

相关文章:

google-chrome - 跨源请求到 Chrome 上的 S3 中缺少源头

javascript - Element.insertAdjacentHTML() API 在 chrome 55.0.2883.87 中引发错误

html - Chrome/Safari 最近是否更改了 mix-blend-mode 的处理方式

Android - 视频重新启动或恢复

video - FFMPEG-jpg 序列到 H.264 生成最佳结果

video - 需要帮助理解 HTML 5 音频/视频元数据的使用和放置

javascript - 使用 rowIndex 和 cellIndex 更改表格单元格中的文本

html - CSS 无效属性值

HTML - 将背景图像添加到 div

css - 从 child 的高度扩展 parent 的问题。 body 不会达到 100% 的高度。多列