【问题标题】:MPMoviePlayerController & .m3u8 playlistMPMoviePlayerController & .m3u8 播放列表
【发布时间】:2010-12-12 12:24:38
【问题描述】:
我想通过 MPMoviePlayerController 使用包含远程 mp4 文件的 .m3u8 播放列表,你成功了吗?
.m3u8 是否必须包含 .ts 文件?
如果不是,.ts 的用途是什么?
播放列表加载后是否会启用下一个/上一个按钮?
如果不是,这些按钮的用途是什么?
最后一个问题,你有一个带有远程 mp4 文件的 .m3u8 示例文件来测试吗?
非常感谢您的帮助。
蒂埃里
【问题讨论】:
标签:
iphone
mpmovieplayercontroller
【解决方案1】:
既然您在谈论.m3u8 和.ts 文件,我可以假设您对iPhone OS 3.0 和Snow Leopard 支持的HTTP Live Streaming 感兴趣吗? documentation 中有更多关于 HTTP Live Streaming 的信息。
- 在 HTTP Live Streaming 中,
.m3u8 文件列出了要按顺序下载和播放的其他文件。如果.m3u8 文件不包含#EXT-X-ENDLIST 指令,则客户端假定源是实时流,并定期重新获取.m3u8 以查找要下载的新媒体文件。 .ts 文件是包含混合音频和视频的 MPEG-2 传输流文件(尽管传输流是 MPEG-2 规范的一部分,但内容应该是 H.264 和 AAC,音频和视频编解码器通常与 MPEG-4 相关联)。您有时会看到其他内容,例如 .aac 用于纯音频流。服务器会将视频流分割成多个.ts 文件,.m3u8 文件将为这些.ts 文件提供URL,客户端将依次下载并播放.ts 文件。作为一名 iPhone 开发人员,您只需将.m3u8 URL 提供给MPMoviePlayerController,由其处理其余部分。
- 不知道上一个/下一个按钮...在流上下文中它们似乎没有意义,我不确定
MPMoviePlayerController 是否显示它们。您可以使用movieControlMode 属性来设置向用户提供哪些控件。
- Apple 的 docs 提供了一些示例测试模式流的链接。