1

我有网络服务,它为我提供了包含 H.264 NAL 单元的自定义格式的容器。我想使用自定义 MediaStreamSource 通过 Silverlight 中的 MediaElement 播放它们。

根据这篇文章,我需要设置私有编解码器数据。Web 服务为我提供了 configCodec,但采用 base64 格式(看起来像“AUIAHv/hABhnQsAe2gMg7+IhAAADAAEAAAAMAMo8WLqABAARozgvI”)

因此,在其他平台(iOS、Android)中,我需要的只是设置为编解码器的额外数据属性。

codec->extra-data = info;

但在 Windows Phone 中,我应该提供类似 00000001 [SPS] 00000001 [PPS] 这样的信息。那么,有人可以告诉我如何解析来自 Web 服务的提供的私有数据以从中获取 SPS 和 PPS 值吗?

4

1 回答 1

2

您解码为十六进制的数据是:

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 回答