从 mp4 为 HLS 创建变体播放列表的有效方法

Efficient way to create variant playlists from mp4 for HLS

我对视频编码和选项完全陌生,刚刚了解了 Apple 的 HLS 要求。

到目前为止,我已经能够让我的 iOS 应用程序正常工作。但是,我发现整个过程非常缓慢且需要手动完成。现在,不得不针对更多语言环境(视频翻译)重复此操作,我无法想象没有更好的方法。

控制比特率

为了控制比特率,我使用 HandBrake 为我想要的每个比特率(192k、400k、1m 等)创建一个具有适当视频编码器设置的新 .mp4 文件。然后,我开始创建播放列表。仅此一项就需要几分钟——有更好的方法吗? tsrecompressor 看起来很接近,但它只是流式传输到本地端口并且不保存任何播放列表。

正在从 MP4 创建播放列表

然后我使用Apple的命令行工具套件(mediafilesegmentervariantplaylistcreatormediastreamvalidatorhlsreport)生成播放列表,合并成一个主播放列表,验证等。我想这部分可以通过脚本实现某种程度的自动化。我见过其他人使用 FFMPEG,但我认为后 3 个 Apple 工具仍然需要按顺序应用。

你看到有什么可以明显优化的地方吗?

根据阅读 - 看起来您正在为每个大小创建不同的 mp4,然后是 HLS 流?

使用 FFMPEG,您可以创建所有 HLS streams/playlists,而无需先创建所有 mp4。这将减少您正在进行的编码的 ~ 50% :)

还有一些服务可以创建主机并为您传送 HLS 流 - 节省您创建视频的所有时间(我为其中一个工作 - api.video)。