gpt4 book ai didi

ffmpeg - 从 ts 文件列表创建 m3u8 文件

转载 作者:行者123 更新时间:2023-12-03 16:04:34 29 4
gpt4 key购买 nike

我想从 ts 文件列表中创建“m3u8”文件。我该怎么做?

我确实在谷歌搜索并阅读了 ffmpeg 的文档,但我没有找到任何东西。

最佳答案

目前尚不清楚您要问的是以下哪种情况,因此这里有一个针对这两种情况的快速回答:

  • 如果您从包含内容的单个文件开始
    这是最常见的情况。通常,从源素材创建可播放的 HlS 流需要三个步骤。
  • 对于每个所需的输出级别(为简单起见,假设比特率),您需要创建一个分段的 .ts 文件的集合。
  • 对于每个输出级别,您需要一个播放列表 list (m3u8),其中包含组成内容的分段文件列表。
  • 对于整个流,您需要一个列出播放列表的主 list (另一个 m3u8)。

  • FFMpeg 可以做到这三个方面。
  • 如果您从 .ts 文件的集合开始
    如果您真的从 .ts 文件的集合开始,您可以按照前面的答案中所述手动构建一个 m3u8 文件,或者您可以编写一个脚本来执行此操作。

  • 无论哪种情况,.ts 文件都有一些注意事项:
  • 如果片段文件不属于不间断的序列(就像它们是从单个源剪辑转码以用于 HLS 一样),您需要在没有的片段之间插入 EXT-X-DISCONTINUITY 标签相同的编码特征或不具有单调递增的 PTS(表示时间戳)值。
  • 虽然段不需要都具有相同的长度,但最长的段不得超过 EXT-X-TARGETDURATION 标签中指定的(整数)秒数。
  • “对于 VOD 内容,平均分段比特率必须在 AVERAGE-BANDWIDTH 属性的 10% 以内”

  • 构建 m3u8 文件后,通过验证器运行它以发现任何问题会有所帮助。这比挠头想知道为什么 HLS 流在播放器/浏览器之间播放效果不佳或不一致要容易得多。
  • macOS 上的 mediaStreamValidator 很好用 https://developer.apple.com/documentation/http_live_streaming/about_apple_s_http_live_streaming_tools
  • 还可以考虑 Theo 的在线工具:http://inspectstream.theoplayer.com/
  • 关于ffmpeg - 从 ts 文件列表创建 m3u8 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52052883/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com