如何解决自定义 HLS 段 - 调整 m3u8 - 可能吗?
提出与 HLS 段相关的问题(元数据?,一些隐藏数据?)。
生成 HLS 段和 .m3u8 的最常见方法是使用 ffmpeg,例如:
ffmpeg -i Example.mp3 -f hls -master_pl_name replay.m3u8 -c:a aac -ab 192k -var_stream_map "a:0,agroup:aud v:0,agroup:aud" -hls_playlist_type vod -hls_list_size 0 -hls_time 10 vs%v/out.m3u8
这将生成带有 10s~ HLS 段和适当的 m3u8 文件的 v0 和 v1 目录可供使用。
假设我处理大型音频文件,并希望以不同的方式为每个 HLS 流添加水印(每个客户端为其特定文件的 HLS 流获得不同的水印)。无法存储 HLS 段(不需要且空间太多),因此之前已创建并且每次客户端请求时都需要创建。通常情况下,由于服务器(在这种情况下从云)获取文件的延迟 -> 创建(带水印的)段 - 但我可以为此做一些特殊的准备。
我的水印软件允许在创建带水印的文件副本之前做一些准备工作,因此过程(当客户端请求时)更快 - 这意味着当我想要处理 Example.mp3 时,我可以准备 Example.customextension 文件,然后当我想要的时候只需要创建单独的水印副本 Example.customextension - 这里的结果很快。此时没有块,只有整个文件。
假设我可以通过某些方式修改水印软件:
- 允许为 Example.mp3 文件准备 *.customextension 块(具有给定的大小),并逐一给它们加水印以获得可以组合成完整文件的水印块(可以播放或不可播放,取决于设置)。获取一个最终水印块的完整过程在这里很快(因此块可能会根据客户端的需求用作 HLS 段)
或
-
允许将已创建的可播放文件块(假设通过 Example.mp3 上的 ffmpeg HLS 命令)传递给水印软件,并基于它们获取 *.customextension 块以与 1) 中相同的方式使用
-
还有别的吗?
因此,我会有带水印的块(根据我的选择可玩或不可玩)。客户端可以请求每个块并相对较快地获取它。我想将它们用作 HLS 流中的段。
我的问题是:
- 可以在 HLS 流中使用它们吗?
- 或者更确切地说,需要做什么(在创建过程中牢记)才能将它们用作 HLS 段并手动创建 .m3u8 文件以匹配块?是否仅与元数据持续时间开始或其他键/值有关(如果块可播放)?
- HLS 段中是否存在某种“神奇”字节使其可用?
感谢您的帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。