相当棘手的一个......
我正在尝试在iOS上通过网络流式传输视频(H264)。但是,我通过打开的套接字将视频数据放入缓冲区(使用CocoaAsyncSocket),因此我没有可用于创建AVAsset或MPMoviePlayer的视频的URL。该视频是一个实时视频流,因此如果有任何不同,数据将会继续(即没有设置持续时间)。
我必须这样做,因为服务器是RTSP服务器。我已经编写了自己的RTSP客户端来发送命令和接收响应,现在我正在尝试对通过连接传输的视频数据做一些有用的事情。
有关如何播放此视频的任何想法?我目前唯一能想到的就是以某种方式保存到一个文件并加载它(但是我不知道它是如何工作的,因为我将不断加载新数据),或者采取某种方式手动操作像ffmpeg。不,不幸的是,我不能让服务器改为HTTP直播流。
非常感谢任何帮助!
答案 0 :(得分:0)
我还没有深入挖掘AVFoundation,但您可以通过创建AVAsset
AVAssetWriter
来实现它。您提供AVAssetWriter
AVAssetWriterInput
个实例,其中包含CMSampleBuffer
个数据,并将其打包为AVAssetWriter
。
根据AVAssetWriterInput
的{{3}},它旨在从“实时来源”获取数据。
我希望我能得到更多帮助,但希望这会指引你朝着正确的方向前进。