现在的高清手机拍个照都有2M以上,按照人眼帧率24帧/秒的速度传输,网络数度需要达到2 * 24M/秒,一般日常中的网络显然不可能有这样的网速。这时就需要对音视频进行编码压缩了。

常用的编码类型有:

  • 视频编码:H.264、H.265、VP8、VP9
  • 音频编码:aac、Opus、mp3

生活中常说的mp4、avi、flv等指的是封装格式,就是个容器,把音视频、字幕、媒体信息等装进容器里,编码在这里充当的是压缩音视频的角色,这样才能减少体积。

名词介绍

YUV

视频裸数据的一种格式,大部分设备的视频帧数据都是YUV,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。跟我们熟悉的RGB类似,YUV也是一种颜色编码方法。

  • 主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不过是黑白的,这样的设计很好地解决了彩色电视机与黑白电视的兼容问题。并且,YUV不像RGB那样要求三个独立的视频信号同时传输,所以用YUV方式传送占用极少的频宽。

  • NV12和NV21属于YUV420格式,是一种two-plane模式,苹果iOS的视频是NV12格式,Android的视频是NV21格式

H

iOS 直播专题4-音视频编码相关推荐

  1. iOS直播技术分享-音视频采集(一)

    1.iOS直播技术的流程 直播技术的流程大致可以分为几个步骤:数据采集.图像处理(实时滤镜).视频编码.封包.上传.云端(转码.录制.分发).直播播放器. 数据采集:通过摄像头和麦克风获得实时的音视频 ...

  2. FFmpeg音视频编码实战屏幕录像机视频课程-基于QT5和FFMpegSDK-夏曹俊-专题视频课程...

    FFmpeg音视频编码实战屏幕录像机视频课程-基于QT5和FFMpegSDK-3798人已学习 课程介绍         本课程讲解的是基于流行的直播技术 FFMpeg3.3音视频处理框架,和应用广的 ...

  3. iOS 直播专题3-前置处理

    前置处理 对视频添加美颜.水印.滤镜等 对音频进行混音.消除环境音.声音特效等 上一篇iOS 直播专题2-音视频采集提到视频采集采用的是GPUImage框架,这个框架集成了很多滤镜效果 这里主要介绍美 ...

  4. “小程序+直播”怎样搅动音视频技术生态?

    ​ 责编 / 王宇豪 策划 / LiveVideoStack 12月26日晚间,微信小程序开放了直播能力,并首先向社交.教育.医疗.政务民生.金融等五大应用场景开放.与原生App应用和基于浏览器的H5 ...

  5. 直播软件搭建音视频开发中的视频采集

    直播软件搭建音视频开发中的视频采集 前言 在直播和短视频行业日益火热的发展形势下,音视频开发(采集.编解码.传输.播放.美颜)等技术也随之成为开发者们关注的重点,本系列文章就音视频开发过程中所运用到的 ...

  6. 视频教程-FFmpeg音视频编码实战屏幕录像机视频课程-基于QT5和FFMpegSDK-C/C++

    FFmpeg音视频编码实战屏幕录像机视频课程-基于QT5和FFMpegSDK 夏曹俊:南京捷帝科技有限公司创始人,南京大学计算机硕士毕业,有15年c++跨平台项目研发的经验,领导开发过大量的c++虚拟 ...

  7. 走进音视频的世界——音视频编码

    音视频流是通过特定编码器压缩,由一系列的压缩图像/语音帧组成.当然可能存在多种语言多音轨,每个音轨之间的音频流相互独立.还可能存在内置字幕,常见的字幕格式有sub.smi.ssa.srt等.但是,本篇 ...

  8. iOS WebRTC多人音视频建立的流程

    前言 本文主要以"代码是最好的注释"为基点,介绍在处理iOS端多人音视频的建立流程. 在看本篇前建议先了解一下多人音视频通讯现在的常用架构,参考<WebRTC多人音视频聊天架 ...

  9. 弱网测试环境搭建:针对视频直播等实时音视频应用

    弱网测试环境搭建:针对视频直播等实时音视频应用 什么是弱网环境? 对于弱网的定义,不同的应用对弱网的定义是有一定的差别的,不仅要考虑各类型网络最低速率,还要结合业务场景和应用类型去划分.按照移动的特性 ...

  10. 【iOS】AVPlayer 播放音视频

    1.常见的音视频播放器 iOS开发中不可避免地会遇到音视频播放方面的需求. 常用的音频播放器有 AVAudioPlayer.AVPlayer 等.不同的是,AVAudioPlayer 只支持本地音频的 ...

最新文章

  1. python编程基础人民邮电出版社_Python编程基础与应用
  2. ubuntu更换软件源方法和实验成功软件源地址
  3. java基础不好框架能学会吗_转行Java能学会吗?零基础学习Java的学习路线
  4. 面试官:为什么 wait() 方法需要写在循环里?
  5. 联发科MT8377 MT8389 MT6589 MT6577等芯片详细解析
  6. jQuery.ajax()异步方法的漏洞
  7. 2013.11.20 流水
  8. Q126:PBRT-V3,VolPathIntegrator(体渲染)流程概述
  9. 笔记︱虚拟变量回归=差异显著(方差分析)+差异量化(系数值)
  10. win10商店下载位置_Windows10应用商店程序下载目录在哪 怎样查看win10系统应用商店程序下载目录...
  11. 人肉搜索、人肉语言及人肉程序设计
  12. 一个简单的网页制作作业,宠物html静态网页制作成品代码(学生网页设计作业源码)
  13. 从百草园到三味书屋感想
  14. android dialog设置背景图片,如何为Dialog设置背景图片?
  15. Postgresql杂谈 16—Postgresql中的锁机制
  16. 【小5聊】winform窗体之最小化事件捕捉以及最小化到任务栏功能
  17. 详解注意力机制和Transformer
  18. java多线程:9、synchronized、Lock的底层实现原理以及和volatile、Lock、ReentrantLock的区别?
  19. 半导体车间测量尘埃粒子浓度等级仪器解决方案
  20. 谷歌浏览器怎么同步收藏夹,书签云帮助你

热门文章

  1. c语言 单词变复数_C语言,字符串,单数变复数
  2. TypeScript从入门到项目实战(进阶篇)
  3. python中的消息弹窗
  4. Fedora12下搭建Qt Creator的ARM开发环境 并 移植Qt4.6.2到Micro2440
  5. CryEngine CGF模型文件格式解析
  6. 通过基于Python的Pymusic-dl下载需要的音乐
  7. 【亲测有用,详解】 Windows系统 Vim 安装 Vundle之后,出现 E492:PluginInstall 不是编辑器命令的解决方法,
  8. 试验1:观察Windows的内核模块、数据结构和函数
  9. python怎么做表格_怎么用python画表格?
  10. 洛谷P3980 志愿者招募——费用流