h.264 udp流解码
h.264 udp stream decoding
我在 Android 上通过 UDP 接收 h.264 数据。它看起来像一个接收 NAL 单元。
我想做的是提取
原始 mpeg 数据包,然后我可以将其推送到我的播放器。我使用 ijkplayer(基于 ffmpeg 构建),如果我推送与接收到的完全相同的数据,它就不起作用。
我的问题是:如何提取原始 h.264 数据包。这个流是否包含在另一个协议中?或者是否有可能流被破坏并且一些数据丢失?
数据 - 缩短...为简洁起见
0 0 0 1 97 0 -96 -101 -7 55 -117 1 82 -100 9 -107 -77 14 -20 -120 65 ...
0 0 0 1 97 0 80 38 -2 77 -1 57 -39 19 -20 86 -31 -47 11 122 -51 -82 ...
0 0 0 1 97 0 120 38 -2 77 -1 -118 7 -97 -80 -29 -2 -79 126 -25 47 3...
0 0 0 1 103 100 0 40 -84 -76 5 1 -19 -128 -86 64 0 0 3 0 -128 0 ...
0 0 0 1 104 -18 60 -80
0 0 0 1 97 0 -96 -102 25 51 -1 11 93 79 -78 94 -70 23 120 ...
0 0 0 1 97 0 80 38 -122 76 -1 16 80 -100 -84 -18 116 64 ...
0 0 0 1 97 0 120 38 -122 76 -1 26 -19 80 -103 -74 -31 44 ...
0 0 0 1 97 -102 57 51 -1 0 20 110 -37 37 -77 52 113 ...
0 0 0 1
是h.264起始码。就这样 "raw"。 (没有这样的想法 "mpeg packet")
我在另一个论坛上发现我需要等待“0 0 0 1 9”,它标志着访问单元的开始,然后我可以将数据提供给 MediaCodec。
我在 Android 上通过 UDP 接收 h.264 数据。它看起来像一个接收 NAL 单元。 我想做的是提取 原始 mpeg 数据包,然后我可以将其推送到我的播放器。我使用 ijkplayer(基于 ffmpeg 构建),如果我推送与接收到的完全相同的数据,它就不起作用。
我的问题是:如何提取原始 h.264 数据包。这个流是否包含在另一个协议中?或者是否有可能流被破坏并且一些数据丢失?
数据 - 缩短...为简洁起见
0 0 0 1 97 0 -96 -101 -7 55 -117 1 82 -100 9 -107 -77 14 -20 -120 65 ...
0 0 0 1 97 0 80 38 -2 77 -1 57 -39 19 -20 86 -31 -47 11 122 -51 -82 ...
0 0 0 1 97 0 120 38 -2 77 -1 -118 7 -97 -80 -29 -2 -79 126 -25 47 3...
0 0 0 1 103 100 0 40 -84 -76 5 1 -19 -128 -86 64 0 0 3 0 -128 0 ...
0 0 0 1 104 -18 60 -80
0 0 0 1 97 0 -96 -102 25 51 -1 11 93 79 -78 94 -70 23 120 ...
0 0 0 1 97 0 80 38 -122 76 -1 16 80 -100 -84 -18 116 64 ...
0 0 0 1 97 0 120 38 -122 76 -1 26 -19 80 -103 -74 -31 44 ...
0 0 0 1 97 -102 57 51 -1 0 20 110 -37 37 -77 52 113 ...
0 0 0 1
是h.264起始码。就这样 "raw"。 (没有这样的想法 "mpeg packet")
我在另一个论坛上发现我需要等待“0 0 0 1 9”,它标志着访问单元的开始,然后我可以将数据提供给 MediaCodec。