わかりました、私がしようとしているのは、既存のビデオ ファイルからフレームを取得し、そのフレームでいくつかの作業を行ってから、新しいファイルに保存することです。
実際に何が起こるかというと、コードが非常に高速であるため、いくつかのフレームを書き込んでからクラッシュします。
AVAssetWriterInput.readyForMoreMediaData
OpenCV ビデオライターは AVFoundation クラスを使用して実装されていますが、アクセスできなくなります
AVAssetWriterInput.readyForMoreMediaData
または私は何かが欠けていますか?
ここに私がやろうとしていることに似たコードがあります、
while (grabResult&&frameResult) {
grabResult = cvGrabFrame(capture); // capture a frame
if(grabResult){
img = cvRetrieveFrame(capture, 0); // retrieve the captured frame
cvFlip(img,NULL,0); // edit img
frameResult = cvWriteFrame(writer,img); // add the frame to the file
cvWaitKey(-1); or anything that helps to finish adding the previous frame
}
}
iPhone/iPad アプリで (表示せずに) OpenCV を使用してビデオ ファイルを変換しようとしていますが、cvWaitKey() 関数以外はすべて機能し、次のエラーが発生します。
OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvWaitKey,
ビデオライターの準備ができているかどうかを知る方法がないため、この機能がないとフレームがドロップされます。私の問題の代替手段はありますか?
OpenCV 2.4.2 を使用していますが、最新のプリコンパイル済みバージョンの OpenCV で同じエラーが発生します。