rtcp多媒体控制协议应用
rtcp package send/recv demo
main.c
#include <stdio.h> #include <rtp.h> #include <rtcp.h> #include <netinet/in.h> #include <netdb.h> #include <math.h> #include <event.h> #include <syn.h> #include <payload.h> #include <sample.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdlib.h> #include <unistd.h> #include <arpa/inet.h> #include <util.h> #include <frame.h> #include <sys/ioctl.h> #include <sys/stropts.h> #include "main.h" #ifdef LINUX #include <linux/soundcard.h> #endif /* LINUX */ #define MAX_SOURCES 32 int main(int argc, char **argv) { ]; unsigned short *samp16 = (unsigned short *) buf; bool found; int audio, port, rv, payloadtype; , one = ; ssrc_t ssrc = , sources[MAX_SOURCES]; struct in_addr addr; struct session *psn; struct synsession *pssn; struct timespec time; struct sampparam parameters; struct encoding enc; mediatime_t ts; struct sampreadparam sreadparam; int leeway; /* * Check for correct number of arguments. */ ) { fprintf(stderr, ]); exit(); } addr.s_addr = inet_addr(argv[]); port = atoi(argv[]); printf("Session: %s/%d\n", inet_ntoa(addr), port); /* * Open a synchronization layer session. * Use 2k buffers for RTP packets, 64 buffers in pool. */ pssn = synopen(addr, port, , ); if (pssn == NULL) { fprintf(stderr, "synopen() returned NULL.\n"); exit(); } /* * Get a handle to the RTP layer session. */ synctl(pssn, SYN_CTL_GETRTPSESSION, (); /* * Look up the encoding represented by payloadtype. * Determine if it's a supported encoding. */ enc = getencoding(payloadtype); printf("enc.en_name: %s\n", enc.en_name); ssrc = ; printf("Found sender: SSRC = 0x%x Encoding = %s\n", ssrc, enc.en_name); /* * rtcp package send/recv thread. */ rtpctl(psn, RTP_CTL_RTCPCYCLETHREAD, (, ssrc); rtpctl(psn, RTP_CTL_RTCPRECVTHREAD, (, ssrc); }
运行
code::blocks工程
https://files.cnblogs.com/files/dong1/rtprtcp_linux_demo.tar.gz
rtcp多媒体控制协议应用的更多相关文章
- RTSP/RTP 媒体传输和控制协议
1 前言 本文档主要描述了 NewStream Vision 系统中前端视频服务器(DVR, 网络摄像机), 中心转发服务器以及客户端之间的多媒体通信以及控制协议. 本协议主要基于标准的 IETE 的 ...
- LACP链路聚合控制协议
LACP链路聚合控制协议 来源: https://www.cnblogs.com/taosim/articles/4378691.html http://storage.chinabyte.com/6 ...
- 运输层3——传输控制协议TCP概述
目录 1. TCP最主要的特点 2. TCP的连接 3. socket在不同场景中的含义 写在前面:本文章是针对<计算机网络第七版>的学习笔记 运输层1--运输层协议概述 运输层2--用户 ...
- TCP/IP详解学习笔记(12)-- TCP:传输控制协议
1.概述 TCP提供了一种可靠的面向连接的字节流运输层服务. TCP将用户数据打包成报文段,它发送后启动一个定时器,另一端收到的数据进行确认,对失序的数据重新排序,丢弃重复数据,T ...
- 网际报文控制协议ICMP
为了更有效地转发IP数据报和提高交付成功的机会,在网际层使用了网际控制报文协议ICMP.ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告.ICMP是因特网的标准协议.但ICMP不是高层协议 ...
- rtp rtcp rtsp sip协议了解方法
vlc有个串流功能 可以流各种推流 方便拉取. 能够方便抓包查看协议. 1.菜单媒体->流 打开对话框 分别可以选择本地文件 关盘文件 网络流 捕获设备做流化处理. 2. 选择 串流->新 ...
- 吉特日化MES&WMS系统--三色灯控制协议转http
关于硬件控制大部分都是使用CS客户端程序,一般连接口都是用网口,串口,USB口等,应用通讯是不支持HTTp协议操作的,而目前一般做技术的人员都在于BS开发,使用HTTP 协议,所以在硬件交互上可能觉得 ...
- [源码解析] 机器学习参数服务器 Paracel (2)--------SSP控制协议实现
[源码解析] 机器学习参数服务器 Paracel (2)-----SSP实现 目录 [源码解析] 机器学习参数服务器 Paracel (2)-----SSP实现 0x00 摘要 0x01 背景知识 1 ...
- IMCP网际控制协议
IP协议是TCP/IP协议使用的在网络层传输机制,它是一种不可靠的无连接的数据报协议,但是IP协议假定了底层是不可靠的,因此,要尽最大的努力传输到目的地,但正因为如此,IP协议则没有了保证,也就是说, ...
随机推荐
- 双十二“MathType”限时6折特惠
MathType是由美国Design Science公司开发功能强大的公式编辑器,专门用来对数学公式的编辑,与常见的文字处理软件和演示程序配合使用,能够在各种文档中加入复杂的数学公式和符号.双十二期间 ...
- error MSB8031
http://go.microsoft.com/fwlink/p/?LinkId=286820 下载
- Phpcms v9专题分类增加模板设置的方法
Phpcms v9专题设置里面,默认专题子分类是无模板设置的,本文教你通过官方论坛给出的教程实现专题分类增加模板设置.先来看看默认专题子分类设置界面: 修改后的的专题子分类设置界面多了模板设置: 修改 ...
- 超全面的JavaWeb笔记day08<Tomcat&Web应用&HTTP协议>
1.常用软件体系结构 BS:浏览器/服务器 CS:客户端/服务器 WEB资源 动态资源 JSP Servlet 静态资源 html 常用服务器 Tomcat Weblogic Resin JBOSS ...
- css揭秘读书笔记
currentColor属性让hr和段落相同的颜色: div { color: red; } hr { background: currentColor; /* 一定要设置高度*/ height: 0 ...
- VMware 12安装虚拟机Mac OS X 10.10(VMware12安装/共享文件夹)
推荐电脑配置 1:Inter I5及以上 (A卡请自行百度大神解决方案) 必须开启CPU虚拟化:开机进入BIOS--->Intel Virtualization Technology---> ...
- docker学习-docker安装
win10之外的系统:https://www.docker.com/products/docker-toolbox win10系统: https://www.docker.com/pro ...
- 第十篇:基于TCP的一对回射客户/服务器程序及其运行过程分析( 上 )
前言 本文将讲解一对经典的客户/服务器回射程序,感受网络编程的大致框架( 该程序稍作改装即可演变成各种提供其他服务的程序 ):同时,还将对其运行过程加以分析,观察程序背后协议的执行细节,学习调试网络程 ...
- lua中类的实现原理和实践
一.基础概念 Lua 本身是函数式的语言,但借助 metatable (元表)这个强大的工具,Lua 实现操作符重载易如反掌.. 下文将详细的解释在Lua中实现类的原理,涉及到的细节点将拆分出来讲, ...
- cocos2d-x游戏引擎核心之四——动作调度机制
一.动作机制的用法 在深入学习动作机制在 Cocos2d-x 里是如何实现的之前,我们先来学习整套动作机制的用法,先知道怎么用,再深入学习它如何实现,是一个很好很重要的学习方法. (1)基本概念 CC ...