Android 让libstreaming库支持发送tcp包,也就是rtp over tcp

197 阅读1分钟

libstreaming库默认是发送udp包的, 但是他也支持了发送tcp包, 只是没有提供配置罢了, 需要修改一下源码。

1、在rtsp的setup请求中,设置outputstream,并 修改Transport以及新增interleaved属性

image.png

image.png

2、修改H264stream的描述

image.png

其他地方不用改也没关系的,有些属性在tcp中是不需要设置的,不删除也没事。
当然, 我用的并不是原作者的库,因为原作者的库不太正常, 我在fork中找到一个可以用的hannesa2/libstreaming: A solution for streaming H.264, H.263, AMR, AAC using RTP on Android (github.com),非常感谢这位作者的贡献,他还build了一个gradle的版本,非常好用。