Windows与ARM平台的基于JRTPLIB的RTP通信

基于JRTPLIB库的RTP数据传输设计文档(转载) 原文请参考 http://xiyong8260.blog.163.com/blog/static/665146212008824112748499/目   录一.          概述二.          流媒体传输系统设计与实现1.    Linux平台实时流媒体编程1)    PC机上的环境搭建2)    嵌入式版的环境搭建3)    初始化4)    数据发送5)    数据接收2.   阅读详情

Windows与ARM平台的基于JRTPLIB的RTP通信及其问题解决

    按照以上两篇文章在WINDOWS,ARM上成功测试好JRTPLIB后,(当然要在arm端ping通windows主机地址,同时关闭双方的防火墙)下面就介绍如何测试WINDOWS,ARM之间的RTP通信。

在jrtplib解压后的目录里有example文件夹,里面的程序可以提供测试用。

Example1可以用来发送数据,example2可以用来发送接收。Example3,4用来接收。

这里我使用example1用来发送数据,example4用来接收,

首先在windows端运行example4,

Enter local portbase:9000

Number of seconds you wish to wait:100(可大一点,以免后面操作时间不够)

 

在arm端运行example1按照提示输入

Enter local portbase:8000(创建RTP会话端口)

Enter the destination IP address:10.0.0.116(我的WINDOWS IP地址)

Enter the destination port:9000(目标端口)

Number of packets you wish to be sent:10(不能超过Int型的4字节数:32767)

 

这样之后,在windows下收不到数据

解决办法:在网上查了很多资料,一种说法是正确的:PC端使用的字节序是little endian,arm端使用的是big endian,这样会造成ARM端虽然像PC发送了数据,但PC端识别不了。。。

 

需要把jrtplib文件夹 /src下的rtpconfig_unix.h文件中的#define big endian删除掉。

然后重新编译库文件,并将Libjrtp-3.7.1.so,libjthread-1.2.1.so拷贝到/nfs/usr/lib中,

网上很多文章到此就可以了,只需把解压后的JRTPLIB文件夹中的example1复制到nfs下执行即可看到arm与Pc端成功通信。

但是,我这仍然不行,挣扎了一个多星期,最后才突发想到 是不是要重新编译下例程example1.cpp,于是执行命令

arm_v5t_le-g++  -o  example11  ./example2.cpp  -I/home/jrtp/include/jrtplib3  -I/opt/jrtplib-jthread/include/jrtplib3(JRTP头文件路径)  -L/opt/jrtplib-jthread/include/jthread  -ljthread -ljrtp –lpthread

编译成功,然后拷贝example11(用来发送)到nfs下执行,按照上面说的在PC下执行接收程序,这样测试终于成功了。。。

兴奋。。。

 

 

使用Windows编译jrtplib的android-ndk-r8e版本 在Android应用程序的开发过程中,有时需要使用C或C++编写高性能的代码来处理复杂的任务。本文将介绍如何使用android-ndk-r8e版本编译jrtplib,一个用于实现实时传输协议的库。你可以将生成的库文件集成到你的Android项目中,并使用其中的功能。一旦编译完成,你将在项目目录中找到生成的共享库文件(以.so为扩展名)。在你的计算机上创建一个新的项目目录。我们将在这个目录下进行后续的操作。替换为你的android-ndk-r8e目录的路径。为你在第一步创建的项目目录的路径。 阅读详情

相关推荐

ARM linux 和上位机windows10进行TCP/IP网络通信

代码是对ARM linux 和上位机windows10进行TCP/IP网络通信,可直接代码移植,比较简单易懂,适合初学者

jrtplib接收数据丢包问题

最近使用jrtplib作为媒体传输工具,遇到的问题比较多,尤其是丢包比较严重,导致视频花屏比较厉害,最终终于定位到问题,是因为当作为接收端时,默认的接收缓存太小,大小为32K,我们只要把接收缓存设置大一些(如2M)就可以完美解决问题,接收数据包的框架可以参考jrtplib自带的例子。 jrtplib::RTPUDPv4TransmissionParams m_trans_params; m_t...

1622

jrtplib.zip

鉴于使用windows下对该库的编译较为繁琐,因此将我编译好的include和lib文件上传,便于大家使用。版本是3.11.1.

jrtplib V3.11.1 收包流程

最近在看 jrtplib的收包流程,看了这篇文章 jrtplib接收数据包流程 ,只是用的库老了点 V3.7 的,写的也太长了,不够简练,于是自己写一份V3.11.1的简练点的收包流程说明,捡重点,无关的流程略过。 RTP包的接收入口函数 int RTPSession::Poll() {    if ((status = rtptrans->Poll())     re

heker2010的博客 1907

Windows下编译jrtplib

Windows下编译jrtplib

c版rtp视频流服务端代码

可在ubuntu下运行,输出rtp 视频流,播放文件为ts格式,可以用ffmpeg将mkv,avi等格式文件转换为ts格式,用vlc播放器可以播放视频流。 可在ubuntu下运行,输出rtp 视频流,播放文件为ts格式,可以用ffmpeg将mkv,avi等格式文件转换为ts格式,用vlc播放器可以播放视频流。

使用jrtp时,发送方接收不到对方的RTCP包的问题,是因为接收方没有设置目的地址

今天使用jrtp时,发现发送方接收不到对方的RTCP包,当接收方异常断开时,发送方的超时回调也没响应。 最后发现是因为接收方没有设置发送地址 jrtplib::RTPIPv4Address addr(srctip, srcport); pRtpSession->AddDestination(addr); 调用如上函数设置一下发送地址,发送方就能收到RTCP包了,当接收方异常断开时,发送

wwyyxx26的专栏 1304

Windows下编译jrtplib.lib和jthread.lib

Windows下编译jrtplib.lib和jthread.lib

支持RTP/RTCP的服务器和客户端

RTCP不仅仅用于RTSP服务器,还会用在国标GB28181流媒体服务器,WebRTC,.云游戏的一些流媒体服务器,包括一些自定义信令协议的服务器都有可能采用RTCP协议。RTCP是和可以选择TCP传输或者UDP传输,当使用UDP传输时,RTP和RTCP采用不同的连接,用不同的端口号进传输。使用TCP传输时,复用同一个连接。

qq_45112605的博客 1407

RimWorld Mod开发避坑指南:从Defs命名规范到XML结构详解(附实战代码)

本文深入解析RimWorld Mod开发中Defs文件的编写规范与高级技巧,涵盖命名冲突预防、XML结构优化及高级功能实现。通过实战代码示例,帮助开发者避开常见陷阱,提升Mod兼容性与稳定性,特别适合RimWorld Mod开发者参考。

weixin_30790841的博客 450

UE4逆向实战:如何快速定位UWorld和GName的5种实用技巧(含版本差异分析)

本文详细介绍了UE4逆向工程中快速定位UWorld和GName的5种实用技巧,包括特征码定位法、动态行为分析法、静态符号分析法等,并针对不同版本差异提供了适配方案。特别强调了UWorld作为游戏世界核心容器和GName作为名称管理系统的重要性,帮助开发者高效进行游戏逆向分析。

star的博客 895

如何发送和接收RTP包,用FFmpeg分离、解码

RTP是网络上进行流媒体传输的一种常用协议,现在有很多封装RTP协议的开源库,比如:ortp, jrtplib,而其中最有名的要数jrtplib,本文给大家演示怎么用jrtplib开发一个带RTP发送和接收功能的应用程序,但这篇文章不会讲述jrtplib的基本用法知识,如果你要了解更多关于这个库的用法,可以参考这篇文章:http://www.cnblogs.com/yuweifeng/p/755...

爱写代码的自由人 1万+

LLM and Embedding区别

LLM(大语言模型)和 Embedding(嵌入)是自然语言处理(NLP)中的两个核心概念,它们的核心区别在于。Embedding 计算向量。

u010674101的专栏 1873

几个RTP命令行小工具结合使用后的妙处

首先分别介绍下几个RTP (Real-time Transport Protocol)命令行小工具的用法. 1. mediastream.exe [code="cmd"]mediastream --local --remote --payload [ --fmtp ] [ --jitter ] [ --width ] [ --height ] [ --bitrate ] ...

坚持,淡定 2056

利用 Python 构建高效爬虫爬取国家标准文献——从基础到进阶

然而,由于许多标准文献需要从特定网站获取,手动下载既耗时又低效,因此构建自动化爬虫成为一种实用且高效的解决方案。本文从技术选型、网站分析、代码实现到反爬优化,全面讲解了如何爬取国家标准文献。国家标准文献(National Standards Literature)是国家对各领域统一规范的文件,涵盖了技术参数、测试方法、生产工艺等内容。因此,通过自动化爬虫技术进行文献爬取和管理,不仅能解放劳动力,还可以提高数据管理效率。在构建爬虫前,我们需要对目标网站进行分析,包括页面结构、请求方式以及可能的反爬机制。

2201_76125261的博客 2104

华为OD机试 - 猴子吃桃 - 二分查找(Java 新系统 100分)

每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天优快云在线答疑。

学Java,找哪吒 3842

VLC----windows推流RTP视频流,虚拟机拉取流

ip地址输入 224.224.224.224,端口号可以默认不变,点击下一个。确定后重启虚拟机,ifconfig,我们可以看到网段和window一致了。虚拟机->编辑->虚拟网络编辑->选择桥接模式->选择你电脑的物理网卡。点击媒体->流,添加一个视频,点击串流,点击下一个。最后点击流,看到vlc进度条在动,说明流已经推送了。接受推流,打开vlc->媒体->打开网络->输入。虚拟机设置->网络->自定义,选择一个。取消激活转码,选择video。选择RTP流,点击添加。,点击播放就能看见视频。

混吃等死,偶尔搞点好玩的 1473

《二、企业级监控系统之Prometheus监控node_exporter》

文章目录一、部署node_exporter服务二、部署prometheus服务2.1、部署node_exporter服务三、grafana之添加数据源四、grafana之导入监控模板五、grafana之修改模板变量六、grafana之修改仪表板变量总结 > 这里是引用 一、部署node_exporter服务 docker run -d --restart=always --name node_exporter --net=“host” --pid=“host” -v “/:/host:ro,

东城绝神 1万+

RTP学习(五):基于 JRTPLIB 库的 RTP 数据传输设计文档

一 . 概述 此模块是在基于 S3C2440 的嵌入式开发板上实现对摄像头采集并经过 H.264 压缩过的数据的 RTP 传输,并在接收端 PC 上能正确接收的功能。 RTP 即实时传输协议,用于 Internet 上针对多媒体数据流的传输。它通常使用 UDP 协议来传送数据,起初是为了“ multicast ” 传输情况而设计的,目的是提供时间信息和保证流同步,不过现在也用于一对一的传输情况

TJU355的专栏 1695

在MATLAB和Simulink中设计并仿真一个电动汽车整车动力学模型与控制系统

电动汽车(EV, Electric Vehicle)的动力学建模与控制仿真在车辆开发过程中起着至关重要的作用。通过Simulink进行整车动力学模型的构建和控制策略的验证,可以有效评估车辆性能、优化系统设计并降低开发成本。以下是如何在MATLAB和Simulink中设计并仿真一个电动汽车整车动力学模型与控制系统的详细步骤。通过上述步骤,我们成功设计并实现了基于Simulink的电动汽车整车动力学模型与控制仿真。该系统能够模拟复杂的整车动力学行为,验证控制策略的有效性,并通过优化设计提高车辆的性能和可靠性。

xiaoheshang_123的博客 549

用R来做一个临床研究亚组分析的森林图

在编程语言里R语言最强大的功能是做图功能,我们知道在做Meta分析的时候会需要做森林图,实际上我们在很多临床研究中也经常看到森林图,主要是亚组分析的森林图,比如下面这篇文章里的一个森林图: 今天就教教大家怎么用R语言来做上面这种亚组分析的森林图 1. 在Excel里编辑好数据,按照下面的格式整理,保存为csv格式 2. 下载安装R跟Rstudio R软件的下载地址: https://mirrors.tuna.tsinghua.edu.cn/CRAN/ Rstudio下

Mrrunsen的博客 5340

QT 下使用jrtplib

1最近要在QT平台上流媒体

春秋战车 2784

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

一、下载jrtplib、jthread、CMake、Visual Studio 2012和Qt5.5.1 jrtplib:http://research.edm.uhasselt.be/jori/jrtplib/jrtplib-3.9.1.zip jthread:http://research.edm.uhasselt.be/jori/jthread/jthread-1.3.1.zip CM

草上爬的博客 5688

计算机控制技术及应用

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

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Windows下Jrtplib的使用

Windows下Jrtplib的使用

weixin_45266730的博客 445

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

在windows上编译jrtplib 3.9.1和jthread 1.3.1

最近在做的一个项目,手机终端是android系统, 需要播放视频监控信息,搞视频服务的哥们提供了一个ocx的代码, 让我参考并在android上实现播放功能, 里面用到了jrtplib读取视频的封包内容,解包后再播放, 目前大致的思路分两步走,先把jrtplib放到android上,再用ffmpeg解码并播放 当然,得先把jrtplib放到windows上测试通了再到android上搞,

NickWar的专栏 8141
上一篇: WINDOWS下编译jrtplib及其测试
下一篇: 重载赋值运算符与拷贝构造函数的区别
yaopingcs
博客等级 码龄17年 11粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值