如何配置 ffmpeg 以使用特定的 log2_max_frame_num_minus4 值对 h.264 视频进行编码?

如何配置 ffmpeg 以使用特定的 log2_max_frame_num_minus4 值对 h.264 视频进行编码?

我正在做一个项目,我们正在拼接 HLS 视频片段。HLS 标准方便地包含一个 #EXT-X-DISCONTINUITY 指令,用于发出信号,表示播放器应该准备好播放具有不同 SPS 或 PPS 的视频(编码分辨率的变化将保证您需要这样的东西)。

在苹果 iPad 上,混合流播放良好。

不幸的是,我们瞄准的设备未能实现 HLS 规范的这一部分。我们已经确定这两个剪辑可以在设备上独立播放,但当它们属于同一个 HLS 流时,设备就会出现故障(拒绝渲染任何辅助剪辑,并在从主剪辑返回媒体后恢复渲染)。

现在,我们正在考虑重新编码其中一个剪辑,以匹配我们控制力较弱的剪辑。我已经能够使用如何使用 ffmpeg 设置 h.264 配置文件级别?

现在我需要协调 log2_max_frame_num_minus4。我该如何告诉 ffmpeg 使用 5 作为这个值?

答案1

不行。你必须重新编程 x264(H.264 编码器)才能做到这一点。

您确实必须进入源代码(encoder/set.c)并对其进行硬编码,因为我不相信任何人曾打算设置该值。

或者您手动修复 SPS 中与该值相对应的字节,但可能会破坏 H.264 语法(当然,因为其他参数依赖于该值)。

相关内容