2009-04-23 2 views
2

私はQTKitでMyRecorderサンプルを使用しましたが、すべて記録しますが、私のカメラはPALで、PALとNTSCのH264エンコーディングの解像度は異なります。 PALは724x568で、NTSCは724x480です。QTKit PALモード

H264HighのQTプロファイルを選択すると、デフォルトでは724x480 NTSC解像度の出力ファイルしか使用されませんが、カメラの出力は724x568です。したがって、最終出力には移動するオブジェクト間に不必要な水平線がたくさんあります。

私は問題が解決設定のみであることを知っていますが、QTKitは非常に密接にコーディングされているため、エンコーダパラメータを変更する設定はありません。

しかしアップルは以前のシーケンスグラバーアプローチではなくQTKitを使用することを推奨していますが、私たちの大規模な顧客ベースはPALカメラのみを持ち、PAL解像度を有効にするには解決策が必要です。誰も私たちを導くことができますか

答えて

2

今のところQTKitでこれを行うのは簡単ではありません。あなたはオプションのカップルを持っているQTKitもお使いいただけのみ使用

:何あなたができることは、単純なストリームQTCompressionOptionsLosslessAnimationVideoを使用して、QuickTimeムービーにあなたのカメラからのデータがあり、その後でH.264にファイルを変換

  1. QTMovieクラスを使用したい解像度。このオプションは大量のディスク領域を使いますが、かなりシンプルです。

  2. の代わりにQTCaptureDecompressedVideoOutputを使用し、outputVideoFrame:withSampleBuffer:fromConnection:を呼び出したときにビデオフレームをスレッドセーフキューにバッファします。その後、セカンダリスレッドで、このキューからPII解像度でH.264エンコーディング用に設定したQTMovieにフレームを追加します。

アプローチ2はあなたのディスクスペースを節約するが、少しより多くの仕事である、とあなたはスレッドの懸念を心配する必要がありますが、最高ですQTCaptureMovieFileOutputクラスで私たちに利用できる多くのオプションがありますまでしますできるよ。

+0

ありがとうございます。最初のオプションを使用することはできません。なぜなら、最初にディスクに保存してから読み込み、h264に再変換するには時間がかかりすぎるため、録画したビデオに長時間かかるからです。私たちはこのオプションを試してみたところ、5分のビデオを記録し、h264の再変換は6分を要していたことが分かりました.5分のビデオが100本あれば、時間がかかります。コードサンプルで私を案内してくれたり、iMac Devの新機能です。 –

関連する問題