一、发送ts时的问题汇总
1.1 adts
aac必须有adts格式头,否则服务端会报错。(服务端使用srs)
1.2 sps/pps
客户端首次发送sps和pps后,必须进行缓存,同时每次发送I帧时都需要发送一遍。否则使用srt协议播放会报错无法找到sps pps。(使用rtmp播放时不需要)
1.3 单包长度
客户端每次发送数据包时,采用每次发送7个ts包,即188x7,所以每次封装为ts后,不要立刻发送,需要攒够7个包后,进行统一发送。(至于为什么是188x7,大概是刚刚小于MTU,减少传输时过大被拆包,过小浪费性能)
1.4 时间戳问题
使用安卓自带的编码器生成的时间戳,之前rtmp使用的是除以1000,继续使用会报错,改成除以10后正常。(不太懂安卓编码后的时间戳计算方式)