質問

この質問は、ここと他のフォーラムの両方でさまざまな形で何度も尋ねたのを見てきました。質問のいくつかは答えられます、いくつかはそうではありません。回答者や著者が成功したと主張するいくつかの場所があります。私は、成功を主張するが、同じ結果をまだ見ていないものから例を実装しました。

サンプルバッファーがAvcaptureSessionから取得されたときに、AvassetWriter(およびAvassetWriterPutpixElbufferAdaptor)を使用して画像データとオーディオデータを同時に記述することができます。ただし、他の方法で生成されたcgimagerefがあり、cvpixelbufferrefを「ゼロから」構築する場合、appendpixelbuffer:with presentationtime method of avassetwriterpixelbufferadaptorはいくつかのフレームで成功し、その後のすべてのフレームで失敗します。結果の映画ファイルはもちろん無効です。

私のサンプルコードを次のように見ることができます。 http://pastebin.com/fcjzjmmi

画像は有効であり、デバッグウィンドウに表示することで画像が検証されます(50〜53行目を参照)。アプリは機器でテストされており、アプリの実行中はメモリの使用率が低くなっています。メモリ警告はありません。

私が知る限り、私は利用可能なドキュメントに従っています。サンプルコードが失敗するのはなぜですか?それを修正するために何をする必要がありますか?

誰かがAvassetWriterInputPixelBufferAdaptorを自分の画像で扱うことに成功した場合は、Chimeでお願いします。

役に立ちましたか?

解決 2

この作業を行うために必要な2つのことがあります。

独自のavassetwriterinputpixelbufferadaptorをデバッグしている場合は、CMTimeをスキップしないことを確認し、CMTimeを繰り返さないように注意してください(常に時間に1つのフレームがあります)。

他のヒント

例からavassetwriterを使用して、一連の画像で映画を作ります - https://github.com/caferrara/img-to-video

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top