2011-09-07 3 views
4

AVAssetWriterを使用して、Zoulの答え、How do I export UIImage array as a movie?に続いて一連の画像を動画ファイルにエンコードしています。AVAssetWriterからの出力(ビデオに書き込まれたUIImages)が歪んでいます

要するに、私のプロセスは、次のとおりです。

  • UIImage
  • からCGImageが
  • がフレームを書き込む(正確にzoulの関数pixelBufferFromCGImageを使用して)CVPixelBufferにCGImageを変換しなさいファイル
  • を.pngのからUIImageを作成しますAVAssetWriterInputPixelBufferAdaptorおよびAVAssetWriterを使用して.movに変換する

これはiほとんどの場合うまく動作しますが、エンコードされた.movファイルが歪んでいることがあります(下の図を参照)。私はこのタイプの歪んだ画像出力が誰にでも馴染み深いのか疑問に思っていました。もし何か踏み込んだことがあれば、これを引き起こすフレームをエンコードしているかもしれません。この問題は、私が使用するソースイメージがTitaniumのImageView.toBlob()への呼び出しによって生成された場合に特に発生します。チタンの面だけでなく、このタイプの結果がどのように表示されるかについてのヒントは素晴らしいでしょう。

おかげで、映画から アレクサンダー

画面: http://tinypic.com/view.php?pic=8wkqys&s=7

オリジナル画像:http://commons.wikimedia.org/wiki/File:Phalaenopsis_(aka).jpg

Phalaenopsis_(aka)

答えて

3

は[OK]を、これは、アスペクト比の問題であることが判明しました私が作成していたPixelBufferの縦横比とは違って読んでいたイメージです。それらを平等にし、それは正常に動作します。

6

this linkをご覧ください。幅は16の倍数でなければならないと言います。

ちょうどsize.widthを取得し、16の倍数である最も近い数を計算します。 そしてsize.widthの代わりにハードコードします。

作品:

関連する問題