Ios 使用AVFoundation消费web套接字视频流的方法?
我有一个通过WebSocket发送视频流的资源(我无法控制传输方法)。我能够使用从套接字读取数据,没有任何问题,但是Ios 使用AVFoundation消费web套接字视频流的方法?,ios,websocket,video-streaming,avfoundation,Ios,Websocket,Video Streaming,Avfoundation,我有一个通过WebSocket发送视频流的资源(我无法控制传输方法)。我能够使用从套接字读取数据,没有任何问题,但是AVPlayer及其同类需要NSURL,而不是NSData字节流 以下是我尝试过的几种解决方案: 自定义NSURLProtocol将字节从套接字路由到NSURLProtocolClient结果是AVPlayer和mpmovieplayervewcontroller不使用nsurconnection 尝试将字节写入磁盘并附加它们,但结果不佳 用于代理流。这里的API(除非我遗漏了什么
AVPlayer
及其同类需要NSURL
,而不是NSData
字节流
以下是我尝试过的几种解决方案:
NSURLProtocol
将字节从套接字路由到NSURLProtocolClient
结果是AVPlayer
和mpmovieplayervewcontroller
不使用nsurconnection
我怎样才能欺骗AVPlayer播放我的视频流?你应该看看。这允许您使用像
myapp://path/that/means/something/to/myapp
如果您设置了[[AVAsset resourceLoader]setDelegate:MyBJ队列:myQueue]
然后媒体播放管道会要求您提供一些数据,它只要求您使用一些NSData进行响应-请参阅。您需要将(大概)H.264/AAC数据写入MP4文件,或者使用HTTP服务器并为AVPlayer或MPMoviePlayer提供HLS流以进行播放。