rtp

谈谈语音通信中的各种tone

那年仲夏 提交于 2020-11-22 08:32:27
今天谈的这个主题(tone)存在于我们的日常打电话过程中。先举两个场景:1,你拿起固话话筒准备打电话,按电话号码前先从话筒里听到“嗡”的连续音,这叫dial tone(拨号音,表示你可以拨电话号码了),你拨完号码对方振铃后你又听到有规律的“嘟-嘟-”的断续音,这叫ring back tone(回铃音,表示对方已振铃了)。2,你给企业服务号(比如中国移动的10086)打电话,对方叫你按键选择,当你按下键后会听到按键声,这叫DTMF tone(双音多频音)。感觉到它存在于我们日常的打电话过程中了吧。现在我们就从技术的角度谈谈这些tone。 在语音通信中tone主要分两大类:CPT(call progress tone,呼叫过程音)tone和DTMF(dual tone multi frequency,双音多频音)tone。CPT tone存在于通话过程中,主要用于告诉用户目前在什么状态,主要有dial tone(拨号音)/ringback tone(回铃音)/busy tone(忙音)等。CPT tone是单频音,即由一个频率的正弦波形成。CPT tone没有全球统一的标准,而是各个国家有自己的标准,比如中国的标准,欧洲的标准,美国的标准等。下表就是我们国家的标准: 还有其他类型的CPT tone,由于用的相对较少,这里就不一一列出了。相对于CPT tone是单频音,DTMF

视频流媒体播放器EasyPlayer.JS集成EasyNVR平台播放FLV流报IllegalStateException错误如何解决?

若如初见. 提交于 2020-10-29 02:40:40
视频流媒体播放器EasyPlayer支持RTSP、RTMP、HTTP、HLS、UDP、RTP、File等多种流媒体协议播放,是兼具稳定性和兼容性的视频播放器,能够集成到我们的视频直播点播平台EasyDSS中播放H.265编码视频。 EasyPlayer.js报IllegalStateException错误 1.提出问题 我们发现EasyPlayer.js播放器集成到EasyNVR视频平台后,播放FLV视频流报IllegalStateException: Data not enough when parse Value,但是并不影响播放。 2.分析问题 对于这个莫名其妙出现的错误,我们都很纳闷,不影响视频播放,但是很影响观感体验。 我们在浏览器控制台点击错误信息,然后到项目中定位到错误信息。 _createClass(Log, null, [{ key: 'e', value: function e(tag, msg) { if (!tag || Log.FORCE_GLOBAL_TAG) tag = Log.GLOBAL_TAG; var str = '[' + tag + '] > ' + msg; if (Log.ENABLE_CALLBACK) { Log.emitter.emit('log', 'error', str); } if (!Log.ENABLE_ERROR)

云、边、端方案中视频设备直接上云的两种协议选择:RTMP or GB28181

谁说胖子不能爱 提交于 2020-10-27 17:55:38
视频“云、边、端”框架可以说是一套万能框架,在我们之前的文章中分别对 【 视频项目的“云、边、端”公式 】和【 软硬一体的流媒体边缘计算设备在视频“云、边、端”解决方案中的重要作用 】进行了论述,今天我们对视频上云协议和视频上云设备的选择分别做一下论述。 否 是 否 是 否 是 否 是 解决方案 边+端 上云协议支持 云+边+端 视频数据处理/分析/录像/计算 云+端 算力/带宽瓶颈 协议选择 首先,这里说到的两种建设方案是指两种开放协议的建设方案,当然还有很多私有协议,但就不具备通用性了,会被设备生产的厂家所限定,所以就不多做论述了; 在安防设备视频上云协议的选择上,综合来说,有两种视频上云的协议: RTMP推流上云; GB28181协议上云; RTMP与GB28181协议的差别在于,RTMP只承载了视频流,而GB28181不但承载了视频流,而且同时承载了控制信令,能非常灵活地控制设备转动、对焦、查询录像等等动作, 而这两个协议并不是相互排斥的,是可以同时存在的同时使用的! 云端服务选择 RTMP设备推流可以直接推流到公有云CDN或者流媒体服务器,以EasyDSS为例,EasyDSS可以通过接收端的开关控制,灵活地控制设备流的推送和停止: 国标协议分为SIP信令流和RTP数据流,公网部署EasyGBS国标视频云服务可以达到查看内网直播、检索录像、回放录像、云台控制、焦距控制

手撕RTSP协议系列(6)——SETUP

▼魔方 西西 提交于 2020-10-15 20:44:44
点击上方「蓝字」关注我们 上一讲我们讲了RTSP的DESCRIBE指令,本篇接着来看下一条:SETUP。 SETUP 作用 SETUP请求的作用是指明媒体流该以什么方式传输;每个流PLAY之前必须执行SETUP操作;发送SETUP请求时,客户端会指定两个端口,一个端口用于接收RTP数据;另一个端口接收RTCP数据,偶数端口用来接收RTP数据,相邻的奇数端口用于接收RTCP数据! SETUP格式 我们来看SETUP请求的数据格式: SETUP 表明消息类型; URI 表示请求的RTSP服务器的地址; RTSP_VER 表明RTSP的版本; TRANSPORT 表明媒体流的传输方式,具体包括传输协议如RTP/UDP;指出是单播,组播还是广播; 声明两个端口,一个奇数,用于接收RTCP数据,一个偶数,用于接收RTP数据; CSeq 数据包请求序列号; User-Agent 指明用户代理; Session 标识会话ID; Authorization 标识认证信息; 我们来看一个抓包文件: 该SETUP请求中,Transport字段声明了两个端口,26968和26969,同时指明了通过UDP发送RTP数据,26968端口用来接收RTP数据,26969端口用来接收RTCP数据,unicast表示传输方式为单播! 请求之后,如果没有异常情况,RTSP服务器的回复比较简单,回复 200 OK 消息

Opensips + FreeSwitch 负载均衡

梦想与她 提交于 2020-10-15 07:19:15
概略 :在做Opensips + FreeSwitch 负载均衡的过程中,遇到的关键问题汇总记录。 基本配置 : 请参考: https://blog.51cto.com/908405/2235934 比我整理的好,请详细阅读。 几个问题 : 1、load_balancer表配置   字段:dst_uri ,值:sip: fs_ip_addr : fs_port   1)fs_ip_addr:fs_port 如果有错误,实际不存在,会报错     opensips报错:        DBG:load_balancer:lb_route: sequential call of LB - skipping destination 1 <sip:172.18.198.123:9060> (filtered=1 , disabled=0)       DBG:load_balancer:lb_route: sequential call of LB - no destination found     UAC报错:All GW Are Down.   2) fs_ip_addr:fs_port 要配置fs的公网ip,否则接听后双方都没声音 2、CODEC NEGOTIATION ERROR问题   fs日志     Audio Codec Compare [PCMA:8:8000:20

【开发记录】H.265编码视频播放器在播放FLV视频流时出现黑屏现象如何解决?

六眼飞鱼酱① 提交于 2020-10-14 11:14:09
EasyPlayer是一款流媒体播放器系列项目,支持RTSP、RTMP、HTTP、HLS、UDP、RTP、File等多种流媒体协议播放、支持本地文件播放,支持本地抓拍、本地录像、播放旋转、多屏播放、倍数播放等多种功能特性,目前支持Windows、Android、iOS三个平台,EasyPlayer.js还支持Linux平台。 提出问题 TSINGSEE青犀视频研发团队近期在研发H265播放器开发,发现使用H265播放器播放FLV视频流,会出现黑屏现象,等待后也无法正常播放。 分析问题 通过浏览器打开控制台,发现flv地址实际是有数据再一直加载。 随后到VLC播放地址也能正常播放,但是在VLC查看发现音频有数据但是未播放,这里可以初步判定音频可能存在问题,导致播放不了。 回到浏览器控制台打印信息,发现也会出现音频错误的提示。 解决问题 目前市面上web播放器音频如果有问题只能关闭音频,来保证视频正常播放。所以我们将音频代码修改为关闭即可。 mounted() { this.player = new WasmPlayer(null, 'newplay', this.callbackfun,{ cbUserPtr: this.cbUserPtr, openAudio: false }) }, 可以看到视频流可以正常播放了。 TSINGSEE青犀视频团队对H265播放器的开发从未停止

直播软件开发需要知道的流媒体技术

我与影子孤独终老i 提交于 2020-10-10 01:54:55
流媒体格式 声音流、视频流、文本流、图像流、动画流 RA:实时声音 RM:实时视频或音频的实时媒体 RT:实时文本 RP:实时图像 SMIL:同步的多重数据类型综合设计文件 SWF:macromedia的real flash 和shockwave flash动画文件 RPM:HTML文件的插件 RAM:流媒体的元文件,是包含RA、RM、SMIL文件地址(URL地址)的文本文件 CSF:一种类似媒体容器的文件格式,可以将非常多的媒体格式包含在其中,而不仅仅限于音、视频。 它可以把ppt和教师讲课的视频完美结合, 很多大学和大型企业使用这套软件进行教学录像和远程教育 1、realnetwork公司:三种 2、apple公司:quicktime\mov 3、microsoft公司 (1)asf\wmv\wma (2)avi (3)mpeg\mpg\dat 4、micromedia公司 (1)flash的swf格式 (2)metastream的mts格式 (3)aam多媒体教学课件格式,可将authorware生成的文件压缩为aam和aas流式文件播放 流媒体传输协议 1、RSVP:资源预留协议 2、RTP:实时传输协议 3、RTCP:实时传输控制协议 4、MMS:微软流媒体服务协议 5、RTSP:实时流传输协议 6、MIME:多目因特网电子邮件扩展协议 7、RTMP(RTMPE

AVB vs. RTP

不羁的心 提交于 2020-10-07 04:41:44
问:近些年,随着智能驾驶技术的发展和车内影音娱乐系统的丰富,越来越多的音视频数据需要在车内网络进行传输。现在车载以太网日渐成熟,那么,我们可以使用车载以太网在车内网络传输音视频数据吗? 答:答案是肯定的。而且由于成本、传输带宽等方面的因素,在有些场景下,也许只有车载以太网才能满足我们的传输需求。 问:既能传输普通数据又能传输音视频数据,感觉很方便啊。那么,传输音视频数据和其他普通数据采用的传输协议相同吗? 答:是不同的,网络上有专门适用音视频传输的协议。目前,在车载以太网中常用的方案有两个,分别是RTP和AVB。 • RTP(Real-time Transport Protocol),实时传输协议,采用RTP和RTCP(Real-time Transport Control Protocol,实时传输控制协议)两个子协议实现音视频数据的传输,遵循的标准为RFC 3550。 • AVB(Audio Video Bridging),音视频桥接技术,采用 IEEE 1722,IEEE 802.1AS,IEEE 802.1Qav, IEEE 802.1Qat等一系列 IEEE 标准,通过保证带宽、控制传输延时、精准时钟同步等功能和机制实现音视频数据在网络上的实时传输。 这里要注意的是,不管采用哪种技术,这里所传输的有效载荷数据(payload)是一样的,都是音视频媒体数据(e.g. H

用Darwin Streaming Server搭建rtsp流媒体服务器

送分小仙女□ 提交于 2020-10-06 00:32:32
通过vlc搭建rtsp流媒体服务器,vlc支持RTSP over TCP的方式,数据流传输时只支持RTP over UDP。而DarwinStreamingServer服务器能自适应客户端发起的数据传输请求是用TCP方式,还是用UDP方式,如果是UDP方式,交互命令是RTSP over TCP,数据传输是RTP over UDP,如果是TCP方式,交互命令是RTSP over TCP,数据传输是RTP over TCP。 一、 DarwinStreamingServer 介绍与安装 1、DarwinStreamingServer ( 简称DSS) 介绍 Darwin Streaming Server 简称DSS。DSS是Apple公司提供的开源实时流媒体播放服务器程序。整个程序使用C++编写,在设计上遵循高性能,简单,模块化等程序设计原则,务求做到程序高效,可扩充性好。并且DSS是一个开放源代码的,基于标准的流媒体服务器,可以运行在Windows NT和Windows 2000,以及几个UNIX实现上,包括Mac OS X,Linux,FreeBSD,和Solaris操作系统上的。 2 、 来源: oschina 链接: https://my.oschina.net/u/4346988/blog/4499795