0

いくつかの奇妙な理由で - QTKit QTMovie(player) で currentFrameImage が失敗します - 後者が RTSP を処理している場合。file::///.../some.h264 のようなものを再生する場合は問題ありません

関連コード

movie1 = [QTMovie movieWithURL:[NSURL URLWithString:@"rtsp://axiscam/..foo.h264"]
      error:&error];
movie2 = [QTMovie movieWithURL:[NSURL URLWithString:@"file:////axis-capture.h264"]
      error:&error];

...
movieView.movie = flag ? movie1 : movie2;
[movieView play:sender];

そして「スナップショット」へのコード:

-(IBAction)copy:(id)sender {
    NSImage * image = [movieView.movie currentFrameImage];

    if (!image) {
        NSSound * snd = [NSSound soundNamed:@"Basso"];
        [snd play];
        return;
    }

    NSPasteboard *pasteboard = [NSPasteboard generalPasteboard];
    [pasteboard clearContents];
    NSArray *copiedObjects = [NSArray arrayWithObject:image];
    [pasteboard writeObjects:copiedObjects];
}

カメラの保存されたストリームでは問題なく動作します。しかし、RTSP ストリーム (同じ H.264 形式) に同じことが適用されると、null (または黒い画像) が返されます。どちらもウィンドウで正常に再生されます。通常の一時停止などは完全に機能しています。

QTKit は基本的に RTSP を処理できませんか?

4

0 に答える 0