参考开源项目中 https://github.com/Yohoa/IoT_Camera/tree/master rtsp.c rtsp.h 源码文件。
rtsp调用步骤:
1. struct rtsp_server_context *g_rtsp_server = rtsp_start_server(RTP_TRANSPORT_UDP, port);
2. rtp_push_data(g_rtsp_server, spsPpsSt.sps_data, spsPpsSt.sps_len, 0);//sps data
3. rtp_push_data(g_rtsp_server, spsPpsSt.pps_data, spsPpsSt.pps_len, 0);//pps data
4. rtp_push_data(g_rtsp_server, g_stream_buf, dataLen, pts);//h264 venc data
5. rtsp_stop_server(g_rtsp_server);
线程若崩溃时注意调整RTSP_THREAD_STACK_SIZE大小。
以下代码解析SPS、PPS数据(以00 00 00 01作为起始标志)
SpsPpsInfo len=28
00 00 00 01 67 4d 00 33 96 54 03 c0 11 2f 2c dc 14 18 14 08 (SPS)
00 00 00 01 68 ee 3c 80 (PPS)
-----------------------------------------------
typedef struct __SpsPpsInfoSt{
unsigned char *vps_data;
int vps_len;