草庐IT

Android音视频之协议介绍

峥嵘life 2024-03-22 原文

Android音视频之协议介绍

文章目录

本文对音视频的协议起源做详细介绍,学习之后可以加深对音视频知识的了解。
这里的音视频不仅针对Android平台,其他平台也通用。

什么是视频文件

一般是指以某种格式封装了音视频数据的文件

常见的音频格式:mp3、wma、avi、rm、rmvb、flv、mpg、mov、mkv等。
常见的视频格式:rmvb、rm、wmv、avi、3GP、MP4

封装格式的作用是什么呢?
一般视频文件里不光有视频,还有音频,封装格式的作用就是把视频和音频打包起来。

什么是264

定义:  对摄像头采集的每一帧视频需要进行编码,由与视频中存在空间和时间的冗余,
 需要用算法来去除这些冗余。H264是专门去除这些冗余的算法,我们把这种算法称为H264编码

H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称

应用: 像大多数看到的视频,如苍老师的电影,如rmvb   avi   mp4   flv   大都是由h264进行编码

当然也会有不同的 如 mpeg4 vp9 这样比较冷门的编码

无论是h264 mpeg4 vp9 都是基于宏块的方式进行编码,原理是一样的,只不过实现的算法
不一致罢了

了解音视频协议有啥用?

了解音视频的协议对后续音视频开发有很大帮助,比如音视频的编码解码都是基于协议的。

两大电信联盟

ITU-T

ITU-T的中文名称是国际电信联盟电信标准分局(ITU-T for ITU Telecommunication Standardization Sector), 它是国际电信联盟管理下的专门制定电信标准的分支机构。

该机构创建于1993年,前身是国际电报电话咨询委员会(CCITT 是法语Comité Consultatif International Téléphonique et Télégraphique的缩写,英文是International Telegraph and Telephone Consultative Committee),总部设在瑞士日内瓦。

ISO

ISO(InternationalOrganization for Standardization)国际标准化组织,1946年10月,于英国伦敦创建。

国际电信联盟(ITU-T)和国际标准化组织(ISO)的相关协议

ITU和ISO是两个不同的机构,都有自己不同的音视频协议,但是后面为了统一,
从H264开始把协议进行了规范统一。
即H264 也叫MPEG-4 AVC,H265也叫HEVC,把两个机构的名称都加进去了。

ITU和ISO的关系有点类似中国移动(ITU)和中国电信(ISO)
中国移动,是新的通讯运营商,发展较快,活跃度高,年轻人用得比较多,所以知道H264/H265的人比较多,并且这个名称容易记住

中国电信,是老牌的电信运营商,影响力较大,发展较早,所以MPEG AVC和HEVC知道的是慢慢变少

ITU-T 视频编码发展历程

H.26X系列(由ITU[国际电传视讯联盟]主导)

H.261:主要在老的视频会议和视频电话产品中使用
H.263:主要用在视频会议、视频电话和网络视频上
.264:H.264/MPEG-4第十部分,是一种视频压缩标准,一种被广泛使用的高精度视频的录制、压缩和发布格式。
H.265:高效率视频编码是一种视频压缩标准,H.264/MPEG-4的继任者。可支持4K分辨率甚至到超高画质电视,最高分辨率可达到8192×4320(8K分辨率),这是目前发展的趋势,尚未有大众化编码软件出现

其他音视频协议

Google(VP8/VP9)

由Google开发,目前只用于youtube视频播放

Microsoft (VC-1)

微软自研音视频协议

国产自主标准: AVS/AVS+/AVS2

中国的音视频协议,目前用于央视视频。

当然也有其他小众的或者已经淘汰的音视频协议,这里不过多介绍。

目前市场上主流的音视频协议还是H264,超高清视频用的是H265.
H264和H265应用在所有的平台都可以,比如电脑,电视,手机等
而Google的vp8/vp9目前只在Google Youtube视频中用于,
国内的AVS协议标准目前之用在央视视频。

总结:


1、最常用的H264和H265是由国际电信联盟(ITU-T)和国际标准化组织(ISO)共同制定的。
2、H264也叫:MPEG-4 AVC,全称是:H264/MPEG-4 AVC,2003年制定
3、H265也叫:HEVC,全称是:H265/HEVC,2013年制定

有关Android音视频之协议介绍的更多相关文章

  1. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  2. CAN协议的学习与理解 - 2

    最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总

  3. 动漫制作技巧如何制作动漫视频 - 2

    动漫制作技巧是很多新人想了解的问题,今天小编就来解答与大家分享一下动漫制作流程,为了帮助有兴趣的同学理解,大多数人会选择动漫培训机构,那么今天小编就带大家来看看动漫制作要掌握哪些技巧?一、动漫作品首先完成草图设计和原型制作。设计草图要有目的、有对象、有步骤、要形象、要简单、符合实际。设计图要一致性,以保证制作的顺利进行。二、原型制作是根据设计图纸和制作材料,可以是手绘也可以是3d软件创建。在此步骤中,要注意的问题是色彩和平面布局。三、动漫制作制作完成后,加工成型。完成不同的表现形式后,就要对设计稿进行加工处理,使加工的难易度降低,并得到一些基本准确的概念,以便于后续的大样、准确的尺寸制定。四、

  4. python ffmpeg 使用 pyav 转换 一组图像 到 视频 - 2

    2022/8/4更新支持加入水印水印必须包含透明图像,并且水印图像大小要等于原图像的大小pythonconvert_image_to_video.py-f30-mwatermark.pngim_dirout.mkv2022/6/21更新让命令行参数更加易用新的命令行使用方法pythonconvert_image_to_video.py-f30im_dirout.mkvFFMPEG命令行转换一组JPG图像到视频时,是将这组图像视为MJPG流。我需要转换一组PNG图像到视频,FFMPEG就不认了。pyav内置了ffmpeg库,不需要系统带有ffmpeg工具因此我使用ffmpeg的python包装p

  5. TimeSformer:抛弃CNN的Transformer视频理解框架 - 2

    Transformers开始在视频识别领域的“猪突猛进”,各种改进和魔改层出不穷。由此作者将开启VideoTransformer系列的讲解,本篇主要介绍了FBAI团队的TimeSformer,这也是第一篇使用纯Transformer结构在视频识别上的文章。如果觉得有用,就请点赞、收藏、关注!paper:https://arxiv.org/abs/2102.05095code(offical):https://github.com/facebookresearch/TimeSformeraccept:ICML2021author:FacebookAI一、前言Transformers(VIT)在图

  6. 安卓apk修改(Android反编译apk) - 2

    最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路

  7. ruby - 如何更改此正则表达式以从未指定 v 参数的 Youtube URL 获取 Youtube 视频 ID? - 2

    目前我正在使用这个正则表达式从YoutubeURL中提取视频ID:url.match(/v=([^&]*)/)[1]我怎样才能改变它,以便它也可以从这个没有v参数的YoutubeURL获取视频ID:http://www.youtube.com/user/SHAYTARDS#p/u/9/Xc81AajGUMU感谢阅读。编辑:我正在使用ruby​​1.8.7 最佳答案 对于Ruby1.8.7,这就可以了。url_1='http://www.youtube.com/watch?v=8WVTOUh53QY&feature=feedf'url

  8. ruby - HTTP POST 上的 SSL 错误(未知协议(protocol)) - 2

    尝试通过SSL连接到ImgurAPI时出现错误。这是代码和错误:API_URI=URI.parse('https://api.imgur.com')API_PUBLIC_KEY='Client-ID--'ENDPOINTS={:image=>'/3/image',:gallery=>'/3/gallery'}#Public:Uploadanimage##args-Theimagepathfortheimagetoupload#defupload(image_path)http=Net::HTTP.new(API_URI.host)http.use_ssl=truehttp.verify

  9. 物联网MQTT协议详解 - 2

    一、什么是MQTT协议MessageQueuingTelemetryTransport:消息队列遥测传输协议。是一种基于客户端-服务端的发布/订阅模式。与HTTP一样,基于TCP/IP协议之上的通讯协议,提供有序、无损、双向连接,由IBM(蓝色巨人)发布。原理:(1)MQTT协议身份和消息格式有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。MQTT传输的消息分为:主题(Topic)和负载(payload)两部分Topic,可以理解为消息的类型,订阅者订阅(Su

  10. H2数据库配置及相关使用方式一站式介绍(极为详细并整理官方文档) - 2

    目录H2数据库入门以及实际开发时的使用1.H2数据库的初识1.1H2数据库介绍1.2为什么要使用嵌入式数据库?1.3嵌入式数据库对比1.3.1性能对比1.4技术选型思考2.H2数据库实战2.1H2数据库下载搭建以及部署2.1.1H2数据库的下载2.1.2数据库启动2.1.2.1windows系统可以在bin目录下执行h2.bat2.1.2.2同理可以通过cmd直接使用命令进行启动:2.1.2.3启动后控制台页面:2.1.3spring整合H2数据库2.1.3.1引入依赖文件2.1.4数据库通过file模式实际保存数据的位置2.2H2数据库操作2.2.1Mysql兼容模式2.2.2Mysql模式

随机推荐