音视频多媒体协议相关资料汇总

音视频/流媒体协议和编码汇总 是应用层协议,使用TCP作为底层传输协议,并提供了低延迟、高带宽利用率和实时性的特点。 (1)RTMP协议是Adobe的私有协议,未完全公开 (2)一般传输的是 flv,f4v 格式流都作用于OSI模型中的传输层。 RTCP是RTP的补充协议,用于提供对RTP会话的控制和监控。RTCP负责传输会话中的控制信息,包括发送者和接收者的统计信息、网络延迟、会话质量反馈等 SRTP是在RTP(Real-time Transport Protocol)的基础上添加了加密和认证机制,用于保护音频和视频数据的机密性和完整 阅读详情
未知问题:

介绍完了视频编码后,再来介绍一些封装。沿用前面的比喻,封装可以理解为采用哪种货车去运输,也就是媒体的容器。

所谓容器,就是把编码器生成的多媒体内容(视频,音频,字幕,章节信息等)混合封装在一起的标准。容器使得不同多媒体内容同步播放变得很简单,而容器的另一个作用就是为多媒体内容提供索引,也就是说如果没有容器存在的话一部影片你只能从一开始看到最后,不能拖动进度条(当然这种情况下有的播放器会话比较长的时间临时创建索引),而且如果你不自己去手动另外载入音频就没有声音。

下面介绍几种常见的封装格式和优缺点:

  • AVI 格式(后缀为 .avi):
    它的英文全称为 Audio Video Interleaved ,即音频视频交错格式。它于 1992 年被 Microsoft 公司推出。这种视频格式的优点是图像质量好。由于无损 AVI 可以保存 alpha 通道,经常被我们使用。缺点太多,体积过于庞大,而且更加糟糕的是压缩标准不统一,最普遍的现象就是高版本 Windows 媒体播放器播放不了采用早期编码编辑的 AVI 格式视频,而低版本 Windows 媒体播放器又播放不了采用最新编码编辑的 AVI 格式视频,所以我们在进行一些 AVI 格式的视频播放时常会出现由于视频编码问题而造成的视频不能播放或即使能够播放,但存在不能调节播放进度和播放时只有声音没有图像等一些莫名其妙的问题。
  • DV-AVI 格式(后缀为 .avi):
    DV 的英文全称是 Digital Video Format ,是由索尼、松下、JVC 等多家厂商联合提出的一种家用数字视频格式。数字摄像机就是使用这种格式记录视频数据的。它可以通过电脑的 IEEE 1394 端口传输视频数据到电脑,也可以将电脑中编辑好的的视频数据回录到数码摄像机中。这种视频格式的文件扩展名也是 AVI。电视台采用录像带记录模拟信号,通过 EDIUS 由IEEE 1394端口采集卡从录像带中采集出来的视频就是这种格式。
  • QuickTime File Format 格式(后缀为 .mov):
    美国 Apple 公司开发的一种视频格式,默认的播放器是苹果的 QuickTime。具有较高的压缩比率和较完美的视频清晰度等特点,并可以保存 alpha 通道。
  • MPEG 格式(文件后缀可以是 .mpg .mpeg .mpe .dat .vob .asf .3gp .mp4等) :
    它的英文全称为 Moving Picture Experts Group,即运动图像专家组格式,该专家组建于 1988 年,专门负责为 CD 建立视频和音频标准,而成员都是为视频、音频及系统领域的技术专家。MPEG 文件格式是运动图像压缩算法的国际标准。MPEG 格式目前有三个压缩标准,分别是 MPEG-1、MPEG-2、和 MPEG-4 。MPEG-1、MPEG-2 目前已经使用较少,着重介绍 MPEG-4,其制定于 1998 年,MPEG-4 是为了播放流式媒体的高质量视频而专门设计的,以求使用最少的数据获得最佳的图像质量。目前 MPEG-4 最有吸引力的地方在于它能够保存接近于 DVD 画质的小体积视频文件。
  • WMV 格式(后缀为.wmv .asf):
    它的英文全称为 Windows Media Video,也是微软推出的一种采用独立编码方式并且可以直接在网上实时观看视频节目的文件压缩格式。WMV 格式的主要优点包括:本地或网络回放,丰富的流间关系以及扩展性等。WMV 格式需要在网站上播放,需要安装 Windows Media Player( 简称 WMP),很不方便,现在已经几乎没有网站采用了。
  • Real Video 格式(后缀为 .rm .rmvb):
    Real Networks 公司所制定的音频视频压缩规范称为Real Media。用户可以使用 RealPlayer 根据不同的网络传输速率制定出不同的压缩比率,从而实现在低速率的网络上进行影像数据实时传送和播放。RMVB 格式:这是一种由 RM 视频格式升级延伸出的新视频格式,当然性能上有很大的提升。RMVB 视频也是有着较明显的优势,一部大小为 700 MB 左右的 DVD 影片,如果将其转录成同样品质的 RMVB 格式,其个头最多也就 400 MB 左右。大家可能注意到了,以前在网络上下载电影和视频的时候,经常接触到 RMVB 格式,但是随着时代的发展这种格式被越来越多的更优秀的格式替代,著名的人人影视字幕组在 2013 年已经宣布不再压制 RMVB 格式视频。
  • Flash Video 格式(后缀为 .flv):
    由 Adobe Flash 延伸出来的的一种流行网络视频封装格式。随着视频网站的丰富,这个格式已经非常普及。
  • Matroska 格式(后缀为 .mkv):
    是一种新的多媒体封装格式,这个封装格式可把多种不同编码的视频及 16 条或以上不同格式的音频和语言不同的字幕封装到一个 Matroska Media 档内。它也是其中一种开放源代码的多媒体封装格式。Matroska 同时还可以提供非常好的交互功能,而且比 MPEG 的方便、强大。
  • MPEG2-TS 格式 (后缀为 .ts)(Transport Stream「传输流」,又称 MTS、TS):
    是一种传输和存储包含音效、视频与通信协议各种数据的标准格式,用于数字电视广播系统,如 DVB、ATSC、IPTV 等等。MPEG2-TS 定义于 MPEG-2 第一部分,系统(即原来之 ISO/IEC 标准 13818-1 或 ITU-T Rec. H.222.0)。Media Player Classic、VLC 多媒体播放器等软件可以直接播放 MPEG-TS 文件。

目前,我们在流媒体传输,尤其是直播中主要采用的就是 FLV 和 MPEG2-TS 格式,分别用于 RTMP/HTTP-FLV 和 HLS 协议。

RTMP协议知识点:
  • RTMP协议是封装的FLV视频在互联网中进行传输。
  • RTMP协议基于tcp协议;而TCP协议实时性不如UDP,也非常占用带宽。目前基于UDP的RTMFP协议能很好的解决这些问题。
RTMP vs HLS vs HTTP FLV:
  • RTMP:Adobe公司的流媒体传输协议,端口号1935普通网络用户均可使用,包括非IOS平台用户,对非80端口(如1935)无限制的网络环境用户。优点:防HTTP下载,延时短。
    HLS:IOS平台下的流媒体传输协议 ,端口号80优点:H5浏览器支持比较好,IOS,安卓原生支持。缺点:延迟性比较大。楼上说的切片,关键帧改变后切片时间可以缩短,而且可以自己设定首次产生多少分片。
    HTTP FLV:是一种将直播流模拟成FLV文件,通过HTTP协议进行下载的模式来实现流媒体传输的协议,端口号80 一般建议使用HTTP FLV,实时性和RTMP相等。优点:HTTP相比于RTMP省去了一些协议交互时间,首屏时间更短。HTTP可拓展的功能更多。
    作者:世界与你同在
    链接:https://www.zhihu.com/question/47504661/answer/117559809
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • HLS:移动h5浏览器支持较好,但是延迟较大。移动端播放前需要产生三个分片,每个分片至少得是一个GOP。一个GOP即使是2秒,也意味着这个环节耗费了6秒的延时。
    RTMP:需要访问1935端口,支持双向互动,实时性很好,PC flash原生支持。
    HTTP-FLV:不支持双向互动,实时性和RTMP协议一致。我们目前用的是HTTP-FLV作为拉流协议。原因如下:1, 国内网络情况的恶劣程度,并不是每个网络防火墙都允许1935包通过。2,RTMP协议和HTTP-FLV,实际传输的内容都是相同的FLV,实时性也一样。3,RTMP协议握手方式比HTTP复杂。
    作者:ksy-codefarmer
    链接:https://www.zhihu.com/question/47504661/answer/106441080
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

这里写图片描述

  • RTP&RTCP基于UDP协议。
  • RTSP可选择TCP/UDP协议。
  • RTMP基于TCP协议。
  • 什么是GOP?就是视频流中两个I帧的时间距离。
  • 理论上RTSP RTMP HTTP都可以做直播和点播,但一般做直播用RTSP RTMP,做点播用HTTP。做视频会议的时候原来用SIP协议,现在基本上被RTMP协议取代了。
RTMP特点:
  • Adobe支持得很好:
    RTMP实际上是现在编码器输出的工业标准协议,基本上所有的编码器(摄像头之类)都支持RTMP输出。
    原因在于PC市场巨大,PC主要是Windows,Windows的浏览器基本上都支持flash,
    Flash又支持RTMP支持得非常好。
  • 适合长时间播放:
    因为RTMP支持的很完善,所以能做到flash播放RTMP流长时间不断流,
    当时测试是100万秒,即10天多可以连续播放。
    对于商用流媒体应用,客户端的稳定性当然也是必须的,否则最终用户看不了还怎么玩?
    我就知道有个教育客户,最初使用播放器播放http流,需要播放不同的文件,结果就总出问题,
    如果换成服务器端将不同的文件转换成RTMP流,客户端就可以一直播放;
    该客户走RTMP方案后,经过CDN分发,没听说客户端出问题了。
  • 延迟较低:
    比起YY的那种UDP私有协议,RTMP算延迟大的(延迟在1-3秒),
    比起HTTP流的延时(一般在10秒以上)RTMP算低延时。
    一般的直播应用,只要不是电话类对话的那种要求,RTMP延迟是可以接受的。
    在一般的视频会议应用中,RTMP延时也能接受,原因是别人在说话的时候我们一般在听,
    实际上1秒延时没有关系,我们也要思考(话说有些人的CPU处理速度还没有这么快)。
  • 有累积延迟:
    技术一定要知道弱点,RTMP有个弱点就是累积误差,原因是RTMP基于TCP不会丢包。
    所以当网络状态差时,服务器会将包缓存起来,导致累积的延迟;
    待网络状况好了,就一起发给客户端。
    这个的对策就是,当客户端的缓冲区很大,就断开重连。

HTTP协议/RTSP协议/RTMP协议的区别

音视频基础知识---协议相关RTSP RTMP HLS 音视频基础知识汇总: 音视频基础知识---协议相关RTSP RTMP HLS 音视频基础知识---封装格式 音视频基础知识---视频编码格式 音视频基础知识---音频编码格式 音视频基础知识---像素格式RGB 音视频基础知识---像素格式YUV RTP(Real-time Transport Protocol)实时传输协议 RT... 阅读详情

相关推荐

音视频SDP协议详解(描述会话的协议)

①SDP协议是会话描述协议(Session Description Protocol)的缩写,是一种会话描述格式,一种描述流媒体初始化参数的格式,为描述多媒体数据而设计。(流媒体是指在传输过程中看到或者听到的内容)②SDP协议完全是一种会话描述格式(对应的RFC2327 , RFC4566)。③SDP协议不属于传输协议 ,它只使用不同的适当的传输协议,包括会话通知协议(SAP)、会话初始协议(SIP)、实时流协议(RTSP)、MIME 扩展协议的电子邮件以及超文本传输协议(HTTP)。

yinshipin007的博客 3661

音视频入门系列-协议篇(对比RTMP,HLS和HTTP-FLV)

在开始之前,我们先要明确一个问题,根据应用场景不同,流媒体协议分为: ◆ 推流协议 ◆ 拉流播放协议 RTMP可以用在双端,HLS用在拉流端,HTTP-FLV用在拉流端。 我们先放一张表格从几个维度来对比下这三种协议。 1.RTMP & HTTP-FLV ◆ 这两个协议实际上传输的数据是一样的,数据都是flv文件的tag。 ◆ RTMP:实时播放服务器的 FLV 文件或服务器转发的FLV数据,本地无 FLV 缓存文件,FLV保密性好。 ◆ HTTP-FLV:将 FLV 下载到本地再播放..

fly_C_的专栏 4520

音视频开发成长之路与音视频知识总结_海思支持opus

把音视频工作方向总结为9个(可能不够准确,仅是个人观点):直播、传输、算法、视频播放器、流媒体后端、短视频、音频播放、视频编辑、图像处理。视频包括:帧率、码率、分辨率、像素格式、色彩空间、I帧P帧B帧、DTS与PTS、YUV与RGB、位深与色域、视频编码格式、视频封装格式。通用包括:熟悉流媒体协议、音视频传输、音视频同步播放、平台相关多媒体运用、FFmpeg相关API运用、OpenGL渲染、音视频编辑。音频包括:采样率、声道数与声道布局、采样格式、PCM与波形图、音质、音频编码格式、音频封装格式。

2501_90404130的博客 2158

RTSP、RTMP和HTTP协议的区别

RTSP和RTMP是2个不同的网络传输协议,RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,而RTMP是Real Time Messaging Protocol(实时消息传输协议),网络摄像机的厂家,可根据自身的需求,采用不同协议来处理。目前多数网络摄像机支持RTSP、ONVIF等通用的协议,而支持RTMP比较少。RTMP是Real Time ...

liujiayu2的专栏 2万+

安卓系统多媒体及通信相关资料

安卓系统开发资料,包括摄像头处理、多媒体处理、数据存储,通信等资料。

多媒体资料

加解密相关流程图 算术编码c语言实现

前端音视频开发

概念 websoket概念基础 前端代码demo: 文件目录截图: <!DOCTYPE html> <html> <script src="wfs/wfs.js"></script> <body> <div> <p>ip:<input id="host" value="192.168.0.133" /></p> <p>端口:<input i

weixin_43550562的博客 4196

亚马逊SP-API授权实战:从OAuth流程到Refresh Token获取

本文详细解析了亚马逊SP-API授权流程,从OAuth认证到Refresh Token获取的全过程。通过实战经验分享,帮助开发者快速掌握Marketplace Appstore、Website Workflow和自行授权三种方式,解决常见错误如MD5100和MD9999,并提供了安全存储Refresh Token的最佳实践。

weixin_30379531的博客 518

音视频知识介绍(一)

音视频

future_sky_word的博客 533

SCS 43. 利用Scissor算法从单细胞数据中挖掘临床表型关联的细胞亚群

本文详细介绍了Scissor算法在单细胞转录组数据分析中的应用,该算法能够精准挖掘与临床表型关联的细胞亚群。通过建立单细胞RNA测序数据与临床预测模型的直接关联,Scissor避免了传统聚类方法的局限性,为疾病机制研究和个性化医疗提供了新工具。文章还涵盖了数据预处理、模型选择、结果验证等实战技巧。

weixin_28736335的博客 492

SolidWorks与Python二次开发实战:从宏录制到自动化脚本

本文详细介绍了利用Python对SolidWorks进行二次开发的实战方法。通过宏录制获取操作指令,再将其转换为Python脚本,工程师可以高效实现建模、出图等重复任务的自动化,显著提升设计效率。文章涵盖了环境搭建、代码转换、调试技巧及完整实战案例,为工程师提供了从入门到精通的完整路径。

weixin_29082143的博客 947

音视频媒体传输协议

RTCP(RTP control Protocol)是与RTP配合使用的协议,与RTP协议不可分割。实时流式协议RTSP(Real-Time Streaming Protocol)现在,对流式存储音频/视频的播放,如YouTube都是采用TCP来传送。缓存的方式在一定程度上消除了时延抖动,但是增加了时延,因为推迟播放了。存储音频/视频不是实时产生的,而是已经录制好的,通常存储在硬盘中。如果是实时观看实况转播,应当首先考虑采用UDP来传送。第三种方式:媒体服务器。

lzg_na的博客 1467

Logisim实战:手把手教你搭建GB2312汉字字库(附完整电路图)

本文提供了一份详尽的Logisim实战指南,手把手教你如何利用存储芯片,通过位扩展和字扩展技术,构建一个完整的GB2312汉字字库。文章深入浅出地讲解了从编码原理、系统架构设计到具体电路实现与调试的全过程,是学习计算机组成原理和数字电路设计的绝佳实践项目。

k6l7m8n9的博客 808

音视频学习资料汇总

基础: https://www.cnblogs.com/lidabo/category/404435.html Gstreamer: https://gstreamer.freedesktop.org/documentation/installing/on-linux.html?gi-language=c Gstreamer官方教程翻译: https://www.cnblogs.com/xiaojianliu/category/1269917.html 知网查相关论文资料 https://kns.cn

qq_36959443的博客 420

QT5.12.1报错:1. clang++:error: :fatal error andriod Input/output error

QT5.12.1报错:1. clang++:error: :fatal error andriod Input/output error 解决方式: 1.qt程序不要放在共享目录下编译,直接拷贝到ubuntu系统中编译 2.修改/home/xt/Qt5.12.1/5.12.1/android_armv7/mkspecs/android-clang中 #QMAKE_LINK = QMAKECXXQMAKE_CXX QMAKEC​XXQMAKE_CFLAGS -Wl,–exclude-libs,libgc

xt18971492243的博客 737

【PCIe硬件】PCIe引脚PRSNT与热插拔

热插拔的基本目的是要让PCIe设备按照规定的顺序、原则,从系统中移除或插入到系统中来,并能正常的工作,且不影响系统的正常运行。事实上,PCIe“热插拔”的关键目的就是为前面面所提到的系统RAS服务的,是提升系统RAS能力的非常重要的手段!注意,这里有两个相关概念,前面我们讲的热插拔,其实是广义的“热插拔”。这里的Hot-Plug,为了方便,我们叫做PCIe热插拔,也就是我们现在及后面将要讨论的内容。

smartvxworks的博客 2806

音视频开发成长之路与音视频知识总结

音视频涉及语音信号处理、数字图像处理、信息论、封装协议、编解码、渲染、流媒体协议、网络传输、视频特效、音频特效等等。而音视频在现实生活中扮演着越来越重要的角色,比如视频会议、短视频、直播、播放器、语音聊天等。所以,从事音视频工作是一件比较有意义的事情,挑战与机遇并存。本文主要从六个方面进行介绍:音视频开发基础、音视频进阶成长、音视频工作方向、音视频开源库、流媒体协议与音视频书籍。...

徐福记456 5万+

【2025CSPJ普及组】T4. 多边形

【2025CSPJ普及组】T4. 多边形【题目描述】小 R 喜欢玩小木棍。小 R 有 n 根小木棍,第i(1≤i≤n) 根小木棍的长度为 ai。

lybc2019的博客 849

C++围绕音视频相关的资料都有哪些?如何进行学习

音视频技术涉及的内容广泛而深入。我会根据自己的知识给你提供一个系统性的音视频相关资料梳理,主要分为以及几个方面,希望能帮助你高效地学习和探索。

平凡 737

倍福--实现TCP/IP的配置

控制器为CX5120,需要和上位机做通信,选择TCP/IP的通讯方式,本文介绍TCP/IP通信的操作步骤。 目 录 软硬件版本 3 1.1. 倍福Beckhoff 3 1.1.1. 控制器硬件 3 1.1.2. 控制软件 3 1.2. 串口调试助手 3 1.2.1. TCP调试通信助手 3 授权文件 3 2.1 Lib文件 3 2.2. CAB文件 4 PLC程序编写 4 3.1. 引入TCP/IP库文件 4 3.2. Client端程序 5 3.2.1. 建立相关变量 5 3.3.2. 编写连接功能块

weixin_41883890的博客 5730

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

AVB和DoIP协议资料汇总:深入理解音频视频桥接与诊断协议

AVB和DoIP协议资料汇总:深入理解音频视频桥接与诊断协议 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在当今多元化的网络技术领域,音视频传输和远程诊断成为关键需求。AVB和DoIP协议资料汇总是针对这两个领域的一个全面资料集合,旨在帮助技术人员、研究人员和开发者更深入地理解和应用Audio Video Bridging(AVB)和Diagnostics over...

gitblog_06777的博客 384

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

音视频相关开发库和资料

音视频领域的C/C++开发库主要有两个:ffmpeg和vlc FFmpeg FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec。 FFmpeg是在 Linux 下开发出来的,但它可以在包括 Windows在内的大多数操作系统中编译。这个项目是由 Fabrice Bellard 发起的,现在由 Michael Niedermayer 主持。可以轻易地实现多种视频格式之间的相互转换,例如可以将摄录下的视频avi等转成现在视频

ccf19881030的专栏 1055

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

FFMPEG数据封装格式、多媒体传输协议、音视频编解码器

FFMPEG堪称自由软件中最完备的一套多媒体支持库,它几乎实现了所有当下常见的数据封装格式、多媒体传输协议以及音视频编解码器,提供了录制、转换以及流化音视频的完整解决方案。

专注企业级视频应用,企业视频直播、MR虚拟直播、教育培训连麦直播 1245

Android 音视频开发相关知识

Android 音视频开发是指在 Android 平台上使用相关的技术和工具进行音视频数据采集、处理、编解码、传输和播放等操作,实现各种音视频应用或功能的开发过程

特立独行的博客 2436

Android音视频多媒体开源框架基础大全

音视频的主要流程是录制、处理、编解码和播放显示。本文也遵循这个流程展开,多媒体框架有视频驱动框架V4L2/UVC,显示驱动框架DRM,音视频处理框架openMAX,播放框架EXoplayer,以及显示渲染框架VLC等。

samsion_的博客 2026
上一篇: Android应用开发—setResult()的调用时机
下一篇: 三次握手的第三个ACK包丢了,会发生什么?
voidreturn
博客等级 码龄10年 53粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值