2016-11-22 9 views
0

SourceReader技術を使用してWindow Desktop Cameraアプリケーションを開発しています。SourceReaderを使用してカメラストリーミングから.mp4ビデオファイルを作成するときの問題

今、私はUSBカメラから.mp4ビデオファイルをキャプチャするために取り組んでいます。 640 x 480,1280 x 720と1920 x 1080のビデオファイルをキャプチャできます。 ビデオ解像度を1920 x 1080より高く変更し、IMFSinkWriterオブジェクトのSetInputMediaTypeを呼び出すと問題が発生しました。 HRESULTエラーコード0xc00d36b。

私は、エンコーディング用のビデオサブタイプを使用:MFVideoFormat_H264

はMFVideoFormat_H264以外の.mp4ファイルをエンコードするために利用可能な任意の他のサブタイプがありますか?

なぜ、フルHD解像度よりも高い.mp4ファイルをキャプチャできないのですか?ビデオファイルをエンコードするために何かが欠けていますか?はいの場合は、この問題を解決するためのガイドラインを教えてください。

ありがとうございます。

答えて

0

ボトルネックの可能性は、ビデオエンコーダがサポートする最大解像度です。あなたはおそらくシンクライターの一部としてエンコーダーを暗黙的に使用しています。 Sink Writerは解像度を制限しませんが、エンコーダが特定のメディアタイプを処理できない場合、エンコーディングは不可能です。具体的には、Windows 7の解像度は1920x1088に制限されています。

また、エラーコードから1桁を失いました。

も参照してください:

+0

ご迷惑をおかけして申し訳ありません。私はWindows 8で作業していました。なぜこのエラーが発生しますか?両方のリンクで、彼らはMPEG-4シンクを使用するように指摘しました。私はこのシンクを使用しようとします。私はあなたにもう1つの質問があります。ビデオファイルをキャプチャするときにエンコーダが実際にシンクライタを使用しているかどうかを調べるにはどうしますか? – Abi

+0

['IMFSinkWriterEx'](https://msdn.microsoft.com/en-us/library/windows/desktop/hh448060)を使用してエンコーダにアクセスできますが、最も簡単な方法は、ハードウェアエンコーダを無効にしてソフトウェアエンコーダを[ 'MF_READWRITE_ENABLE_HARDWARE_TRANSFORMS'](https://msdn.microsoft.com/en-us/library/windows/desktop/dd375765)属性です。このようにして、H.264エンコーダにする必要があります。 –

+0

ローマ様ありがとうございます。私はこのフラグをシンクライターが使用している現在のエンコードをチェックします。私はビデオファイルをキャプチャするためにMPEG-4ファイルシンクを使用しましたが、私は前のクエリで言及したのと同じエラーを受けました。 https://www.dropbox.com/s/o1pnf2rhtc83n9x/MPEG4-Sink_Code_StackOverflow.txt?dl=0 – Abi

0

ローマは偉大な答えを与えたが、ちょうど他のコーデックのトピックを追加する - あなたがいることがわかりますが、MSDNにMPEG-4 File SinkをチェックするとMJPGのサポートについても言及しています(Windows 8からしか利用できないのか、それとも単にWindows 8で改善されたのかは明らかではありませんが)MFVideoFormat_MJPGも使用できるはずです。サイズの制限はないはずですが、結果として生成される.mp4ファイルのサイズは劇的に大きくなります。

+0

返信いただきありがとうございます。私は高解像度のビデオをキャプチャするためにMPEG-4ファイルシンクを使用しましたが、以前のpost.Herewith参照のためにこのリンクに私のサンプルコードが添付されている同じエラーに直面しています:https://www.dropbox.com/ s/o1pnf2rhtc83n9x/MPEG4-Sink_Code_StackOverflow.txt?dl = 0。私はメディア基盤の初心者です.1週間はこの問題で苦労しています。私のコードが間違っている場合は、いくつか考えてください。もう一度ありがとうございます。 – Abi

+0

Windows 8に.mp4ファイルをキャプチャするには限界があります。これはFull HD解像度までキャプチャすることができますが、Windows 10でUltra HDまでキャプチャすることができます。貴重なご意見ありがとうございます。 – Abi

関連する問題