真-浅浅了解下音视频文件格式和相关概念

散装知识,只是突然对这类知识感兴趣,想简单了解下,找到啥就记录啥,没有深入研究文件内部组成构造和底层实现技术和相关标准,毕竟内容挺多的,我也不是必须得学透,况且我没有chatGPT那样的”大脑"…总而言之,门外汉,满足下自己浅浅的好奇心。

文章目录

  • 真-浅浅了解下音视频文件格式和相关概念
    • 比较常见视频格式分类及特点
    • 比较常见音频格式分类及特点
    • 音视频文件常用压缩编解码标准
    • 目前网页所能支持使用的视频格式和相关压缩编解码格式
    • 视频压缩技术和解码编码技术是否相同?
    • 关于流媒体技术
    • 在网页中播放flv格式的视频可以采用的方式

比较常见视频格式分类及特点

1、MP4(MPEG-4 Part 14)
优点:
(1)多媒体格式容器,能够容纳多类型的音频、视频、字幕、静态图像等,可扩展内部数据;

(2)支持多种压缩、编解码技术,例如MPEG-4标准进行压缩,视频编码格式如H.264和音频AAC等,还有其他类型的技术组合,这里就不展开叙述了;

(3)可以用于在线视频、数字广告、移动视频播放和视频点播等;

(4)可以存储多个音频和视频流,并且这些流可以使用不同的编码格式和参数进行编码;

(5)支持高清视频;

缺点:
(1)编码不稳定,由于 MP4 文件格式支持多种编码格式,因此在使用不同的编解码器和参数编码文件时,有时候会出现编码不稳定的情况,导致视频质量下降或播放卡顿;

(2)依赖于软件支持,虽然 MP4 文件格式是一种通用的文件格式,但是不同的软件支持度不同,这可能会导致某些软件无法打开或播放 MP4 文件;

(3)需要要高性能设备,由于 MP4 文件格式支持高清视频,因此需要较高性能的设备来进行播放和编辑,否则可能会出现卡顿、花屏等问题;

=============================================
MPEG4和MP4不是一个东西,它们之间存在一定的区别。

具体而言,MPEG4是一种数字媒体压缩标准,通过基于对象的编码技术可以将多种媒体信息进行高效压缩。而MP4则是一种包含音频、视频等多种媒体信息的文件格式,通常被用于存储和传输数字媒体数据,它可以使用多种编码标准,其中包括MPEG4这个编码标准,也可以使用其他的编码标准进行压缩编码。可以将MP4理解为支持MPEG4编码标准的一种音视频文件格式,而支持MPEG4编码标准的文件格式还有其他种类,如AVI等。

==============================================

2、AVI(Audio Video Interleave),是一种由微软开发的多媒体容器格式,能够容纳各种不同类型的音频和视频数据,支持多种编解码器,文件能够在主流操作系统上播放,但在不同平台和不同软件上的兼容性比较复杂,可能会导致某些软件无法打开或播放AVI文件,此外文件大小较大,且不支持流式输出(即需要下载才能播放),目前很少有浏览器支持该格式视频。

3、MKV(Matroska Video),是一种开放源代码的多媒体封装格式(经常可以在盗版视频网站上看到【doge】)。它可以将不同格式的音视频、字幕保存在一个MKV文件中,同时支持高级的视频和音 频编码方式,比如H.264编码和AC3音频编码,能提供很好的试听效果。MKV还支持菜单、章节、元数据等交互式功能。有较好的兼容性和可扩展性,可以适用于多种平台和设备,且可以通过不断更新版本来支持新的功能和编解码器。

4、MOV(QuickTime Movie),是一种由苹果公司开发的多媒体容器格式,支持多种编解码器和高清视频 。

5、WMV(Windows Media Video),是一种由微软开发的多媒体容器格式,支持多种编解码器和音频、视频格式,但较老旧。

6、FLV (Flash Video), 是一种 Adobe 公司推出的流媒体格式,主要用于在互联网上传输视频和音频文件。采用 FLV 格式封装的文件后缀为 .flv。

(1)封装简单:FLV 封装格式由一个文件头和一系列 TAG 数据组成,文件体积小,封装简单,易于在互联网上传输和存储。

(2)跨平台兼容:FLV 格式的文件可以在各种操作系统和多种网络环境下进行使用,如 Windows、Linux、Mac OS 等

(3)实时流媒体传输:FLV 格式支持实时流媒体传输,可以用于实现直播、在线会议等场景。

(4)支持多种编解码器:FLV 格式支持多种音视频编解码器,如 H.264 视频编码、AAC 音频编码等,可以提供更好的音视频播放效果。

(5)目前(20230331)因为不支持高清视频以及版本更新缓慢等原因,基本过时。

7、WebM:是谷歌公司推出的开源免费的多媒体容器格式,其核心是基于MKV容器格式,可以包含VP8或VP9编码的视频和Vorbis编码的音频。WebM 可以在多种平台和设备上播放,包括 Linux、Windows、Mac 等多个操作系统,同时也支持手机、平板电脑等移动设备。WebM 支持实时流媒体传输,可以适用于直播、视频会议等场景。Chrome和Firefox浏览器支持WebM格式。

8、Ogg:是一种开源的多媒体容器格式,通常用于高品质的数字多媒体处理和流媒体传输。Ogg格式并不受到软件专利的限制,设计用于有效率地流媒体和处理高品质的数字多媒体,可以纳入各式各样自由和开放源代码的编解码器,包含音效、视频、文字(如字幕)和元数据的处理。目前主要由Firefox浏览器支持。Ogg格式有很多种具体实现,最常见的Ogg Vorbis是用于音频压缩的开放源代码编解码器,提供了较高的音频质量和压缩比。此外,Ogg Theora则是用于视频压缩的开放源代码编解码器,支持较高的图像质量和低延迟的流媒体传输。

比较常见音频格式分类及特点

MP3:是一种非常流行的有损压缩音频格式,拥有广泛的应用和支持。
WAV:是一种无损音频格式,拥有高音质和较大的文件大小,通常用于专业录音和音乐制作。
AAC:是一种先进的有损压缩音频格式,常用于音乐播放器、手机等设备上
FLAC:是一种无损音频格式,文件大小较小,但仍能保持高音质,常用于数字音乐库存储和传输。
WMA:是Windows Media Audio的缩写,是微软公司开发的一种有损压缩格式,通常用于Windows系统上的媒体播放器。
OGG:是一种自由、开源的多媒体容器格式,支持多种编解码器,通常用于互联网上的音视频流传输。
AIFF:是一种无损音频格式,由苹果公司推出,适用于Mac OS平台上的音频处理和编辑。
DSD:是一种高分辨率音频格式,采样率比CD高出数十倍,常用于影音制品和高档音响设备上。
AMR:是一种常用于移动电话的语音压缩格式,可将语音数据压缩到很小的文件大小。
CDA:是一种CD音轨格式,通常只包含了光盘中的音频数据,而不包括任何的兼容性信息和元数据。

音视频文件常用压缩编解码标准

(1)H.264/AVC(Advanced Video Coding):是目前应用最为广泛的视频编解码标准之一,拥有高压缩比和高画质的优势,常用于网络流媒体传输、高清电视和蓝光光盘等领域。

百度百科:
国际上制定视频编解码技术的组织有两个,一个是“国际电联(ITU-T)”,它制定的标准有H.261、H.263、H.263+等,另一个是“国际标准化组织(ISO)”它制定的标准有MPEG-1、MPEG-2、MPEG-4等。
而H.264则是由这两个组织联合组建的联合视频组(JVT)共同制定的新数字视频编码标准,所以它既是ITU-T的H.264,又是ISO/IEC的MPEG-4高级视频编码(Advanced Video Coding,AVC)的第10 部分。因此,不论是MPEG-4 AVC、MPEG-4 Part 10,还是ISO/IEC 14496-10,都是指H.264

(2)H.265/HEVC(High Efficiency Video Coding): HEVC采用更加先进的技术和算法,比H.264能够实现更高的压缩率,视频文件更小,同时保持原有的高画质。目前HEVC被广泛应用于4K超高清视频等领域。

(3)VP9:由Google公司开发的一种视频编解码标准,可以提供比H.264更高的压缩率和更好的图像质量。在某管上,VP9是默认的视频编码格式。

(4)AV1(AOMedia Video 1):AV1是由Alliance for Open Media联盟推出的一种新一代的视频编解码标准。其具有更高的压缩效率和更好的图像质量,目前正在逐渐替代H.264和VP9成为新的主流视频编解码标准。

(5)MPEG-4 Part 10/H.264 MVC:是一种用于三维电影和电视广播等应用的高级视频编解码标准,可提供立体视频成像效果,使观众获得更加逼真的立体感受。

目前网页所能支持使用的视频格式和相关压缩编解码格式

有三个,分别是:mp4(并且是H.264压缩编解码方式),ogg,webp

视频压缩技术和解码编码技术是否相同?

视频压缩技术和解码编码技术不是一个意思。

视频压缩技术是指将原始的视频数据经过一定的算法和处理方式,以减少视频数据的存储和传输成本,并确保在压缩后的视频数据播放时仍然具有较高的图像质量和播放顺畅度。视频压缩技术通常包含两种类型,一种是有损压缩,指在压缩过程中,会将一些不影响整体观看或者听的音视频数据进行合理丢失,以达到比较小的文件大小的目的,常见的有MP3、AAC、WMA、OGG、MPEG等;另外一种是无损压缩,j简单来说就是只压缩每个帧之间的间距以此来达到减小文件大小的目的,常见的有FLAC、ALAC、APE、WAVpack等。

解码编码技术是指将视频信号编码成数字数据后进行压缩和传输,最终在接收端将数字数据解码还原成原始的视频信号的技术。通常来说,数字数据比原始视频信号大得多,因此需要采用压缩算法进行压缩,同时为了使得压缩后的数据能够正确解码还原,也需要对数字数据进行编码和解码操作。

总之,视频压缩技术和解码编码技术都是视频处理技术中的重要部分,但是它们所解决的问题是不同的。

关于流媒体技术

流媒体技术是指一种可以在互联网上传输音频、视频等多媒体数据的技术

它通过将多媒体数据分成很多小的数据包,经由互联网传输到接收方,并在接收方进行边下载边播放的方式,实现了大规模多媒体数据的在线传输和播放。

广泛应用于在线音视频播放、直播、远程教育等领域

流媒体技术可以通过使用流媒体协议与相应的流媒体服务器配合来实现,以保证音视频数据的快速传输和稳定播放。

常见的流媒体协议有如下:

1、RTMP(Real-Time Messaging Protocol):由 Adobe 公司开发的一种基于 TCP 的流媒体协议,用于实现音视频数据从流媒体服务器到 Flash 播放器的传输,支持即时传输和动态流量控制等功能。例如,某些直播平台使用 RTMP 协议将用户提交的视频流推送到服务器上,并在客户端使用特定的 Flash 播放器进行播放。

2、HLS(HTTP Live Streaming):苹果公司开发的一种基于 HTTP 的流媒体协议,用于在 iOS 和 macOS 系统上实现音视频内容的发送和播放,支持多种分辨率和自适应码率等功能。例如,某些在线视频网站使用 HLS 协议将视频文件分割为一系列小文件并发布到服务器上,然后当用户请求视频内容时,服务器通过响应 HTTP 请求向客户端发送相应的文件,并使用分段加载和解码等技术实现视频的流畅播放。

3、DASH(Dynamic Adaptive Streaming over HTTP):一种基于 HTTP 的开放式流媒体协议,由 MPEG 标准化组织制定,用于实现音视频内容的适应性码率和分辨率调整,以提高播放的质量和稳定性。例如,某些视频平台使用 DASH 协议将视频数据按照不同的码率和分辨率进行切割,并将其发布到服务器上,然后通过智能的流媒体服务器根据客户端的网络带宽和设备特性等信息选择最优的视频片段并发送给客户端进行播放。

在网页中播放flv格式的视频可以采用的方式

1、使用Flash插件:通过在页面中嵌入Flash插件,并将FLV文件的路径传递给插件来实现播放。这种方式已经逐渐被淘汰,因为Flash插件存在着安全性和可访问性等问题。

2、使用JavaScript库:比如JWPlayer、Flowplayer等。这些库封装了Flash插件或者 HTML5 的 video 标签,能够自动检测设备类型和浏览器支持情况,并选择最佳的播放方式,在不同的客户端上都能良好地展现视频。

3、使用HTML5+JavaScript:使用HTML5中提供的新标签< video>标签,结合JavaScript编写代码来完成。不过需要注意的是,HTML5的< video>标签并不支持FLV等格式,需要先将FLV格式转换成其他格式,如MP4、WebM等。

其他待补充

真-浅浅了解下音视频文件格式和相关概念相关推荐

  1. 眺望全真互联时代!TVP音视频技术闭门会闪耀上海

    引言 2021年7月17日,"全真互联网中的声与影" TVP音视频技术闭门会完美收官.TVP技术闭门会,是为TVP打造的专属技术闭门研讨会,旨在提供一个开放.平等.知无不言的交流环 ...

  2. 游密科技携手华为云,探讨5G时代下音视频领域的创新变革

    疫情带来移动互联网爆发式增长,音视频领域机遇和挑战并存 今年春节期间的一场疫情,给移动互联网行业带来了爆发式增长. 据QuestMobile 2020中国移动互联网"战疫"专题报告 ...

  3. 通俗的解释下音视频同步里pcr作用

    PCR同步在非硬件精确时钟源的情况还是谨慎使用,gstreamer里面采用PCR同步,但是发现好多ffmpeg转的片儿,或者是CP方的片源,pcr打得很粗糙的,老是有跳帧等现象. 音视频同步,有三种方 ...

  4. iOS下音视频通信-基于WebRTC

    https://www.jianshu.com/p/c49da1d93df4 https://www.jianshu.com/p/b8363efb483b https://blog.csdn.net/ ...

  5. 视频生产环境下的音视频解决方案

    随着云剪辑.云导播.音视频生产在线协作的兴起, 生产环境下的音视频处理越发为人所关注.音视频处理在生产环境下,对控制精准性有着更高的要求.从服务端到客户端,精准的时间控制.画面控制都是生产环境音视频和 ...

  6. 【LiveVideoStack线上分享】— 视频生产环境下的音视频解决方案

    随着云剪辑.云导播.音视频生产在线协作的兴起, 生产环境下的音视频处理越发为人所关注.音视频处理在生产环境下,有着更高的控制精准性的要求.从服务端到客户端,精准的时间控制.画面控制都是生产环境音视频和 ...

  7. 音视频基础概念(6)——视频基础

    网上冲浪时,我们会接触到网络流媒体和本地视频文件.常见的视频文件格式有MP4.MKV.AVI等.在流媒体网站上看见视频常用的协议有HTTP.RTSP.RTMP.HLS等.视频技术较为复杂,包括视频封装 ...

  8. Qt音视频开发01-共享解码线程(耗时一年/性能凶残/至臻完美)

    一.前言 大概在8年前就开始用ffmpeg做视频解码的显示,第一个版本就100行代码左右,功能极其简单,就是开个线程解码视频流转成图片发给主界面绘制.时间过得真快,从当初的一胎到现在二胎都上学了三胎计 ...

  9. 技术分享| 如何快速实现音视频在线通话

    请问咱们支持像微信一样的音视频呼叫功能吗? 请问呼叫邀请怎么实现? 如果客户端离线了,怎么呼叫到客户? 怎么添加呼叫铃声?以及接收铃声? 经常能听到有用户问上述的问题,今天借此机会向大家讲解下音视频呼 ...

最新文章

  1. 用mendeley在word中插入文献_Mendeley在Word添加工具栏和插入和删除文献的方法 | 科研动力...
  2. python 作业4
  3. Android开发之sdcard读写数据(源代码分享)
  4. hihoCoder #1468 : 2-SAT·hihoCoder新春晚会(2-SAT 输出字典序最小的方案)
  5. ZeroMQ接口函数之 :zmq - 0MQ 轻量级消息传输内核
  6. 用URLGather来管理和保存你的页面
  7. 使用nohup以守护进程方式启动程序
  8. 【Pre蓝桥杯嵌入式】移植LCD程序+建立工程+LCD程序分析
  9. Myeclipse学习总结(15)——Eclipse/MyEclipse中Maven项目常见问题解决汇总
  10. 植物大战僵尸全明星服务器维修多长时间,植物大战僵尸全明星常见问题FAQ详解...
  11. 有的时候print函数不会立即打印的解决办法(flush=True)
  12. 单龙芯3A3000-7A1000PMON研究学习-(25)撸起袖子干-再来一杯代码7
  13. 工业物联网创新方案亮相2018云栖大会
  14. AGV运行数据显示系统----工业物流
  15. Java5、8、9章复习
  16. 经度纬度 正则表达式
  17. CSS3自定义滚动条样式 -webkit-scrollbar
  18. 为什么要选择ABBYY FineReader 14?
  19. Jsonp跨域,Ajax浅述
  20. 简单使用触发器(详细) SQL触发器的使用及语法定义:

热门文章

  1. 深蓝词库转换 使用方法
  2. 机器学习实战 AdaBoost预测患有疝气病的马的存活问题
  3. HTTP代理和HTTPS代理的区别
  4. androidui图形化,Kotlin可能带来的一个深坑,终局之战
  5. 027-使用 go 绘制长方体
  6. 阿里云nginx配置https
  7. ClickHouse创建MySql引擎报错(Code: 501)
  8. 2022双十一入门级投影仪哪个好?当贝NEW D3X入门旗舰机 性价比最高
  9. nginx限流方法一:limit_reqlimit_req_zone限制处理速率
  10. 搭建zookeeper服务器集群