AVCaptureSessionからのデータストリームをセミライブストリーミングの方法で取得する必要があります。 AVFoundationでの私の経験では、ファイルをディスクに書き込んだ後でそれを読み取ることしかできません。AVFoundationキャプチャセッションから生データストリームを取得
ストリームを経由してサーバーにパイプしてデータをキャプチャする方法はありますか?
ありがとうございます!
AVCaptureSessionからのデータストリームをセミライブストリーミングの方法で取得する必要があります。 AVFoundationでの私の経験では、ファイルをディスクに書き込んだ後でそれを読み取ることしかできません。AVFoundationキャプチャセッションから生データストリームを取得
ストリームを経由してサーバーにパイプしてデータをキャプチャする方法はありますか?
ありがとうございます!
AVCaptureVideoDataOutput
および/またはAVCaptureAudioDataOutput
を使用して生データを取得できます。
どのようにCMSampleBufferオブジェクトを取得し、それらをサーバーに送信するのに適したNSDataオブジェクトに変換しますか? – DexterW
@Dex:キャプチャしているフォーマットによって異なります。一般に、イメージバッファを取得し、[ここ](http://developer.apple.com/library/ios/#documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/05_MediaRepresentations.html#//apple_ref/doc)に示すようにロックします。/uid/TP40010188-CH2-SW4)。次に、 'CVPixelBuffer'関数を使って生データを収集し、すべてのプレーンを取得することができます。 –
私は実際にオーディオを録音しています – DexterW
raw PCMを送信する場合は、CMSampledBufferからすべてのデータを取得できます。データの取得方法については、CMSampleBuffer.hおよびCMSampleBufferリファレンスを参照してください。 AACをストリーミングする場合は、CoreAudioを使用する必要があります。これは単純なAudioQueueサービスを使用して行うことができます。 AAC-LDやオーディオキャンセルなどのコントロールが必要な場合は、AudioUnitsを使用する必要があります。 Kevin AvilaとChris AdamsonのCoreAudioの本を調べてください。私はAQオーディオをサーバーにストリーミングするためのテストケースとしてAudioQueue録音コードを使用しました。 –