是否有人知道如何使用QTMovie(QTKit)API获取RTSP流媒体电影的QTTracks?
基本上我想从电影中提取音频和视频曲目,并在播放之前做一些额外的处理。
以下是一个简化的代码段,这适用于本地电影文件但RTSP流失败:
NSError* err = nil;
QTMovie* myMovie = [QTMovie movieWithURL: @"rtsp://example.com/123.mov" error: &err];
NSNumber* loadState = [mMovie attributeForKey: QTMovieLoadStateAttribute];
// This succeeds
if ( [loadState intValue] >= QTMovieLoadStatePlayable ) {
// This fails - audioTracks returns a count of 0
NSArray* audioTracks = [mMovie tracksOfMediaType: QTMediaTypeSound];
if ( [audioTracks count] > 0 ) {
[self processTrack: (QTTrack*)[audioTracks lastObject]];
}
}
提前感谢您的帮助。
答案 0 :(得分:0)
使用rtsp流,QTMovie工作的实际文件是一个“流媒体处理程序”容器,大小约10kb,你可以通过查看QTMovieDataSizeAttribute键是否在200左右来验证,没有办法到达流中的实际数据(甚至不包括10.7 AVCaptureInput api)