音视频是怎样实现传输的

2023-11-06

音视频传输时的基本步骤:

1.发起会话(Sip协议)

2.编码(硬件编码、软件编码)

3.传输(RTP)

4.解码(硬件解码、软件解码)

5结束会话(Sip协议)

视频格式

视频数据格式可以发展分为一个适合本地播放的本地影像视频和适合在网络中播放的网络流媒体影像视频两大类。虽然后者在稳定性和画面质量可能无法像播放本地视频流那样出众,但网络流媒体影像被广泛用于制作点播、在线演示、远程教育,网络视频广告等互联网信息服务的视频。

音频格式

音频格式是在计算机中播放或处理音频文件,即对声音文件进行编号,模式转换,此过程也由采样和量化组成。

编码

编解码器是指一种装置,或能够将信号或数据流的程序。这里指的变换既包括将信号或者数据流进行分析编码或者可以提取方法得到发展一个编码流的操作,也包括企业为了观察能力或者自己处理从这个编码流中恢复适合观察或操作的形式的操作。编解码器经常用在网络视频会议和流媒体等应用中,通常主要问题还是用在广电媒体行业,作前端技术应用。

视频协议

目前主要的视频压缩协议有:h.261、h.263、h.264和mpeg-1、mpeg-2和mpeg-4。第一个视频压缩标准是h.261,它的算法现在来看非常的简单,但是,它的很多对视频进行压缩的思想,一直影响到现在最新的压缩技术标准h.264。

音频协议

这些协议的两个主要特点,第一是更关注语音压缩,毕竟,主要是听人说话;音乐可能不是很好的压缩;第二个是压缩比比较大,比较低的比特率,压缩比。723支持5.9k/s这样的码率,而且语音音质还很不错。iso的音频数据可能更为人需要熟知企业一些,最流行的就是mp3,它的全称是mpeg-1 audio layer 3,意思是mpeg-1的音频进行第三层;另外,最新的音频算法可以被称为aac,它定义在mpeg-2或mpeg-4的音频以及部分。它们是由质量好,多通道,高精度采样,采样频率高

解码

硬件解码:

视频解码分为软解和硬解。

所谓的“软解”是通过软件用于CPU到视频解码过程;和“硬解”是指不依赖于CPU上,通过专用设备来完成一个独立的视频解码器,视频压缩卡都被冠以“硬解”的称号。现在可以实现网络高清硬解不需要进行额外的子卡,也不需要通过额外的投入,因为硬解码功能模块被整合在了GPU内部,而目前我国主流的显卡都能得到支持硬解码。

“硬解”其实更需要软件的支持,只是基本的操作不需要CPU干预,从而节省大量的系统资源开销。

GPU硬解码高清视频的优势:

1.不需要太好的CPU,单次检查就足够了,CPU方面节省了很多钱;

2.硬件解码包括免费的基本等价的,不到500元整合主板可以完美支持;

3.硬解码让CPU占用率以及超低,系统有能力可以在看HDTV的同时企业进行一个多任务操作;

4.CPU需要竭尽全力解码HDTV,但只花了0.1亿晶体管的GPU解码模块完成的任务,更好地控制功耗;

GPU硬解码高清视频的劣势:

1.起步发展较晚,软件技术支持度无法与软解相提并论;

2.面对杂乱的视频编码,打包格式,硬解码无法实现完全兼容;

3.软解拥有超大的屏幕输出来补偿和质量增强技术,和硬件解决方案做得不够;

4.硬解码软件进行设置一个较为复杂,很多朋友根本不知道该如何通过正确选择使用GPU硬件解码。

帧是从电影最小单位,相当于上的画面的每个小区透镜的单图像的屏幕图像。

一帧:帧通常是每个GOP的第一帧(MPEG使用的视频压缩技术),它可以作为随机访问的参考点。I帧可以被视为一个压缩图像的产物。

P frame:前向预测进行编码帧又称predictive-frame,通过充分将低于其他图像数据序列中前面已编码帧的时间以及冗余网络信息来压缩技术传输系统数据量的编码实现图像,也叫预测帧;

B帧:双向预测编码的帧的内插,也称为双向内插预测帧,考虑到前一帧编码图像序列源,所述源可以考虑的帧编码信息到后面的图像序列之间的时间冗余压缩数据传输的图象编码,也称为双向预测帧的量。

分辨率

(1)物理空间分辨率,即手机进行屏幕能显示的像素数,用WxH个像素可以表示。常见的手机屏幕分辨率是320x240,随着大屏幕手机的普及,更高的分辨率也开始出现。

(2)视频数据文件的分辨率,这个是指视频进行画面的实际时间分辨率。在一般情况下,大部分手机不支持视频解码芯片比其屏幕的物理分辨率,一些能够支持的视频分辨率超出其物理屏幕,例如,虽然分辨率480x320的物理iphone的屏幕分辨率,但它支持640×480的视频,这个时候打原始视频画面实际上是减少了。

码率

通常使用多少Kbps或Mbps来表示。手机解码芯片一般支持速率小于1Mbps。

文件大小=[速率]/[时间];和比例,以质量速率。

定码率:无论对于画面是静态的还是动态的,码率控制不变,如动态的码率进行不变,会出现一些画面质量差的情况。

VBR:具有不同程度的图像的复杂度的不同而不同,所以编码效率也比较高,快速运动图像镶嵌很少。

帧率

就是视频画面刷新的速度,作为参考,国内电视机一般是25FPS,电影标准为24FPS。手机芯片,最高支持30FPS,早期型号最大只能15fps。

RGB和YUV

RGB是指蓝色,应用还是很广的,比如显示,文件格式中的像素值,bmp等;而yuv主要是指亮度和两个色差信号,称为亮度和色度它们可以相互变换,我们的视频基本都是yuv格式。

码流数

单流:来压缩流格式CIF,CIF为352*288

双码流:采用中国一路高码率的码流用于本地高清存储,一路低码率的码流用于通过网络信息传输,同时可以兼顾本地数据存储和运程网络安全传输。

主码流与子码流

主码流:用于本地存储

子码流:用于图像在低带宽网络上传输

视频源硬件接口

按要求输出采集设备,设备采集视频源对应设备。

VGA接口:联系人视频接口15输出旧电脑;经受第一频率模转换和模数转换,信号损失,显示器是更为模糊。

DVI接口:可以进行传输大分辨率的视频数据信息,数字控制信号。DVI转换而不发送计算机图形卡和显示器相连,所有没有信号损失。

HDMI接口:可以进行传输音频数据信号,数字控制信号。可以通过同时将电脑教学视频和音频的信号传递给显示器。

HD-SDI转换器:HD-SDI转HDMI转换器是一种专用的单路高清数据自组分串行接口信号转换为HDMI信号。

YPbPr接口:识别组件的接口,模拟系统。

视频转码

视频转码指的是代码已经压缩编码的视频流至另一个的视频流,以适应不同的网络带宽,处理能力和不同的用户需求不同的终端。

视频流化

为了提取过程中,即的音频和视频帧流化的基本上,数据的每一帧中的文件偏移问题被计算。

视频切片

把一个比较完整的大文件,转码后切成按固定工作时长的小文件,存储下来,这样用户信息就可以通过实现企业就近下载,包括拖放等操作。

流媒体概念

流媒体包括广义和狭义的含义:在广义上的流媒体指的是音频和视频形式稳定和连续的系列的流动流的传输技术,方法和协议和重放的总称,即,流媒体技术;狭义上的流是相对于传统的下载——回放模式而言,是指从互联网上获取新的音频和视频等多媒体数据的方法,它可以支持多媒体数据流的实时播放的实时传输。

流媒体协议

RTP数据协议

实时传输协议是在因特网网络协议多媒体数据流进行处理,也能够使用流网络环境中的一个或许多来实现实媒体数据的传输-time。

RTP协议目的是提供实时数据端到端传输服务,因此,RTP的概念没有连接,它可以在非取向连接或面向连接的顶部建造传输协议底层;RTP不依赖于特定的网络地址格式,只需要对底层传输协议和链段的支撑框架就足够了;RTP本身不提供任何额外的可靠性机制,这些必须使传输协议或应用程序本身来保证。

RTCP控制协议

RTCP控制管理协议需要与RTP数据进行协议可以一起配合使用,当应用系统程序启动建设一个RTP会话时将同时需要占用两个端口,分别供RTP和RTCP使用。RTP本身并不能为按序传输数据包提供可靠的保证,也不提供流量控制和拥塞控制,这些都由RTCP来负责完成。RTP和RTCP通常将使用相同的分配机制,发送控制信息,以周期性地在会话中的所有成员,通过接收从中获取相关信息的会话参与者的应用程序数据,和网络状态,数据包丢失的概率反馈,因此能够控制服务或网络状态诊断的质量。

RTSP实时流协议

作为自己一个应用层协议,RTSP提供了一个企业可供扩展的框架,它的意义主要在于可以使得信息实时流媒体数据的受控和点播变得更加可能。总体而言,RTSP是用于控制具有实时特性的数据传输的流媒体该协议,但本身并不传输数据,但是必须依赖于由底层传输协议提供的某些服务。RTSP可以通过对流媒体发展提供一些诸如播放、暂停、快进等操作,它负责定义一个具体的控制系统消息、操作方式方法、状态码等,此外还描述了与RTP间的交互技术操作。

SIP

1、SIP协议介绍

Internet的许多企业应用都需要通过建立和管理作为一个会话,会话在这里的含义是在参与者发展之间的数据的交换。考虑到参与者的实际情况,这些应用往往是非常复杂的:参与者

可能是在代理间移动,他们自己可能可以有多个名字,他们通过中间的通讯可能是一个基于企业不同的媒介——有时候是多种媒介一起进行交互。已经为声音、视频或文本等实时多媒体会话数据创建了许多通信协议。这SIP,以及这些协议通过启用Internet端点发现彼此并建立共享的会话描述。为了能够进行定位精确的会话参与者,并且也为了企业其他的目的,SIP允许创建一个基础的network hosts,并且通过允许终端用户信息注册上去,发出会话邀请,或者发出一些其他国家请求。SIP是一种灵活的,多功能的工具,可用于创建,修改和终止的作品的独立底层传输协议,并没有对会话建立的类型依赖会话。

2、SIP协议功能概况

SIP是一个系统应用层的控制管理协议,可以直接用来进行建立、修改、和终止使用多媒体会话。SIP还可以邀请与会者参加已经存在的会议,例如多方会议。媒体

可以在一个企业已经发展存在的会话中方便的增加。SIP支持名称映射和重定向服务,支持个人移动性——无论用户只需维持单一外部可视标识符

他们的实际进行网络安全地点。SIP在建立和维持企业终止使用多媒体会话协议上,支持5个方面:

用户位置:检查最终用户的位置以进行通信。

用户可用性:检查用户是否愿意参加会议。

用户管理能力:检查网络媒体和媒体的参数。

在主叫方和被叫“振铃”,建立会话参数:建立会话。

会话信息管理:包括发送和终止会话,修改会话参数,激活服务能力等等。

SIP不是一个垂直集成的通信系统。SIP是相当更合适的构件,它的一部分可以与其他IETF协议来建立一个完整的多媒体架构。比如,这些技术架构设计将会主要包含一个实时进行数据信息传输网络协议用来作为传输系统实时的数据分析并且可以提供QoS反馈,实时流协议用于管理控制流媒体的的传输,媒体网关内部控制相关协议用来实现控制到公共服务电话交换网的网关,还有会话描述协议用于研究描述多媒体会话。因此,SIP应该以提供完整的服务,最终用户与其他协议的工作。虽然我国基本的SIP协议的功能组件并不依赖于这些网络协议。

SIP不自行提供服务。但是,SIP提供了一个可以用来实现不同的服务奠定了基础。比如,SIP可以进行定位系统用户和传输提供一个封装好的对象到对方的当前社会位置。如果通过描述SDP传输会话利用这个点的优势,立刻,对方的用户代理可以得到会话的参数。如果需要用这个像传输进行会话分析描述)一样可以呼叫方的照片,一个”呼叫ID”服务很容易就建立了。正如这个简单的例子所说明的,SIP可以提供许多不同的服务作为基础。

SIP并不提供会议控制服务,并没有规定会议是进行管理。可以同时通过在SIP上建立以及其他的会议控制协议来发起一个重要会议。由于SIP会话有关各方在会议,所以会议可以是完全不同的网络,SIP不能,也不会提供任何形式的网络资源预留管理。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

音视频是怎样实现传输的 的相关文章

随机推荐

  • 【eNSP】单臂路由+静态路由配置练习

    单臂路由 静态路由配置练习 单臂路由 又名子接口 实际上是一个逻辑接口 并不存在真正物理上的子接口 采用单臂路由 即在路由器上设置多个逻辑子接口 每个子接口都可以单独设置一个IP地址 对应于一个VLAN 由于物理路由接口只有一个 各子接口的
  • Flutter 实体类转String,String转实体类

    实体类转String方式 引用需要转换的包 import dart convert 转换方法 String jsonStr jsonEncode myInfosBeans String转实体类 引用转换包 import dart conve
  • render 怎么使用v-if

    在Vue中使用render函数 有些时候我们需要判断这个元素是否需要渲染 在正常的DOM结构中可以直接使用v if 但是 render函数中有些时候是无法使用v if 来进行判断 这时我们可以使用if 来判断是否添加该元素 render h
  • c++ 理解 关于构造函数和析构函数

    构造函数和析构函数 1 首先 C 有拷贝构造函数 拷贝赋值运算符 移动构造函数 移动赋值运算符和析构函数 构造函数可以先分为 默认构造函数和拷贝构造函数 如果我们在代码中不显示的自己声明构造函数的话 c 的编译器会为我们默认生成默认构造函数
  • STM32之ADC实验

    实验的基本功能 采集PC0引脚的输入电压 通过串口打印出采集的电压值 本实验是使用通道10 采集PC0引脚的输入电压 include stm32f10x h include stm32f10x usart h include
  • mac 卸载idea

    卸载MAC中的IDEA Intellij 首先在应用里面右键移动到垃圾桶 然后使用命令行 cd Users xxx Library 上面的xxx对应你的用户名 然后输入 rm rf Logs IntelliJIdeaxxx rm rf Pr
  • 域名续费怎么才能便宜?2023年腾讯云服务器和域名续费贵怎么续费便宜?

    背景 在腾讯云的有一个域名到期了需要续费 xyz续费居然有79元 真的贵 建议大家在购买域名之前参考我之前的文章 直接买个188元10年的top域名真的香 我是因为小程序都布置好了 如果重新更改域名太累了 所以只能续费 直接续费需要79元
  • 云服务器部署 Web 项目

    一 搭建 Java 部署环境 1 安装 JDK 2 安装 Tomcat 总结 3 安装 MySQL 1 依次安装 2 更改配置 3 启动 4 测试连接 二 部署 web 项目 1 给服务器准备好依赖的数据 2 微调我们的 Java 代码 3
  • Requests模块怎么设置字符编码

    Requests模块在发出网络请求时 支持设置字符编码 主要有以下两种方式 在请求头中设置字符编码 可以通过headers参数设置字符编码 例如 import requests url http www example com header
  • C# SuperSocket 手把手教你入门 傻瓜教程---11(FixedSizeReceiveFilter - 固定请求大小协议)不使用COMMAND

    SuperSocket内置的常用协议实现模版如下 1 TerminatorReceiveFilter SuperSocket SocketBase Protocol TerminatorReceiveFilter SuperSocket S
  • linux命令:修改用户密码

    修改用户密码用passwd命令 假设现在已经用root用户登陆 1 修改root用户密码 在终端直接输入 root armbian passwd New password 输入第一次密码 Retype new password 输入第二次密
  • 3个字节的空txt文本文件

    运行下面代码可以建立一个3个字节的空txt文本文件 想了解其原因的请参考文本文件的编码方式和unicode的具体资料 google上就有很多 System IO FileStream fs new System IO FileStream
  • matlab实现数值积分 【一】(trapz函数)

    目录 总述 函数调用格式 应用举例 例1 梯形法求积分 例2 不同步长对积分结果的影响 总述 数值积分问题是传统数值分析课程中的重要内容 如果被积函数的数学表达式未知 则需要由实测数据通过梯形算法求出积分的近似值 本文将介绍被积函数的数学表
  • 门面设计模式

    github GitHub QiuliangLee pattern 设计模式 1 什么是门面设计模式 门面设计模式是一种软件设计模式 也被称为外观 Facade 模式 它提供了一个简单的接口 让客户端能够访问复杂系统中的一组接口 通过门面模
  • 打包部署也这么内卷--springboot项目的打包及一键服务器部署

    一 环境准备 1 cenos7服务器一台 2 更换yum源 yum install y wget mv etc yum repos d CentOS Base repo etc yum repos d CentOS Base repo ba
  • C++常见编译WARNING小结

    首先要说的是大家不要对Warning视而不见 有时候通过Warning确实可以找到一些隐患 其次 未来新增代码应不允许Warning出现 有Warning需要修改掉 以下是常见的Warning小结 常见十大Warning 1 warning
  • 对象序列化(2):objectMapper.readValue详解

    1 反序列化方式 1 简单的直接Bean class 2 复杂的用 TypeReference 2 反序列化方法 首先说明 readValue 针对String 一共有3个重载 如下 public
  • 【UE4】4.26安卓打包流程

    前言 本教程适用于UE4 26 文章最后部分有常见问题解决与性能优化 教程开始 1 下载 Android Studio最新版 默认安装 请先关闭UE相关程序 2 打开Android Studio if启动时提示access SDK错误 点C
  • FPGA实现Cordic算法——向量模式

    FPGA实现Cordic算法 向量模式 FPGA实现Cordic算法 向量模式 1 cordic算法基本原理 2 FPGA实现cordic算法向量模式 i FPGA串行实现cordic ii FPGA流水线实现cordic iii 实验结果
  • 音视频是怎样实现传输的

    音视频传输时的基本步骤 1 发起会话 Sip协议 2 编码 硬件编码 软件编码 3 传输 RTP 4 解码 硬件解码 软件解码 5结束会话 Sip协议 视频格式 视频数据格式可以发展分为一个适合本地播放的本地影像视频和适合在网络中播放的网络