说明
- 本内容是建立在之前几篇文章基础之上的,本章内容只是将前面的东西拼到一起
源码
- "test/003/test_rtsp_server.c"
- "test/003/test_rtp_h264.c"
- "test/003/test_rtp.c"
- "test/003/test_rtp.h"
源码测试
- 首先将linux系统IP地址设置为"192.168.1.141"
- 编译:gcc test_rtsp_server.c test_rtp_h264.c test_rtp.c -lpthread
- 运行:./a.out test.h264
- 打开“VLC”播放器,选择“媒体”->“打开网络串流”,输入网络URL:rtsp://192.168.1.141:554
- 点击播放
- "test.h264"文件可使用"002/"文件夹下的
源码讲解
- 本文的代码并未新增什么功能,仅是将之前的代码拼在一起
- 在解析到"PLAY"后创建线程实现rtp发送h.264码流
if(!strcmp(method, "PLAY")) { ret = pthread_create(&rtp_tx_thrd, NULL, pthread_rtp_transfer, pthread_rtp_arg); } /* 注: ** 通过pthread_rtp_transfer函数最终调用rtpSendH264Frame函数实现h.264码流的发送, ** 在rtpSendH264Frame函数中调用sendto函数实现UDP发送,注意发送的端口号是客户端的rtp端口 */