音视频通信

文章目录

  • 一、音视频通信流程
  • 二、流媒体协议
    • 1、RTSP
    • 2、RTMP
    • 3、HLS
    • 4、WebRTC

一、音视频通信流程

音视频通信完整流程有如下几个环节:采集、编码、前后处理、传输、解码、缓冲、渲染等。
在这里插入图片描述

每一个细分环节,还有更细分的技术模块。比如,前后处理环节有美颜、滤镜、回声消除、噪声抑制等,采集有麦克风阵列等,编解码有H.263,H.264、H.265等。

二、流媒体协议

1、RTSP

  • RTSP一般不用作直播场景,RTSP一般用作摄像头、监控等硬件设备的实时视频流观看与推送上。
  • 现在的浏览器都不支持RTSP的播放。

2、RTMP

RTMP(Real Time Messaging Protocol),实时消息传输协议。是一个古老的协议。RMTP最初由Macromedia开发,后被Adobe收购,至今仍被使用。由于RTMP播放视频需要依赖Flash插件。而Flash插件多年来一直受安全问题困扰,正在被迅速淘汰。因此,目前RTMP主要用于提取stream。也就是当设置解编码器将视频发送到托管平台时,视频将使用RTMP协议发送到 CDN,随后使用另一种协议(通常是HLS)传递给播放器。

  • RTMP协议是既可以推流、也可以拉流的协议。一般只用作直播源推流、推流到直播CDN等场景。
  • RTMP地址是rtmp://开头的,且推流地址与播放地址是一样的。
  • RTMP协议的延迟是比较低的,大概在1-3秒左右。
  • RTMP协议需要特定的流媒体服务软件,如SRS、加入了RTMP插件的Nginx等。

3、HLS

HLS(HTTP Live Streaming)。由 Apple 开发,旨在能够从 iPhone 中删除 flash,如今已成为使用最广泛的协议。桌面浏览器、智能电视、Android、iOS 均支持 HLS。HTML5 视频播放器也原生的支持HLS,但不支持 HDS 和 RTMP。这样就可以触达更多的用户。HLS 支持码率自适应,并且支持最新的 H.265 解编码器,同样大小的文件,H.265 编码的视频质量是 H.264 的二倍。

  • HLS协议一般只用作拉流观看。
  • 它工作原理很简单,就是通过HTTP协议下载静态文件。HLS协议的文件由两部分组成,一是多个只有几秒长度的.ts碎片视频文件,另一个是记录这些视频文件地址的.m3u8索引文件,且这些静态文件都是直接写入磁盘的。
  • 由于HLS协议实际上是通过HTTP协议请求文件的,且HLS相关文件是直接写入磁盘的,所以并不需要特殊的流媒体服务软件,使用Nginx等HTTP服务就可以了。
  • HLS协议可以用于点播和直播观看,其适配多种播放场景,一般加入插件就可以播放了,如网页加入HLS的js插件就可以播放了,苹果设备是原生支持HLS协议的。
  • HLS协议的直播流也可以适配很多播放场景,但是由于需要生成静态文件,直播延迟很大,大概在5-30秒左右,使用直播CDN的话,由于边缘节点同步等问题,直播延迟甚至可能会达到1分钟左右。

4、WebRTC

  • WebRTC是基于UDP的,建立通信后,会不断以流式发送数据,所以延迟会比RTMP还要低。
  • WebRTC协议支持推流和拉流,地址一般是以webrtc://开头的,且推流和拉流地址一般也是一样的。
  • WebRTC虽然是点对点的协议,但是应用在直播场景的话,是需要搭建WebRTC服务器作为流媒体服务的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/315261.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RFC6749-OAuth2.0

前言 最近在项目中需要实现SSO(单点登录)功能,以实现一处注册,即可在任何平台之间登录的功能。我们项目中并没有直接对接第三方认证系统而是通过集成keycloak 完成一系类安全协议的对接工作。如果我们在代码级别自己完成各种安全协议的对接是一项十分大的工程。不仅要走统一的…

【前端技术】LocalForage数据存储

✨专栏介绍 在当今数字化时代,Web应用程序已经成为了人们生活和工作中不可或缺的一部分。而要构建出令人印象深刻且功能强大的Web应用程序,就需要掌握一系列前端技术。前端技术涵盖了HTML、CSS和JavaScript等核心技术,以及各种框架、库和工具…

2024最新腾讯云CVM服务器和轻量应用服务器有什么区别?

腾讯云轻量服务器和云服务器CVM该怎么选?不差钱选云服务器CVM,追求性价比选择轻量应用服务器,轻量真优惠呀,腾讯云服务器网txyfwq.com活动 https://curl.qcloud.com/oRMoSucP 轻量应用服务器2核2G3M价格62元一年、2核2G4M价格118元…

数字IC后端实现之物理验证Calibre LVS常见错误案例解析

小编今天向各位分享下数字IC后端实现物理验证中特别经常遇到的几类Calibre LVS错误。相信只要把这几类LVS Violation彻底搞清楚,那么LVS基本上你都可以很轻松过掉。 在进入Calibre LVS案例前,小编提醒下各位,在看LVS报告前一定要确保LVS的la…

六、HTML 段落

HTML 可以将文档分割为若干段落。 一、HTML 段落 段落是通过 <p> 标签定义的。 <p>这是一个段落 </p> <p>这是另一个段落</p> 注意&#xff1a;浏览器会自动地在段落的前后添加空行。&#xff08;</p> 是块级元素&#xff09; 二、不…

向量数据库调研

向量数据库的优势 数据库类型 适用场景 典型数据库举例 关系型数据库&#xff08;RDBMS&#xff09; 处理结构化数据&#xff0c;擅长OLTP&#xff0c;如财务、人事管理等。 MySQL&#xff0c;Oracle&#xff0c;SQL Server 非关系型数据库&#xff08;NoSQL&#xff09;…

java 纯代码导出pdf合并单元格

java 纯代码导出pdf合并单元格 接上篇博客 java导出pdf&#xff08;纯代码实现&#xff09; 后有一部分猿友叫我提供一下源码&#xff0c;实际上我的源码已经贴在帖子上了&#xff0c;都是同样的步骤&#xff0c;只是加多一点设置就可以了。今天我再次上传一下相对情况比较完整…

系列一、如何正确的获取Spring Cloud Alibaba Spring Cloud Spring Boot之间的版本对应关系

一、正确的获取Spring Cloud Alibaba & Spring Cloud & Spring Boot之间的版本对应关系 1.1、概述 Java发展日新月异&#xff0c;Spring Cloud Alibaba 、 Spring Cloud 、 Spring Boot在GitHub上的迭代也是异常的频繁&#xff0c;这也说明其社区很活跃&#xff0c;通…

性能优化-OpenMP基础教程(一)

本文主要介绍OpenMP并行编程技术&#xff0c;编程模型、指令和函数的介绍、以及OpenMP实战的几个例子。希望给OpenMP并行编程者提供指导。 &#x1f3ac;个人简介&#xff1a;一个全栈工程师的升级之路&#xff01; &#x1f4cb;个人专栏&#xff1a;高性能&#xff08;HPC&am…

前端框架变迁史

前端框架变迁史 过去的前端 JQuery 简单的选择器和链式操作跨浏览器兼容性强大的动画功能简单的 Ajax 支持插件系统 MVVM 模式 什么是 MVVM 什么是 MVVM &#xff1f; 现在的前端 主流技术 react VUE angular 作为现代前端框架&#xff0c;有如下 4 个共有的特点&…

操作细节无遗漏:上海迅软DSE如何精准记录用户不规范行为

企业在部署加密软件后&#xff0c;虽然数据信息得到了加密保护&#xff0c;但难免会发生内部人员滥用管理身份职权&#xff0c;随意解密、外发文件等情况&#xff0c;造成明明对数据加密了&#xff0c;却还是无法完全掌控数据使用情况的现象发生&#xff0c;因此审计功能变得尤…

抖店和商品橱窗有什么区别?新手应该选哪个?

我是电商珠珠 临近年底了&#xff0c;有的人已经开始为下一年筹谋&#xff0c;有的去抖音做账号做直播带货&#xff0c;不会直播带货的就想尝试做下抖店&#xff0c;来为以后的经济打基础。 刚想要接触却对这类有些迷糊&#xff0c;发现商品橱窗和抖店都可以卖货&#xff0c;…