Ant*_*nio 5 mp4 avfoundation video-streaming h.264 ios
我想为iOS构建一个流媒体视频播放器,它能够播放.mp4托管在远程服务器上的文件.我还想使用像AudioToolbox和VideoToolbox中的低级API那样做.我不希望使用AVPlayer此.我想这样做主要是作为一个学习练习,但也因为我注意到它AVPlayer和它的相关类阻止了主线程,这使得在滚动视图中嵌入视频非常困难.
据我所知,这将需要4个主要挑战,我必须解决;
从互联网下载MP4文件并提取音频/视频样本
这可能是我对它如何工作最不了解的领域.假设我为MP4文件启动网络下载,并得到结果数据流.
从流中解压缩和播放音频样本
从围绕Apple的文档开始,看起来我可以使用AudioQueueAPI.它似乎拥有播放音频数据流所需的一切.将所有内容设置正确以播放压缩音频数据可能并不容易,但似乎可行.
解压缩并显示流中的视频样本
对于解压缩和显示视频样本,到目前为止我已经研究过了AVSampleBufferDisplayLayer.我已经玩了一下它似乎非常有希望我想做什么.请问AVSampleBufferDisplayLayer是在这里使用推荐的东西,或者是有别的,更适合呢?
同步音频和视频播放
这是我不太了解的另一个领域.从阅读文档和头文件看起来我需要创建一个CMAudioClock然后创建一个CMTimeBase使用该时钟,然后可以用来驱动AVSampleBufferDisplayLayer.关于此设置有一些我不明白的事情
CMAudioClock前进的速度有多快?它是否只是以固定费率不断前进?或者每次播放声音时它会前进一点吗?CMAudioClock带有关联的CMTimeBase,我需要将它与我的音频管道相关联吗?这两件事如何保持同步?| 归档时间: |
|
| 查看次数: |
918 次 |
| 最近记录: |