当前已有RtspServer多数支持H264,但对JPEG支持比较少,LIVE555虽然有JPEG部分代码,但是需要自己去实现对JPEG header的解析部分。
RTSP推流H264、H265时,无需解析SPS、PPS,直接对RTP Header做些处理即可;但是推流JPEG、MJPEG时,则需要根据JPEG Header解析出width、height、qFactor、quantization table等信息,然后再参考RTC2435文档进行RTP_JPEG主Header数据。谜之操作令人无语。另外对JPEG、MJPEG的处理是不同的,JPEG时可以舍去原有JPEG Header部分,保留SOS之后的部分即可;但是MJPEG同样处理时客户端无法预览,将原有JPEG Header部分加回去即可正常预览。
github url:<git@github.com:xiaodongzhang1025/RtspServer.git>
(based on https://github.com/PHZ76/RtspServer)
参考如下文档
https://www.rfc-editor.org/rfc/rfc2435.html
http://lists.live555.com/pipermail/live-devel/2012-February/014672.html