我希望将 YouTube 视频流式传输到 iOS 应用程序。有没有任何框架或库可以做到这一点? AVFoundation 可以做到这一点吗?其他一些 Apple 框架或第三方库? (据我所知,Matt Gallagher 的 AudioStreamer 不支持视频。)
编辑:
MPMoviePlayerController
有用吗?
查看 YouTube 官方开发页面,了解有关如何使用 Objective-C 回放 YouTube 内容的信息。基本上,文档建议使用 UIWebView
来处理视频播放。
首先,使用 avformat_open_input 连接到您的 IP 地址,然后使用 avcodec_find_decoder 和 avcodec_open2 查找编解码器并打开它们(您应该为音频和视频调用它们)
然后,在 while 循环中使用 av_read_frame 方法从服务器读取数据包。当获取帧时,如果是音频,则将其发送到 AudioUnit 或 AudioQueue,如果是视频,则使用 sws_scale 方法将其从 yuv 转换为 rgb 格式,将图片绘制到屏幕上。
仅此而已。
也看看这个包装器(
http://www.videostreamsdk.com),它是用 ffmpeg 库编写的并且支持 iOS
kxmovie 项目。它是使用 ffmpeg 和 OpenGLES 的 iOS 电影播放器。目前项目已进入稳定阶段,大家可以尝试使用一下。