【问题标题】:Video transcode and codec issue视频转码和编解码器问题
【发布时间】:2020-11-28 06:15:58
【问题描述】:

我正在转换一些旧视频,以便通过 dlna 服务器在我的 Roku 上播放。我试图更好地了解 MP4 容器以优化转换。我有一个 ogm 视频:

Duration: 01:00:38.22, start: 0.000000, bitrate: 1056 kb/s
Stream #0:0: Video: mpeg4 (XVID / 0x44495658), yuv420p, 576x324 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 23.98 tbn, 23.98 tbc
Stream #0:1(English): Audio: aac, 48000 Hz, stereo, fltp, 74 kb/s
Stream #0:2(Japanese): Audio: aac, 48000 Hz, stereo, fltp, 73 kb/s
Stream #0:3(English): Subtitle: text

据我了解,MP4 容器可以包含 MP4 视频和 aac 音频。我用过

-c:a copy -c:v copy

它成功了,但视频无法播放。显然有些不对劲。我不明白为什么,视频看起来像是 MP4 而音频是 aac。我猜是 Xvid 但为什么呢?

谢谢。 托德

【问题讨论】:

  • 显示完整的输出:您省略了显示 ffmpeg 检测到输入的格式的行。
  • 它被检测为 ogm...我提到过。我只是转换了文件。而不是复制流。我只是好奇为什么它不起作用,因为 XVID 似乎是一种有效的 MP4 格式......但谢谢......

标签: ffmpeg mp4 video-processing transcode


【解决方案1】:

MP4 只是容器,但您的正确 MP4 通常包含 AAC 音频和 MPEG4 视频。您的输入文件似乎是 mpeg4 Xvid,它是 mpeg4 派生的编解码器,但 Roku 可能不支持。

尝试将 -c:v copy 更改为 -c:v h264 以使用更常见的基于 MPEG4 的视频编解码器。

【讨论】:

  • 谢谢。可能没有任何区别,但它没有在我的 Android 手机上播放。实际上从未到过Roku。所以它看起来确实是一个有效的 MP4?
  • 顺便说一句,我试图通过复制流来节省时间,因为它们看起来像是有效的 MP4 流。
  • 是的,明白这一点。抱歉,我不知道是否可以以任何有效或保质的方式将 xvid 转换为 h264。如果它不适用于标准 mp4,我猜你要么必须调整一些 mp4 容器标志,要么必须调整使用的 h264 配置文件/级别等。当我用谷歌搜索时,似乎有人成功使用-preset slow -profile:v high -level 4 -crf 20
  • 所以对你来说,根据你所掌握的信息,它似乎是一个有效的 MP4 文件,可能只是我的硬件的一些兼容性问题?似乎有可能,因为我认为 XVID 不是免费的,可能会收取版税。
  • 是的,这样想。如果developer.roku.com/en-gb/docs/specs/streaming.md 是受支持的容器和编解码器,则 MP4 仅支持 AVC(又名 H264)作为 MPEG4 编解码器。
猜你喜欢
  • 1970-01-01
  • 2010-11-07
  • 1970-01-01
  • 2011-11-17
  • 2011-06-16
  • 2019-04-07
  • 2020-03-28
  • 1970-01-01
相关资源
最近更新 更多