0

有人知道如何使用 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]];
  }
}

提前感谢您的所有帮助。

4

1 回答 1

0

使用 rtsp 流,QTMovie 处理的实际文件是一个“流媒体处理程序”容器,大小约为 10kb,您可以通过查看 QTMovieDataSizeAttribute 键是否低于 200 左右来验证,无法获取实际数据流(甚至没有 10.7 AVCaptureInput api)

于 2012-01-08T22:30:37.057 回答