.sdp文件(h264)获取sps和pps

#tech
  1. 需要从手机端获取一个H264编码的视频流。(有一篇文章:http://blog.csdn.net/zgyulongfei/article/details/7538523)

    或者,手机端直接拍摄的视频是mp4文件,利用winhex分析其16进制编码,打开后,找到avcC,E1表示为sps,09表示有9个16进制数表示sps,也就是:67 42 C0 1F 00 A0 0B 72 。后面的01 00 04表示即为pps有4位,即:68 CE 06 E2。

  2. 转换成sps和pps。.sdp文件中是进行的Base64编码。所以我们将16进制转换成2进制,按8位转换,高位补0 。转换后,根据Base64编码规则,将每六位2进制数转换成10进制数,当最后的位数不够时,补0,并记为=。例如:01101000,前六位转换成十进制26,剩两位,补上0000,变成6位,之后再转码。转码之后形如:aM4G8g==,即意为补了两次00,也就是补了0000 。一个=表示补了00 。

  3. 转换成10进制后,根据Base64编码规则表找到对应的字符即可。

问题:这样的转换我觉得是没有问题的,但是编码之后发现sdp文件还是不可用。之后发现原来spyDroid这个软件会自动在手机里生成一个sdp文件,拖出来看了之后发现我的编码和他的不一样。所以应该是我的错了。但是不知道是哪里的问题,希望有人能帮我解决,或者以后能自我解决,但是整体的方法就应该跟上面一样。做个参考吧。