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

标签 ios video-streaming http-live-streaming

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

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

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

最佳答案

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

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

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

===更新===

自 HLS 草案第 9 版(2012 年 9 月 22 日)起,HLS 支持 WebVTT 字幕。我不知道有什么工具可以用它们准备流。

关于ios - 为带有字幕的 HTTP 实时流媒体编码视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11002337/

相关文章:

ios - 访问存储在 ngCordova/ionic iOS 应用程序中的 mp3 文件

ios - 如何在 Unix 上实现 HTTP Live Streaming 服务器?

ffmpeg - 如何使用 ffprobe 从 HLS/M3U8 文件中检测视频比特率

iphone - 何时在 Objective C 开发中使用框架

objective-c - 主视图中的 TableView 从详细 View 重新加载数据

ios - 编码其模型中没有嵌套属性的嵌套对象

ios - 在 Vimeo 上,如果您的视频不是直播,使用 "HTTP Live Streaming"视频文件链接是否有意义?

udp - 如何在浏览器上播放UDP流?

android - 如何开始在 Android 上为 pjsip 创建一个视频渲染器作为 Csipsimple

video-streaming - 将视频从相机流式传输到三星智能电视