【问题标题】:Efficient way to create variant playlists from mp4 for HLS从 mp4 为 HLS 创建变体播放列表的有效方法
【发布时间】:2021-03-22 17:28:03
【问题描述】:

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

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

控制比特率

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

从 MP4 创建播放列表

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

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

【问题讨论】:

  • 不确定这里的“优化”是什么意思。但是你可以编写一个脚本(handbrake 有一个 CLI 工具)或者只是 ffmpeg 来做所有的事情(互联网上有一百万个例子说明如何做到这一点,你可以搜索它们)。视频转码很慢,除了使用硬件加速器之外你无能为力(同样,谷歌也可以告诉你如何做到这一点)
  • 您的最终目标是什么?只是尝试视频压缩?还是您正在尝试构建服务?
  • @szatmary 感谢您的洞察力。由于 Apple 建议使用他们的工具套件,所以我对使用 ffmpeg 犹豫不决,但如果我必须做更多这些,我可能会使用 ffmpeg。很高兴知道视频转码很慢。
  • @SrikanthK。我只是想为我的应用正在服务的视频设置 HLS 流(否则我们将违反 Apple 的要求)。到目前为止,我们只支持两种语言环境,所以我只是采用了这个过程。

标签: ios video ffmpeg video-streaming http-live-streaming


【解决方案1】:

从阅读中 - 看起来您正在创建每种尺寸的不同 mp4,然后是 HLS 流?

使用 FFMPEG,您可以创建所有 HLS 流/播放列表,而无需先创建所有 mp4。这将减少您正在执行的编码的约 50% :)

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

【讨论】:

    猜你喜欢
    • 2018-02-28
    • 2012-06-22
    • 1970-01-01
    • 2014-06-23
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 2013-12-27
    相关资源
    最近更新 更多