IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> (一)、android ffmpeg播放器之音视频编知识框架梳理-02 -> 正文阅读

[移动开发](一)、android ffmpeg播放器之音视频编知识框架梳理-02

(一)、android ffmpeg播放器之音视频编知识框架梳理-02

音视频发展至今,早已经形成一定的规范,下面是整个视音频编解码的流程框架:

在这里插入图片描述

目前现阶段只阐述音视频播放阶段,如上图所示,可以大体分为三个阶段,分别是:

  • 解封装
  • 音视频解码
  • 音视频播放

1、音视频解封装

在一些场合下也会成为解复用,视频文件为什么需要封装,因为组成一个视频的元素各种各样,比如视频,音频,字幕等,如下图:
在这里插入图片描述

所以必须按照一定封装格式,将各种各样的元素,按照一定规则,封装成一个视频文件,因此从而产生一个流的概念,视频流,音频流,字幕流等等,解封装的目的就是将这些流单独的解析出来,专门对应流做处理,视频流则解码后播放,音频流也一样。

封装格式各种各样,目前需要重点把握的有下面三种:

  • MP4
  • FLV
  • MKV

当然重点是MP4和FLV,也就是我们平常常见的mp4并不是视频格式,而是一种单纯的文件封装格式。

a、MP4

MP4是一套用于音频,视频信息的压缩编码标准,由国际标准化组织(ISO)和国际电工委员会(IEC)下属的”动态图像专家组”(Moving Picture Experts Group,即MPEG)制定,第一版在1998年10月通过,MPEG-4格式的主要用途在于网上流,光盘,语音发送(视频电话),以及电视广播。

mp4格式,常用有损压缩格式-评估强力推起来的全新视频标准【H.265也目前苹果强势推广的】目前网络的主流视频已经拜托了FLV的各种限制,这种更好的压缩比,更好质量的视频格式受到了各大网络平台的支持,当然各个播放器及视频编辑软件也支持的非常好

b、FLV

FLV(Flash Video),Adobe Flash 网络流媒体格式。但是被苹果以不安全为由基本上打压的不见踪影,这方面是很支持苹果的,大家是不是常常莫名其妙弹出各种网页也广告?

flv 格式 机会被淘汰了,其实最早的时候网站的视频基本上是基于flv的,但历史最是会发展变化的。可以说flv已经完成了他的使命可。

但是,在视频直播领域,例如rtmp协议很多都是参考flv格式进行传输的,所以如果想要掌握rtmp协议传输,那么flv就至关重要了。

2、音视频解码

在这里,提出一个疑惑,为什么音视频要编码?这里举视频为例进行阐述,目前屏幕显示是通过三颜色,也就是RGB组合显示,如果加上一个透明度,那么就是RGBA,一共四个通道,一个通道用一个字节表示,那么点亮屏幕上的一个点就是要4个字节,按照宽:1920 高:1080来表示一张图片。

人眼能识别视频帧率是25/s以上,也就是如果一秒钟显示低于25帧,人眼就能明显感觉到视频“卡顿”,因此假如保存十秒的视频需要多少空间:
1920 * 1080 * 4 * 25 * 10 / 1024 /1024 = 1977M,仅仅只有10秒钟,视频存储就高达1977M,这是我们无法接受的空间,太大了,而且如果放在网上传输,那就更不可能接受,占用宽带太大。

因此就提出要对视频进行编码处理。

目前市面上主流显示颜色模型有两种方案,一种是RGB,一种是yuv,RGB前面介绍过,yuv又是什么呢?

  • Y维度:表示明亮度(Luminance或Luma),也就是灰度值。

  • U和V维度:表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。

    RGB和YUV可以根据公式转换:
    在这里插入图片描述

    不过这里需要注意在YUV转为RGB的时候,如果使用8bit表示一个通道,那么范围在0-255,如果超出对应的范围,只能取舍到0或者255,比如负数的时候取0,超过255取255,否则因为进位问题导致值的改变,最终影响到显示。

a、视频编码格式

视频发展至今,编码格式主要集中在几中主流格式下,主流格式如下:

  • RV
  • VC-1
  • MPEG2
  • H263
  • H264
  • H265
  • VP8
  • VP9

关于上面每个视频格式并不展开描述,目前有个知识框架点即可。

b、音频编码格式

主流格式如下:

  • MP3
  • RA
  • AMR
  • AAC
  • Vorbis
  • AC3
  • APE

关于上面每个音视频格式并不展开描述,目前有个知识框架点即可。
好了知识基础框架描述先到此为止,接下来使用ffmpeg对上面框架做补充。
上面的知识重点主要是清楚什么是编码格式,什么是封装格式,他们的区别点在哪里。

休息一下、不迷路~~

上面使用到的资料,可以关注我下面的公众号 『音视频开发修炼之路』 ,回复资料,便可以根据标题进行下载,感谢你的关注,如果有什么疑惑的可以在公众号上留言。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-05-21 19:06:35  更:2022-05-21 19:08:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/19 2:23:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码