为带字幕的 HTTP 实时流媒体编码视频

Dav*_*unt 4 video-streaming http-live-streaming ios

我一直在关注 Apple 的HTTP Live Streaming指南,并让它在我的应用程序中运行良好,但我想在视频中嵌入字幕。Quora 上的这个帖子表明 Netflix 已经做到了。

我的源视频使用 QuickTime Pro 通过 .srt 文件嵌入了字幕,在 QuickTime 和我的 iOS 应用程序中播放视频时可以看到字幕。一旦我使用 mediafilesegmenter(按照 HLS 的要求)将视频拆分为较小的 .ts 文件,字幕就会消失。我正在使用MPMoviePlayerController

是否有一种特殊的方式来编码源视频或使用 mediafilesegmenter 进行字幕工作?

vip*_*ipw 5

ts 流中可能有字幕(例如 EIA-608 或 EIA-708)。我不知道有什么好的免费工具可以将此类字幕插入 ts 流,但可能Manzanita会向您出售一些东西(以荒谬的价格)。

不幸的是,许多 HLS 播放器会忽略字幕,因为 HLS 规范没有提到应该如何处理字幕轨道。在您自己的应用程序中,您可以通过查找已包含 EIA-608/EIA-708 文本的 ts 文件并对其进行分段来对其进行测试。

坦率地说,我认为在 TS 中嵌入字幕是一个死胡同,你会发现编写自己的由 TimedMetadata 触发的字幕显示器更容易。

=== 更新 ===

从 HLS 草案的第 9 版(2012 年 9 月 22 日)开始,HLS 支持 WebVTT 字幕。我不知道有什么工具可以与他们一起准备流。