jrtplib的简单封装类及使用(二)

Ubuntu16.04下JRTPLIB库的安装编译与使用 下载JRTPLIB3 和 JTHREAD &&编译安装 http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jrtplib 下载完成后,放在/usr/local/src/路径下,并执行tar -xvfxxx.tar.bz2解压 分别进入jthread和JRTPLIB执行以下操作: cmake CMakeLists make make install 会在/usr/local/include/路径下生成两个文.. 阅读详情

使用介绍

1:首先需要在程序开始时加入

   WSADATA dat;   

   WSAStartup(MAKEWORD(2,2),&dat);

 

    程序结束退出时加入

    WSACleanup();

2:要发送数据的类继承于RtpSender类

 

   a:创建Session

         发送数据之前需要创建Session,调用CreateSenderSession后即可创建。

         参数为本机的用于发送视频帧的端口号port,默认为LOCAL_SENDER_PORT

   b:加入目的地址

         就是要发送到的主机的ip和port。调用AddDestAddr实现,参数为辅助类IpPort变量

   c:发送数据

        发送一段数据就调用一次SendPacket。

           bool SendPacket(void *data,unsigned int len);

        参数data为数据的起始地址,len为数据长度。

    d:结束发送需要调用CloseSenderSession。

3:要接收数据的类继承自RtpReceiver类

    a:创建Session

         要接收数据必须要创建Session,调用CreateReceiverSession即可。

         参数为用于接收视频帧的端口号port,默认为LOCAL_RECEIVER_PORT

    b:接收数据

         需要实现类RtpReceiver的纯虚函数ProcessReceiveData

        virtual void ProcessReceiveData(RTPSourceData &srcdata, RTPPacket &packet)

        参数srcdata用于判别发送数据的主机ip地址和端口,

        参数packet含有发送者发送的数据。

          数据长度为packet.GetPayloadLength()

          数据起始地址packet.GetPayloadData()

        该函数可以对接收到得数据进行处理。

     C:结束Session时调用CloseReceiverSession。

说明,上述封装仅仅是简单的数据传输,没有传输控制,没有接收数据的缓冲操作,仅仅限于局域网络传输等等不足都令其用处仅在于学习。

        

 

        

      

jrtplib库介绍和思维导图 接WebRtc底层传输模块RTP/RTCP协议知识 光有理论知识是不够得,只有理论话,觉得自己少点什么,心理有种不踏实得感觉,哈哈哈。加上实践,才会对这些理论知识有更深得理解。 经过我得“翻箱倒柜”发现RTP/RTCP开源项目有如下live555、jrtplib、ortp。live555是古老庞大得流媒体提供解决方案的跨平台的C++开源项目,因为历史原因代码被修改了面目全非,很难入手;ortp是C语言项目比较小巧,性能也很棒;jrtplib是C++开源项目,代码看起来整齐优美,应该可以学到不少东西呢。那就从 阅读详情

相关推荐

实战中jrtplib发送rtp包,时间戳处理大坑

RTP 是目前解决流媒体实时传输问题的最好办法,如果需要在Linux平台上进行实时流媒体编程,可以考虑使用一些开放源代码的RTP库,如JRTP

weixin_44834554的博客 1553

JRTPLIB@Conference DIY视频会议系统

------------------------------------------------------------------------------------------------------------------------------ JRTPLIB@Conference DIY视频会议系统 一、开编             转自 http://wmnmtm.blog

理性的幻想 3600

使用JRTPLIB开发包构建RTP包接收程序

在现代通信系统中,实时传输协议(RTP)和实时传输控制协议(RTCP)是支持多媒体数据流的关键组成部分。RTP致力于为网络中的音频和视频等流媒体数据提供端到端传输机制,而RTCP负责监控服务质量并提供反馈。理解这两者的原理和协同工作机制是构建可靠通信系统的基础。RTP协议定义于RFC 3550,主要面向点对点或多点传输场景,允许数据包在网络上以实时的方式进行传输。它广泛应用于语音、视频会议、流媒体直播等领域。RTP通过其独特的序列号和时间戳机制,支持数据包的顺序重排和同步播放。

weixin_42610671的博客 1163

JRtplib开发笔记(四):JRtplib的VS开发环境搭建以及Demo

原博主博客地址:https://blog.youkuaiyun.com/qq21497936 本文章博客地址:https://blog.youkuaiyun.com/qq21497936/article/details/84957708 《JRtplib开发笔记(一):JRtplib简介、JThread库编译》:https://blog.youkuaiyun.com/qq21497936/article/details/8478...

长沙红胖子 Qt・西安|省级科研团队从业背景,深耕双一流体系高精尖技术配套研发|剥离高精尖机理,沉淀高端特种行业领域 Qt 工程化落地经验|博文仅分享通用技术总结,输出公开普适工程思路。 4万+

利用jrtplib封装的rtpserver

利用jrtplib封装的rtpserver,能够发包和收包,很好的资源

太速科技-基于DSP TMS320C6678+FPGA XC7V690T的6U VPX信号处理卡

当多块盘并行工作时,存储阵列读写带宽成指数增长,2块盘则≥4GB/s,4块盘则≥8GB/s,以此类推。存储阵列的存储容量由单盘配置决定,目前单块NVME存储盘存储容量可选择512GB、1TB、2TB、4TB、8TB、16TB。硬盘管理通过文件系统,FPGA的PCIeX4与 6U VPX主板互联,操作系统直接映射管理硬盘,也可以通过前面板QSFP+ 光纤导出给其他服务器设备。本方案优势就是集中的进行采集,存储,计算一体化,降低硬件成本、功耗,减小设备体积、重量。信号处理,无线电通信领域。

Orihard_的博客 678

jrtplib简介

jrtplib是一个基于C++、面向对象的RTP封装库,最新的版本是3.9.1(2011年11月)。为了与RFC3550相兼容,3.x.x版本经过完全重写,现在它提供了一些非常有用的组件,这些组件为构建各种各样的RTP应用程序开发提供了有用的帮助。较旧的2.x版本依然可用,但是不兼容RFC3550。 1.特性         jrtplib支持定义于RFC3550中的RTP协议,它使得发送和接

草上爬的博客 9490

神经网络(十五)在VS Code下搭建PyTorch环境

pytorch在vscode中的配置和使用

就随便写写.... 5万+

jrtplib的简单封装类及使用(一)

<br />使用到了一个辅助类IpPort<br />#ifndef _IPPORT_H #define _IPPORT_H #include <WinSock2.h> class IpPort { public: unsigned int m_ip;//网络字节顺序 unsigned short m_port; public: IpPort() { m_ip = INADDR_NONE; m_port = INVALID_SOCKET; }

MyEclipseWorkspace的专栏 1591

ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)解决办法

问题:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO) 很久没用这台电脑的mysql了,今天需要连接数据库,启动数据库报错: ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO) 解决方法: 查阅资料后知道了,应该使用已知的用户名和密码登陆 mysql -u root -p 然而密

一个超会写Bug的程序猿的博客 43万+

通俗范畴论10 泛性质(MD版)

既然泛性质可以在同构意义下唯一确定一个泛构造,那么我们就可以用泛性质来定义泛构造。我们回顾一下已经掌握的泛性质和泛构造。泛性质其实我们并不陌生,始对象和终对象,就是具有泛性质的对象,一个具有“始”的泛性质,一个具有“终”的泛性质。比如始对象,如果一个范畴里面有始对象,它到所有对象都有且只有一个态射,这样的对象可能有两个么?嗯,还真可能,但是这两个始对象同构,所以在同构意义下,它们可以看成一个,因此在同构意义下,始对象是唯一的。同理,终对象也一样。同构的始对象。

RockTec的专栏 478

JRTPLIB使用实例

这几天在看关于JRTPLIB方面的东西。在网上看了不少文章,其中有很大部分使用的JRTPLIB版本在3.0以下。在网上下载了一个JRTPLIB-3.7的库,发现里面的函数接口做了一些修改。现奉上一篇基于JRTPLIB-3.7的网络语音传送实例,希望有兴趣的朋友一起参详研究。                                                           

chuckGao的专栏 1万+

Cadence Orcad Capture原理图断线的检查与避免方法

在设计电路图中,尤其是直接借鉴别人的设计进行二次开发的过程中难免会遇到如下尴尬的情况。有没有眼神好的朋友发现图纸的哪里有不对劲的地方呢?

fydar的博客 3267

jrtplib的使用

JRTPLIB库的使用 文档:http://research.edm.uhasselt.be/jori/jrtplib/documentation/index.html一些介绍:http://doserver.net/read.php?1028http://doserver.net/read.php/1

清闲老窝的专栏 6929

手把手教你学Simulink——电机电磁兼容与可靠性场景示例:基于Simulink的电机噪声抑制控制仿真

本文带你完成了电机噪声抑制控制的Simulink仿真,实现了:✅ 揭示了电磁噪声从电流到声音的传递机理✅ 搭建了含死区、固定载波等噪声源的高保真模型随机PWM(消除啸叫)谐振控制器(抑制5/7次嗡鸣)谐波注入(降低THD) ✅ 通过综合方案将噪声降低10 dB以上(感知响度减半!) ✅ 为产品静音品质提升提供可落地的控制方案。

MHD0815的博客 94

Mastercam软件二次开发:使用C#进行Mastercam二次开发

C#(发音为“C Sharp”)是一种现代、面向对象的编程语言,由微软开发,首次发布于2000年。它结合了C和C++的强大功能,同时引入了Java的垃圾回收机制,使得C#在开发效率和运行性能之间找到了一个良好的平衡点。C#的设计目标是提高开发者的生产力,它支持多种编程范式,包括面向对象、泛型、委托和事件等,这使得它成为开发Windows应用程序、Web应用程序、游戏(尤其是使用Unity引擎)和企业级应用的理想选择。

kkchenjj的博客 2211

国标28181:jrtplib从编译到使用

前言 流媒体指的是在网络中使用流技术传输的连续时基媒体,其特点是在播放前不需要下载整个文件,而是采用边下边播的方式,它是视频会议、IP电话等应用场合的技术基础。RTP是进行实时流媒体传输的标准协议和关键技术。 随着Internet的日益普及,在网络上传输的数据已经不再局限于文字和图形,而是逐渐向声音和视频等多媒体格式过渡。目前在网络上传输音频/视频(Audio/Video,简称A/V)等多媒体文件时,基本上只有下载和流式传输两种选择。通常说来,A/V文件占据的存储空间都比较大,在带宽受限的网络环境中下载

OceanStar的博客 6238

【BlueZ】编译产物详解:可执行文件/库文件/工具的生成路径与用途

BlueZ二次开发编译产物机制解析 摘要:在BlueZ蓝牙协议栈二次开发中,90%的报错源于对编译产物类型和路径的混淆。本文系统剖析BlueZ的三阶段编译机制:1)配置阶段生成Makefile;2)编译阶段在.libs目录下产生临时库和可执行文件(不可直接运行);3)安装阶段将产物部署到系统标准路径。重点解析守护进程、命令行工具、动态库的核心路径差异,并针对五大高频问题(如临时库运行崩溃、动态库不匹配、系统覆盖等)给出解决方案。

byte轻骑兵的技术小窝 1万+

jrtplib介绍

程序流程 发送:获得接收端的 IP 地址和端口号 创建 RTP 会话 指定 RTP 数据接收端 设置 RTP 会话 默认参数 发送流媒体数据 接收:获得用户指定的端口号 创建RTP会话 设置接收模式 接受RTP数据 检索RTP数据源 获取RTP数据报 删除RTP数据报 1.初始化 I、在使用 JRTPLIB 进行实时流媒体数据传输之前,首先应该生成 R...

grandgrandpa的博客 8810

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

jrtplib 使用

查了不少网页,自己又折腾了一段时间,终于可以实现视频的传输了。我用的是jrtplib3.7.1发送和接收rtp包发送端: #include #include #include #include #include #include //#include "jrtplib3/rtpsession.h"#include "rtpsession.h"#include "rtppacket.h"

wethty的专栏 3177

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

jrtplib库的使用

jrtplib库的使用 收藏 一、sample是一个简单的IPv4的列子,它实现了RTP在本机上的数据的传输。   1、初始化。 我们知道RTP是通常是使用UDP协议来实现数据的传输,在windows环境下,当然要用到我们熟悉的套接字的使用,所以我们先要进行初始化,加载套接字库。 view plaincopy to clipboardprint? #ifdef WIN32   W

wuqinxiang的专栏 2649

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

jrtplib 编译安装配置

RTP 是目前解决流媒体实时传输问题的最好办法,而JRTPLIB 是一个用C++语言实现的RTP库,包括UDP通讯,它的主页地址是:Jori's page jrtplib 源码的获取,可以在它的主页上直接下载,也可以使用git 直接克隆一份。因为它的主页是国外网站,下载速度非常慢,我这里提供一份已经下载好的最新的jrtplib源码:jrtplib-3.11.1.tar.gz 我...

Biao 3075

jrtplib使用笔记

一、简述 RTP 是目前解决流媒体实时传输问题的最好办法,而JRTPLIB 是一个用C++语言实现的RTP库,包括UDP通讯。刚使用JRTPLIB,对JRTPLIB的理解还不够深,当做使用时,积累的一些经验写个笔记吧。 二、RTP协议 实时传送协议(Real-time Transport Protocol或简写RTP,也可以写成RTTP)是一个网络传输协议,RTP协议详细说明了在互联

伯诚的Blog 2万+

JRTPLIB库的使用

JRTPLIB库的使用 jrtplib官方使用介绍: http://research.edm.uhasselt.be/jori/jrtplib/documentation/index.html   现在开始对几个example分析一下,不过,就没有文档吗? 这里,详细的解释了几个例子: http://hi.baidu.co

rain_2011_kai的专栏 1087

jrtplib 打包做了哪些事_在LINUX下使用JRTPLib实现音频采集编码及分发

测试JRTPLIB-LINUX报告 安装JRTPLIB成功,需要JTHREAD库的支持(跨平台开源代码,只有三个类)。测试其中的例子,能够按照RTP的协议进行采集!Linux下安装Lame3成功,并用命令行的方式把×.wav格式的文件压缩成了MP3格式。然后调用FOBSFFMPEG可以正常播放,感觉太好了。如此方案可以定为:用Lame3对采集的声卡数据进行压缩成mp3格式的数据,然后用JRTPLI...

weixin_36125755的博客 308
上一篇: jrtplib的简单封装类及使用(一)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值