【问题标题】:h264/aac encoded video not playing in Edge, but working Chrome and Firefoxh264/aac 编码的视频不能在 Edge 中播放,但可以在 Chrome 和 Firefox 中播放
【发布时间】:2016-08-07 11:31:57
【问题描述】:

我正在尝试对要在 HTML5 视频元素中使用的视频进行编码。但是,它在我的 PC 上的 IE Edge 中不起作用。但是,它确实适用于:

  • Chrome、火狐
  • 我的安卓智能手机(Chrome、Firefox)

我有两个非常相似的文件(一个是大钱兔子预告片,第二个是我要编码的视频):

图片:Encoding-Settings

如您所见,“1.mp4”播放正确,而“3.mp4”则不正确。

您可以在此处下载文件:3.mp4 - 将 3.mp4 更改为 1.mp4 以获取其他视频。

我的 ffmpeg 命令行是这样的:

ffmpeg.exe -i in.mp4 -c:v libx264 -movflags faststart -profile:v baseline -level 3.1 -preset slower -crf 30 -c:a copy 3.mp4

不过,我也试过:

ffmpeg.exe -i in.mp4 -c:v libx264 -profile:v baseline -level 3.1 -preset slower -crf 30 -c:a copy 3.mp4

ffmpeg.exe -i in.mp4 -c:v libx264 -preset slower -crf 30 -c:a copy 3.mp4

ffprobe 的输出结果是(对于有效的文件):

$ ffprobe.exe 1.mp4
ffprobe version N-81045-g450cf40 Copyright (c) 2007-2016 the FFmpeg developers
  built with gcc 5.4.0 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-libebur128 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
  libavutil      55. 28.100 / 55. 28.100
  libavcodec     57. 50.100 / 57. 50.100
  libavformat    57. 42.100 / 57. 42.100
  libavdevice    57.  0.102 / 57.  0.102
  libavfilter     6. 47.100 /  6. 47.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
  libpostproc    54.  0.100 / 54.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf55.12.102
  Duration: 00:00:33.05, start: 0.000000, bitrate: 891 kb/s
    Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 512x288, 770 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 127 kb/s (default)
    Metadata:
      handler_name    : SoundHandler

对于不起作用的文件:

$ ffprobe.exe 3.mp4
ffprobe version N-81045-g450cf40 Copyright (c) 2007-2016 the FFmpeg developers
  built with gcc 5.4.0 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-libebur128 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
  libavutil      55. 28.100 / 55. 28.100
  libavcodec     57. 50.100 / 57. 50.100
  libavformat    57. 42.100 / 57. 42.100
  libavdevice    57.  0.102 / 57.  0.102
  libavfilter     6. 47.100 /  6. 47.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
  libpostproc    54.  0.100 / 54.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '3.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.42.100
  Duration: 00:00:13.10, start: 0.000000, bitrate: 2317 kb/s
    Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2143 kb/s, 60 fps, 60 tbr, 15360 tbn, 120 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 163 kb/s (default)
    Metadata:
      handler_name    : SoundHandler

谁能指出我正确的方向这两个视频之间的区别是什么以及我如何修复我的 ffmpeg 命令行以在 IE Edge 中播放“3.mp4”?

【问题讨论】:

    标签: html video ffmpeg microsoft-edge video-encoding


    【解决方案1】:

    3.mp4 在 Firefox 中不起作用,但如果我重新编码音频,它就起作用了:

    ffmpeg -i 3.mp4 -c:v copy -movflags +faststart 3new.mp4
    

    【讨论】:

    • 是的,我也得出了这个结论(刚刚)。我不知道出了什么问题,但显然 OBS 产生了无效的 aac 流:/ 感谢您的调查,我将您的答案标记为正确,因为它确实是音频。
    猜你喜欢
    • 2012-11-07
    • 1970-01-01
    • 2021-09-25
    • 1970-01-01
    • 1970-01-01
    • 2013-11-04
    • 1970-01-01
    • 2018-11-22
    • 1970-01-01
    相关资源
    最近更新 更多