将静态文件 HTTP 实时流式传输到 iOS 设备
我试图理解 HTTP Live Streaming 静态视频文件的“分块”方面iOS 设备。 视频文件的分块发生在哪里?
编辑:阅读HTTP 实时流媒体 以及更多 https://datatracker.ietf.org/doc/html/draft-pantos-http-live-streaming-07 听起来视频文件在服务器上被分割成 .ts 段。或者 m3u8 播放列表可以指定文件中的字节偏移量(显然使用EXT-X-BYTERANGE
)。
以下是我在阅读 Apple 的 HLS描述和https://datatracker. ietf.org/doc/html/draft-pantos-http-live-streaming-07:
- 静态文件位于我的服务器上。它具有正确的音频/视频编码(H.264 和 AAC)。
- 我会将
m3u8
播放列表传递到我的应用中的媒体播放器(MPMoviePlayer
或类似的)。 - 该应用程序将在媒体播放期间“重新加载索引”。换句话说,应用程序将请求播放额外的片段。
- 每 10 秒的片段位于一个 MPEG 传输流 容器中。
我对这个过程的理解是不完整的(也许是不正确的)。非常感谢任何额外的信息。
I'm trying to understand the "chunked" aspect of HTTP Live Streaming a static video file to an iOS device. Where does the chunking of the video file happen?
Edit: from reading HTTP LIve Streaming and a bit more of https://datatracker.ietf.org/doc/html/draft-pantos-http-live-streaming-07 it sounds like the video file is split into .ts segments on the server. Or the m3u8 playlists can specify byte offsets into the file (apparently using EXT-X-BYTERANGE
).
Here's what I understand of this process after reading Apple's HLS description and https://datatracker.ietf.org/doc/html/draft-pantos-http-live-streaming-07:
- A static file lives on my server. It has the proper audio/video encoding (H.264 and AAC).
- I'll pass an
m3u8
playlist to the media player (MPMoviePlayer
or similar) in my app. - The app will "reload the index" during media playback. In other words the app will request additional segments to play.
- each 10 second segment is in an MPEG Transport Stream container.
My understanding of this process is incomplete (and perhaps incorrect). Any additional info is much appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你要什么??信息???
-应用程序不会重新加载索引,而是使用切换正确编码文件的 M3U8 文件来播放它。这样,您只需在 mediaPlayer 和“清单文件”之间建立连接,例如...
其中 NSUrl 是您的清单文件的 url...请注意,我正在添加:
/manifest (format=m3u8-aapl)
到原始清单文件,什么将“ISM”文件解析为正确的M3U8语法
What are you asking for?? Info???
-The app is not reloading the index but playing it... using the M3U8 file that switches the correct encoded file. That way you only have to make a connection between the mediaPlayer and the "Manifest File" for example...
where the NSUrl is the url to your manifestFile... note that I'm adding:
/manifest(format=m3u8-aapl)
to the original manifest file, what parses the "ISM" file to the correct M3U8 syntax