ビデオファイルでCMTimeとfpsの機能を理解しようとしています。私はforループを使ってAVPlayerにビデオのすべてのフレームを表示しようとしています。私はこの作業がAVPlayerのplayメソッドを使って簡単にできることを知っています。しかし、フレームがどのくらい正確に表示されているかを知りたい。私はforループを作成し、AVPlayerのseekToTimeメソッドを常に更新することによって、各フレームを1つずつ表示しようとしました。私は解決策を開発することができますが、それはすべてのフレームを表示しておらず、ビデオはぎくしゃくして見えます。iOSで再生方法を使用せずにビデオフレームを表示する
これは私のコードです:
ここfor(float t=0; t < asset.duration.value; t++)
{
CMTime tt = CMTimeMake(t, asset.duration.timescale);
[self.player seekToTime:tt];
NSLog(@"%lld, %d",tt.value, tt.timescale);
}
、プレイヤーは、資産がそのフレーム私が提示しようとしているビデオ資産である、AVPlayerのインスタンスです。 CMTimeMakeSeconds(t、asset.duration.timescale)を使ってみましたが、動作しませんでした。
ご提案ください。 ありがとうございます。
。私はAVAssetReaderが私の仕事をすべきだと思います。あなたはAVAsstReaderについて読んでもいいところからいくつかのリソースを提案できますか?私が見つけることができる唯一のリソースは、ビデオをキャプチャする際に個々のフレームを処理することに関するアップルのウェブサイトです。私はカメラのロールから選択されたビデオのための個々のフレームを取得するために探しています。ありがとう。 – maven25