火狐浏览器显示使用ffmpeg从mkv转换为mp4的某些文件损坏。

4

最近我把很多视频转换成了网页播放格式,但是同一“系列”的所有视频在火狐浏览器中都显示为“无法播放视频,因为文件损坏”。(它们可以在谷歌浏览器和VLC中播放,但不能在火狐或Edge中播放。)所有文件都是使用以下命令进行转换的:

ffmpeg -i "file.mkv" -vcodec h264 -movflags +faststart -map 0 -vf subtitles="file.mkv" "file.mp4"

以下是其中一个无法工作文件的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

一个工作文件的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

在超过100个文件的集合中,只有一个系列的12集在Firefox中显示为损坏的。我注意到这两个文件的信息存在一些差异,但我不知道为什么其中一个文件可以正常工作而另一个不能。我需要告诉FFmpeg什么才能使这些视频在Firefox中播放?

1个回答

7

这是4:4:4色度抽样。在输出文件中添加-pix_fmt yuv420p


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接