如何在iOS上手动从套接字加载视频?

时间:2011-01-10 23:17:25

标签: iphone objective-c ios avfoundation rtsp

相当棘手的一个......

我正在尝试在iOS上通过网络流式传输视频(H264)。但是,我通过打开的套接字将视频数据放入缓冲区(使用CocoaAsyncSocket),因此我没有可用于创建AVAsset或MPMoviePlayer的视频的URL。该视频是一个实时视频流,因此如果有任何不同,数据将会继续(即没有设置持续时间)。

我必须这样做,因为服务器是RTSP服务器。我已经编写了自己的RTSP客户端来发送命令和接收响应,现在我正在尝试对通过连接传输的视频数据做一些有用的事情。

有关如何播放此视频的任何想法?我目前唯一能想到的就是以某种方式保存到一个文件并加载它(但是我不知道它是如何工作的,因为我将不断加载新数据),或者采取某种方式手动操作像ffmpeg。不,不幸的是,我不能让服务器改为HTTP直播流。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

我还没有深入挖掘AVFoundation,但您可以通过创建AVAsset AVAssetWriter来实现它。您提供AVAssetWriter AVAssetWriterInput个实例,其中包含CMSampleBuffer个数据,并将其打包为AVAssetWriter

根据AVAssetWriterInput的{​​{3}},它旨在从“实时来源”获取数据。

我希望我能得到更多帮助,但希望这会指引你朝着正确的方向前进。