1

H.264 NAL ユニットを含むコンテナーのカスタム形式を提供する Web サービスがあります。カスタム MediaStreamSource を使用して、Silverlight で MediaElement を介してそれらを再生したいと考えています。

この記事によると、プライベートコーデックデータを設定する必要があります。Web サービスは configCodec を提供しますが、base64 形式です (「AUIAHv/hABhnQsAe2gMg7+IhAAADAAEAAAMAMo8WLqABAARozgvI」のようになります)

したがって、他のプラットフォーム (iOS、Android) では、必要なのはコーデックの追加データ プロパティに設定することだけです。

codec->extra-data = info;

しかし、Windows Phone では、この情報を 00000001 [SPS] 00000001 [PPS] のように提供する必要があります。では、Web サービスから提供されたプライベート データを解析して、そこから SPS および PPS 値を取得する方法を教えてもらえますか?

4

1 に答える 1

2

16進数にデコードされたデータは次のとおりです。

0x01 0x42 0x00 0x1E 0xFF 
0xE1 
0x00 0x18 (SPS length in bytes)
0x67 0x42 0xC0 0x1E 0xDA 0x03 0x20 0xEF (SPS...)
0xE2 0x21 0x00 0x00 0x03 0x00 0x01 0x00 
0x00 0x03 0x00 0x32 0x8F 0x16 0x2E 0xA0 (...SPS)
0x01 
0x00 0x04 (PPS length in bytes)
0x68 0xCE 0x0B 0xC8 (PPS)

この構造が正確に何であり、それがrfomであるかはわかりませんが、SPSとPPSは間違いなくその上にあります。

于 2012-08-22T09:27:46.117 に答える