JRTPLIB: RTP和RTCP协议栈

本文介绍了如何利用JRTPLIB库来接收和处理H264-RTP流,包括在QT环境中使用QThread进行包接收。虽然代码逻辑有待整理,但提供了基本的实现思路。
摘要由CSDN通过智能技术生成

RTP和RTCP

RTP协议和RTCP协议都是流媒体传输协议 都是实时流媒体传输协议的一部分
1. RTP协议规定流媒体传输的打包格式
2. RTCP协议控制流媒体传输质量

JRTPLIB是一个外国人开源的RTP项目,包括对RTP和RTCP的支持
github的仓库地址为

https://github.com/j0r1/JRTPLIB

JRTPLIB

项目有一个官方的网站 http://research.edm.uhasselt.be/jori/page/CS/Jrtplib.html

值得一提的项目的开源协议是MIT
无论是个人还是商用都没有什么顾虑

JRTPLIB依赖于JTHREAD项目 两个项目的作者是同一个
编译JRTPLIB前需要先编译JTHREAD

利用JRTPLIB接收H264-RTP流并组帧

这里展示一个使用JRTPLIB接收h264-rtp流的例子
getOneNalu是拼帧函数
int RtpRcver::getOneNalu(void *bufIn, int pktSize, int payloadLen,
                         void **bufOut, int *bufLen) {
    int rtpHdrLen = 0;
    uint8_t nalu, headf, heads, pos, fu_hdr;
    uint8_t *src = NULL, *tmp = NULL;

    *bufLen = 0;
    if (pktSize < 12 || payloadLen < 2)
        return -1;

    rtpHdrLen = pktSize - payloadLen;
    src = (uint8_t 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值