4

誰かが次の質問を明確にすることができますか?まともなソースコードスニペットまたは例は素晴らしいでしょう。私がこれまでに見つけた唯一の関連する例は、SDKのWavSourceです。

  1. 生のビットマップデータはどのようにエンコーダーに提示されますか?(A)RGB 32BPPまたは同様のものですか?

  2. 何かが入力ストリームでRequestSample()を呼び出すWavSourceサンプルに基づいて、これはデータ、再生時間、および期間を返します。それで、再生時間と持続時間が1秒の適切にフォーマットされたバッファーを返すのでしょうか?

ありがとう。

4

1 に答える 1

3

カスタムメディアソースの作成方法については、次のリンクを参照してください:http: //msdn.microsoft.com/en-us/library/windows/desktop/ms700134 (v=vs.85).aspx

基本的に、生のビットマップはサンプルでエンコードされます。サイズ4*row *heightのサンプルを32BPPに割り当てて、rawバッファーを渡すだけです。

あなたはこれを行うことができます:

  1. バッファを作成するMFCreateMemoryBuffer
  2. ビットマップをバッファにコピーするMFCopyImage
  3. サンプルを作成するためのMFCreateSample

ビデオサンプルのエンコードについては、http://msdn.microsoft.com/en-us/library/windows/desktop/ee663604 (v = vs.85).aspxを参照してください。

于 2014-06-27T07:07:18.237 に答える