Firefox 说 ffmpeg 中从 mkv 转换为 mp4 的某些文件已损坏

Epi*_*k97 4 video firefox ffmpeg

我最近转换了许多视频以供网络播放,但一个“系列”中的所有视频都在 Firefox 中显示为“视频无法播放,因为文件已损坏”。(它们适用于 google chrome 和 VLC。不适用于 firefox 或 edge。)所有文件都已使用以下命令转换:

ffmpeg -i "file.mkv" -vcodec h264 -movflags +faststart -map 0 -vf subtitles="file.mkv" "file.mp4"
Run Code Online (Sandbox Code Playgroud)

来自非工作文件之一的 ffmpeg 输出:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Episode_7.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.3.100
  Duration: 00:23:53.52, start: -0.001333, bitrate: 1900 kb/s
    Stream #0:0(und): Video: h264 (High 4:4:4 Predictive) (avc1 / 0x31637661), yuv444p, 1920x1080 [SAR 1:1 DAR 16:9], 1763 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 130 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Run Code Online (Sandbox Code Playgroud)

来自工作文件的 ffmpeg 输出:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Episode_7.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.3.100
  Duration: 00:23:40.06, start: 0.000000, bitrate: 1848 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 1710 kb/s, 23.81 fps, 23.81 tbr, 16k tbn, 47.62 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(jpn): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 131 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Run Code Online (Sandbox Code Playgroud)

在 100 多个文件的集合中,单个系列中只有 12 集在 Firefox 中显示为损坏。我看到有关这两个文件的信息存在一些差异,但我不知道为什么一个文件有效而另一个无效。我需要告诉 ffmpeg 什么才能在 Firefox 中播放视频?

sza*_*ary 6

这是4:4:4色度采样。添加-pix_fmt yuv420p到输出文件。