0

1台のAndroidデバイスから別のデバイスにライブプレビューを表示しようとしています。ここで がメディアコーデックのデコーダと再生

送信者、私がやったことです: - > 2.Mediacodec(エンコードH264は、バイト[]) - 1.Cameraフレーム(YUV)> 3.MediaMuxer-> 4.mp4

私は」 mソケット接続を介してメディアエンコーダの出力を送信する。

受信者:5.byte [] via socket - > 6。 Mediacodec(デコーダ) - > 7.再生。

手順5まですべて正常に動作します。

しかし、[]バイトをデコードできません。ここには何が欠けていますか?私は、spsとppsを正しく送信する(送信する方法がわからない)ことができないと思います!私が送信しているものが正しいデータであることをテストする方法も?

ありがとうございました。

答えて

0

エンコードされたh264ビデオをmp4(コンテナ形式)に多重化しています。しかし、デコード側では、デマルチプレクサ(またはパーサー/スプリッタ)を使用していません。メディアコーデックデコーダは、コンテナ形式ではなく、基本ビデオを取ることができます。 メディアエクストラクタを使用してAndroidでデマルチプレクサを使用します。 (https://developer.android.com/reference/android/media/MediaExtractor.html

+0

MediaExtractorはファイルまたはURLのみを入力とみなしているようですが、MediaExtractorにbyte []を渡すことはできますか? –