我正在开发一个小型iPhone应用程序,它使用常规套接字通过网络连接流式传输电影内容.视频H.264
格式正确.然而,我在播放/解码数据方面遇到了困难.我一直在考虑使用FFMPEG
,但许可证使它不适合该项目.我一直在研究Apple的AVFoundation
框架(AVPlayer
特别是),它似乎能够处理h264内容,但是我只能找到使用url启动电影的方法 - 而不是通过证明从网络流式传输的内存缓冲区.
我一直在做一些测试,以实现这一目标,使用以下方法:
AVPlayer
.每次在网络上接收数据时,都会使用fopen和append-mode将其写入文件.在AVPlayer
然后的资产重新加载/与更新的数据重建.这种方法似乎存在两个问题:首先,当第一个资产被卸载并且新加载时,屏幕会短暂变黑.其次,我不知道比赛的确切位置,所以我不确定如何找到合适的位置开始播放新资产.AVQueuedPlayer
然后使用A ,其中第二个资产在播放器中插入/排队,然后在缓冲完成时调用.然后可以在没有黑屏的情况下卸载第一个资产.然而,使用这种方法,找出从哪里开始播放新资产更麻烦(比第一种方法).有没有人做过这样的事情并让它发挥作用?有没有正确的方法来使用AVFoundation
?
执行此操作的官方方法是 HTTP Live Streaming 格式,它支持多个质量级别(除其他外)并在它们之间自动切换(例如:如果用户从 WiFi 移动到蜂窝网络)。
您可以在此处找到文档:Apple Http Streaming Docs
归档时间: |
|
查看次数: |
2982 次 |
最近记录: |