媒体与媒体处理

转载 2018年04月17日 18:07:05

媒体与媒体处理:

1 音频编码:

从模拟信号变成数字信号的过程称为模数转换(AD),AD转换要经过采样,量化,编码三个过程。编码(code)就是指按照一定的规则将采样所得的信号用一组二进制或者其他进制的数来表示。经过编码后的数据便于在网络上传输,到达对端以后,再通过解码(Decode)过程变成原始信号,进而经过数模转换(DA)再恢复为模拟量,即转换为人们能够感知的信号。
如果在网络上传输语音,则要将编码后的语音数据打包。通常使用的打包时间间隔为20ms,即将20ms的音频数据放到一个数据包里传送,也可以理解为每20ms打一个包。如果采样频率是8000HZ,那么1秒就能传输1000ms/20ms=50个包,每个包携带8000/50=160个采样数据。在PCMA或PCMU方式中,每个采样数据占1字节,因此一个20ms的pcm包的数据净荷就是160字节。

2 媒体工作机理和相关配置:
基于sip的通信中,媒体数据是在RTP流中传输的。
以pcm音频数据为例,如果打包周期是20ms,则每个音频包得到160字节的数据,在这些数据前面加上12字节的rtp包头,就成为了一个RTP包。
RTP包使用与sip不同的udp端口传输,因为在实际传输需要先通过sip信令与对方“协商”好该往哪个端口传送。
sip可使用tcp或udp承载,但RTP数据一般只使用udp承载。
这里写图片描述

3 媒体协商
不同的sip终端有不同的特性。支持不同的语音编码。所以不同的sip终端进行通信时需要先与支持的编码进行“协商”,以便双方相互能够“理解”对方发来的媒体流中的数据。
sdp采用offer/answer(请求、应答)机制来协商。请求发起的一方提供(offer)自己支持的媒体编码列表,被请求的一方比较自己支持的媒体列表最终选择一种(或几种)编码以应答(answer)方法通知请求者,然后他们就可以使用兼容的编码进行通信了。

这里写图片描述

从上面的协商log中可以看出,它也是将客户端的编码与服务器端的编码进行逐一比较,最后一行表示本次协商成功并把Channel的编码设为PCMA编码。

在完成sip以及sdp协商后,真正的语音数据是在RTP协议中传送的。即双方在前面的sdp协商中都已经获得了对方的ip地址,端口号,以及支持的媒体类型。接下来,就是将本地的媒体数据以指定的编码格式进行编码并通过RTP协议发送到对方去。

4 RTP和RTCP:
数据包传输协议。RTCP:实时传输控制协议是实时传输协议的一个姊妹协议,RTP使用一个偶数udp端口,而RTCP则使用RTP的下一个相邻的奇数端口。RTCP本身并不传输数据,但会和RTP一起协作将多媒体数据打包并发送出去。RTCP的主要功能是为RTP提供的服务的质量提供反馈信息。

5 转码
Freeswitch是一个b2bUA,因而在桥接两条腿时,如果两条腿分别使用不同的编码,则需要经过一个转码过程分别转成对方需要的编码。在需要转码时,freeswitch会将收到的音频数据转成一种中间格式,称为L16,即线性16位的编码。这种格式可以与其他各种编码进行切换。
另外,即使呼叫的双方采用同样的编码,但如果有ivr或录,放音等中间环节时,也需要转码。

6 透传,媒体绕过与媒体代理
Freeswitch 不支持g729转码。
透传是指在不经过转码的情况下,将从一方收到的媒体流原样转给另一方。
媒体绕过技术,即真正的媒体流使用点到点传输,根本不经过freeswitch。(2)

这里写图片描述

还有一种情况为媒体代理,即不管freeswitch是否支持对该种编码转码,他都对RTP数据在不进行任何处理的情况下发送给另一方,与透传的区别是:他只改变sdp中的“c=”部分。

视频编码的协商过程与音频类似,不同的是,由于视频不支持转码,因而必须保证两端都是用相同的视频编码才可以互相看到视频。

微信小程序零基础到媒体APP实战

企业的很多技术都是保密的,尤其是实战项目和新兴技术。朋友圈看到不少人刷屏---微信小程序。她究竟是什么?它在互联网这个大染缸的“相爱相杀”的格局中,是如何未出先火,公测即流行的?本课将带您抽丝剥茧,从零基础到实战项目的研发,不用安装,即开即用,用完就溜,相较于传统APP,小程序UI和操作流程会更统一,推广更容易更简单,更省成本。
  • 2017年03月14日 16:32

HiMPP V3.0 媒体处理软件开发参考中文

  • 2016年08月26日 15:33
  • 9.93MB
  • 下载

阿里云媒体转码处理方式

老习惯先说下背景:      使用阿里云做音视频处理,转码处理模式有两种:    主动请求阿里转码服务器获取转码之后数据写库(后续上代码);    通过阿里云主题回调,转码完成之后主动回调;优缺点:主...
  • smkk12345
  • smkk12345
  • 2018-02-28 20:31:04
  • 151

“媒体簇的结构不正确。SQL Server 无法处理此媒体簇”的解决

主要是2008的bak数据用sql server 2005连接实例打开,先删除sql server 2005,只留2008,然后导入数据库即可成功...
  • kwan9527
  • kwan9527
  • 2012-12-24 15:37:37
  • 10387

【HTML学习】第五章 富媒体

5.2 HTML的视频之路HTML5不仅让我们能够更具语义,而且使得向网站添加视频就像ABC一样简单。所需要的简单标记为:在默认情况下,浏览器不会显示任何播放控件,用户需要打开上下文菜单来使用这一标记...
  • u012682145
  • u012682145
  • 2015-07-29 10:05:22
  • 594

HiMPP 媒体处理软件开发参考

  • 2014年09月14日 00:09
  • 5.23MB
  • 下载

媒体家族结构不正确的处理

sql server2005数据库,恢复时报错“设备'XXXXXX'上的媒体家族的结构不正确。SQL Server无法处理此媒体家族。” 重建数据库、强制恢复等方法试过失败之后,硬着头皮上阵...
  • i3myself
  • i3myself
  • 2013-07-15 09:59:14
  • 1031

百度富媒体编辑器 使用

1:复制ueditor的js 修改js下的ueditor下的config. config  中的 导入jar包 引用uedit...
  • u010947651
  • u010947651
  • 2015-10-27 08:02:30
  • 1376

Java媒体框架(JMF)

注:本文来自百度百科 JMF   Java术语   术语名称:Java媒体框架(JMF)   术语解释:该核心框架支持不同媒体(如:音频输出和视频输出)间的时钟同步。它是一个标准的扩展框架,...
  • zzq19860626
  • zzq19860626
  • 2013-08-23 13:55:25
  • 855
收藏助手
不良信息举报
您举报文章:媒体与媒体处理
举报原因:
原因补充:

(最多只允许输入30个字)