5分钟带你了解音视频开发
前言想赚钱第一点就得选对自己的方向有的行业和领域无论你如何努力天花板也不过如此。选对时代的风口就算是头猪都能被吹上天今天我们就来聊聊音视频开发。蓬勃发展的音视频开发时至今日短视频App可谓是如日中天一片兴兴向荣。随着短视频的兴起音视频开发也越来越受到重视但是由于音视频开发涉及知识面比较广入门门槛相对较高让许许多多开发者望而生畏。接下来我介绍一下音视频开发的基础部分帮助大家学习。一. 颜色模式RGBRGB颜色模型的主要目的是在电子系统中检测表示和显示图像比如电视和计算机但是在传统摄影中也有应用。RGB基础的部分不过多描述更多内容点击标题见维基百科。YUVY’UV的发明是由于彩色电视与黑白电视的过渡时期。黑白视频只有YLumaLuminance视频也就是灰阶值。到了彩色电视规格的制定是以YUV/YIQ的格式来处理彩色电视图像把UV视作表示彩度的CChrominance或Chroma如果忽略C信号那么剩下的YLuma信号就跟之前的黑白电视频号相同这样一来便解决彩色电视机与黑白电视机的兼容问题。Y’UV最大的优点在于只需占用极少的带宽因为人眼对亮度敏感对色度不敏感因此减少部分UV的数据量但人眼感知不到。YUV也称为YCbCr对于每个分量如下YLuminance, 亮度也就是灰度值。除了表示亮度信号外还含有较多的绿色通道量。UCb蓝色通道与亮度的差值。VCr红色通道与亮度的差值。如下图可以看到3个分量的效果差值。YUV示例图RGB与YUV转换公式 (RGB取值范围均为0~255)Y0.299R0.587G0.114B ⁄ RY1.14VU0.147R0.289G0.436B ⁄ GY0.39U0.58VV0.615R0.515G0.100B ⁄ BY2.03UHSV色调H: 用角度度量取值范围为0°360°从红色开始按逆时针方向计算红色为0°绿色为120°,蓝色为240°。它们的补色是黄色为60°青色为180°,品红为300°饱和度S: 饱和度S表示颜色接近光谱色的程度。一种颜色可以看成是某种光谱色与白色混合的结果。其中光谱色所占的比例愈大颜色接近光谱色的程度就愈高颜色的饱和度也就愈高。饱和度高颜色则深而艳。光谱色的白光成分为0饱和度达到最高。通常取值范围为0%100%值越大颜色越饱和。明度V: 明度表示颜色明亮的程度对于光源色明度值与发光体的光亮度有关对于物体色此值和物体的透射比或反射比有关。通常取值范围为0%黑到100%白。hsv_1.pnghsv_2.pngRGB和CMY颜色模型都是面向硬件的而HSVHue Saturation Value颜色模型是面向用户的。HSV模型的三维表示从RGB立方体演化而来。设想从RGB沿立方体对角线的白色顶点向黑色顶点观察就可以看到立方体的六边形外形。六边形边界表示色彩水平轴表示纯度明度沿垂直轴测量。HSV在做颜色检测方面比较常用可以参考文章HSV颜色检测。二. 视频基础概念帧(Frame)简单的理解帧就是为视频或者动画中的每一张画面而视频和动画特效就是由无数张画面组合而成每一张画面都是一帧。帧数(Frames)帧数其实就是为帧生成数量的简称可以解释为静止画面的数量帧率(Frame Rate)帧率(Frame rate) 帧数(Frames)/时间(Time)单位为帧每秒(f/s, frames per second, fps)。刷新率屏幕每秒画面被刷新的次数分为垂直刷新率和水平刷新率一般我们提到的都是指垂直刷新率以赫兹(Hz)为单位刷新率越高图像就越稳定图像显示就越自然清晰。目前 大多数显示器根据其设定按 30Hz、 60Hz、 120Hz 或者 144Hz 的频率进行刷新。 而其中最常见的刷新频率是 60 Hz。 这样做是为了继承以前电视机刷新频率为 60Hz 的设定。帧率关键值10~12 FPS由于人类眼睛的特殊生理结构如果所看画面之帧率高于每秒约10至12帧的时候就会认为是连贯的此现象称之为视觉暂留。24 FPS一般电影的拍摄及播放帧数是每秒24帧。60 FPS这个帧率对人眼识别来说已经具备较高的平滑度。85 FPS人类大脑处理视频的极限人眼无法分辨更高频率的差异。60FPS在做页面性能优化时常用60FPS作为一个基准所以需要尽量让每一帧的渲染控制在16ms内这样才能达到一秒60帧的流畅度。分辨率视频、图片的画面大小或尺寸。码率/比特率单位时间播放连续的媒体如压缩后的音频或视频的比特数量。常用单位“比特每秒”缩写是“bit/s”。比特率越高带宽消耗得越多。三. CPU GPUCPU中央处理器(英文全名Central Processing Unit)包括运算器算术逻辑运算单元ALUArithmetic Logic Unit和高速缓冲存储器Cache及实现它们之间联系的数据Data、控制及状态的总线Bus。GPU图形处理器英语全名Graphics Processing Unit专为执行复杂的数学和几何计算而设计的拥有2D或3D图形加速功能。GPU相比于CPU更强大的2D、3D图形计算能力可以让CPU从图形处理的任务中解放出来执行其他更多的系统任务这样可以大大提高计算机的整体性能。硬件加速硬件加速Hardware acceleration就是利用硬件模块来替代软件算法以充分利用硬件所固有的快速特性。硬件加速通常比软件算法的效率要高。将2D、3D图形计算相关工作交给GPU处理从而释放CPU的压力也是属于硬件加速的一种。硬解和软解硬解和上面的硬件加速对应即使用硬件模块来解析视频、音频文件等而软解即是用CPU去计算解析。四. 视频封装格式(Container format)格式全名开发商初版年限特点MP4MP4Moving Picture Experts Group即 MPEG(动态图像专家组)1998常用有损压缩格式通用性强AVIAudio Video Interleaved(音频视频交错格式)微软1992体积大算法简单MOVQuickTime 影片格式Apple1991苹果专属格式对很多其他的播放器支持不是很友好WMVWindows Media Video微软2003微软的专业视频格式兼容性并不是很好FLVAdobe Flash 网络流媒体格式Adobe2002被淘汰的早期网络视频格式MKVMatroska 多媒体容器Matroska.org2002最有包容性的视频格式能容纳无限量、多种不同类型编码的视频、音频及字幕流WebMWebMGoogle2010谷歌推出的 HTML5 标准的网络视频标准,以MKV容器格式为基础开发RMVBRMVBReal Networks1997根据不同的网络传输速率而制定出不同的压缩比率从而实现在低速率的网络上进行影像数据实时传送和播放具有体积小画质不错的优点。已过时。更多参考 维基百科视频文件格式。五. 视频编码格式(Codec)1.MPEG(Moving Picture Experts Group, ISO旗下的组织)MPEG是Moving Picture Experts Group的简称。这个名字本来的含义是指一个研究视频和音频编码标准的“动态图像专家组”组织成立于1988年致力开发视频、音频的压缩编码技术。版本用途MPEG - 1VCDMPEG - 2DVD、数字有线电视信号MPEG - 4(第二部分)视频电话、网络传输、广播和媒体存储2.H.26X : ITU-T VCEG(Visual Coding Experts Group国际电联旗下的标准化组织)制定版本用于H.261老的视频会议和视频电话产品H.262DVD、数字有线电视信号(与MPEG共同制定与MPEG-2完全一致)H.263视频会议、视频电话和网络视频H.264高精度视频的录制、压缩和发布格式(与MPEG-4第十部分完全一致)当前主流H.265H.264的两倍之压缩率可支持4K分辨率甚至到超高画质电视最高分辨率可达到8192×43208K分辨率3. H.264当前主流的编码格式是H.264这是由ITU-T VCEG和MPEG共同制定的标准MPEG - 4第十部分内容也是H.264。视频封装格式 视频编码格式封装格式是提供了一个容器用于存放视频、音频以及其他配置信息而编码格式是指对视频画面内容进行压缩的一种标准。六. 音频格式WAV因其文件扩展名为wav微软和IBM联合开发的标准数据本身的格式为PCM或压缩型属于无损格式。MP3: MP3是一种音频压缩技术其全称是动态影像专家压缩标准音频层面3Moving Picture Experts Group Audio Layer III简称为MP3。压缩比4:1~10:1之间。AACAdvanced Audio Coding 出现于1997年由Fraunhofer IIS、杜比实验室、ATT、Sony、Nokia等公司共同开发。AAC压缩比通常为181。相比MP3采用更高效的编码算法音质更佳文件更小。OpusOpus格式是一个开放格式使用上没有任何专利或限制比MP3、AAC、HE-AAC等常见格式有更低的延迟和更好的声音压缩率。2012年7月2日Opus被IETF批准用于标准化。七. H.264编码介绍IPB帧I帧帧内编码帧(intra picture)采用帧内压缩去掉空间冗余信息。P帧前向预测编码帧(predictive-frame)通过将图像序列中前面已经编码帧的时间冗余信息来压缩传输数据量的编码图像。参考前面的I帧或者P帧。B帧双向预测内插编码帧(bi-directional interpolated prediction frame)既考虑源图像序列前面的已编码帧又顾及源图像序列后面的已编码帧之间的冗余信息来压缩传输数据量的编码图像也称为双向编码帧。参考前面一个的I帧或者P帧及其后面的一个P帧。PTS和DTSDTS(Decoding Time Stamp)是标识读入内存中bit流在什么时候开始送入解码器中进行解码。也就是解码顺序的时间戳。PTS(Presentation Time Stamp)用于度量解码后的视频帧什么时候被显示出来。在没有B帧的情况下DTS和PTS的输出顺序是一样的一旦存在B帧PTS和DTS则会不同。也就是显示顺序的时间戳。GOP即Group of picture(图像组)指两个I帧之间的距离Reference(参考周期)指两个P帧之间的距离。一个I帧所占用的字节数大于一个P帧一个P帧所占用的字节数大于一个B帧。所以在码率不变的前提下GOP值越大P、B帧的数量会越多平均每个I、P、B帧所占用的字节数就越多也就更容易获取较好的图像质量Reference越大B帧的数量越多同理也更容易获得较好的图像质量。简而言之字节大小I P B解码顺序I - P - BGOP解码案例更多Android开发详细资料扫码免费获得写在最后在技术领域内没有任何一门课程可以让你学完后一劳永逸再好的课程也只能是“师傅领进门修行靠个人”。“学无止境”这句话在任何技术领域都不只是良好的习惯更是程序员和工程师们不被时代淘汰、获得更好机会和发展的必要前提。如果你觉得自己学习效率低缺乏正确的指导可以扫码领取更多详细音视频资料并加入我们资源丰富学习氛围浓厚的技术圈一起学习交流吧加入我们吧群内有许多来自一线的技术大牛也有在小厂或外包公司奋斗的码农我们致力打造一个平等高质量的Android交流圈子不一定能短期就让每个人的技术突飞猛进但从长远来说眼光格局长远发展的方向才是最重要的。35岁中年危机大多是因为被短期的利益牵着走过早压榨掉了价值如果能一开始就树立一个正确的长远的职业规划。35岁后的你只会比周围的人更值钱。

相关新闻

【单片机课程设计/毕业设计】基于 STM32 的手动 / 自动双模式水质监测设备设计 基于 STM32 的水环境实时数据显示与预警系统设计(011005)

【单片机课程设计/毕业设计】基于 STM32 的手动 / 自动双模式水质监测设备设计 基于 STM32 的水环境实时数据显示与预警系统设计(011005)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/27 12:41:05 阅读更多 →
Linux内核模块展示MediaTek AIoT SoC能力实操指南

Linux内核模块展示MediaTek AIoT SoC能力实操指南

手里的这块板子一到手,我就知道接下来的几周都要泡在串口和交叉编译环境里了。这几年做嵌入式Linux,接触过不少海外芯片平台的BSP,但专门为了给新一代AIoT SoC做Linux驱动模块展示,还是头一回。MediaTek这一波AIoT SoC主打的不是单…

2026/8/27 12:40:05 阅读更多 →
程序员求职就像过情人节:疯狂捡垃圾,没人关心爱情

程序员求职就像过情人节:疯狂捡垃圾,没人关心爱情

今年情人节,不流行emo了,流行去翻垃圾桶。 一早冲上热搜的不是甜蜜官宣、不是浪漫瞬间,而是垃圾桶边卖力翻找的身影。 前一秒还在办公室的同事,下一秒已经蹬上三轮车,去往市中心最繁华的垃圾桶,蹲一蹲被扔掉…

2026/8/27 12:40:05 阅读更多 →

最新新闻

企业级避坑:Codex CLI 批量部署中的7个经典问题与解决方案

企业级避坑:Codex CLI 批量部署中的7个经典问题与解决方案

最近牵头完成了集团研发中心两百多台终端的 Codex CLI 批量落地,从小范围试点推广到全研发线覆盖,最深的感受是:个人装 Codex 是纯技术问题,企业批量部署是管理合规技术的三重命题。 很多企业直接把个人安装教程放大到批量场景&am…

2026/8/27 13:28:53 阅读更多 →
Python比价爬虫实战:从requests到SQLite完成历史价格采集

Python比价爬虫实战:从requests到SQLite完成历史价格采集

简介:在电商场景中,比价与历史价格追踪是高频需求,而手动查看价格耗时费力。通过Python爬虫技术,可以高效获取商品价格与平台来源数据。本文从爬虫基础概念出发,介绍如何利用requests构建请求、BeautifulSoup解析HTML&…

2026/8/27 13:28:53 阅读更多 →
猫抓 M3U8 视频下载完整指南:5 分钟装好网页资源嗅探

猫抓 M3U8 视频下载完整指南:5 分钟装好网页资源嗅探

猫抓 M3U8 视频下载完整指南:5 分钟装好网页资源嗅探 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 技术直播结束当晚,我想…

2026/8/27 13:28:53 阅读更多 →
OBS同步直播不再翻车:obs-multi-rtmp让一路流推到三个平台

OBS同步直播不再翻车:obs-multi-rtmp让一路流推到三个平台

OBS同步直播不再翻车:obs-multi-rtmp让一路流推到三个平台 【免费下载链接】obs-multi-rtmp OBS複数サイト同時配信プラグイン 项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp 你正要给三个平台各开一个 OBS 的话,先停一下——CPU …

2026/8/27 13:28:53 阅读更多 →
解密Prompt系列30. LLM Agent之互联网冲浪智能体

解密Prompt系列30. LLM Agent之互联网冲浪智能体

前言 这一章我们介绍能自主浏览操作网页的WebAgent们和相关的评估数据集,包含初级任务MiniWoB,高级任务MIND2WEB,可交互任务WEBARENA,多模态WebVoyager,多轮对话WebLINX,和复杂任务AutoWebGLM。 MiniWoB数…

2026/8/27 13:28:53 阅读更多 →
基于RWKV的中文网文生成实战:从模型原理到LoRA微调

基于RWKV的中文网文生成实战:从模型原理到LoRA微调

简介:在自然语言处理与AI写作工具快速演进的今天,生成式模型的长文本建模能力成为核心议题。传统Transformer架构的自注意力机制虽在语义理解上表现出色,却受限于平方级计算复杂度,难以支撑小说、网文等超长文本的高效生成。RWKV作…

2026/8/27 13:27:52 阅读更多 →

日新闻

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

1. 项目概述:从零构建一个企业级的AI服务网关 最近在帮一个做内容审核的团队做技术架构升级,他们原来的业务里,每天有几十万张图片和短视频需要过审,最初是接了几个开源的AI模型自己部署,但效果和性能一直不太稳定。后…

2026/8/27 0:00:51 阅读更多 →
网盘直链下载助手5分钟解析八大网盘真实地址

网盘直链下载助手5分钟解析八大网盘真实地址

网盘直链下载助手5分钟解析八大网盘真实地址 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / 迅雷云盘 / 夸…

2026/8/27 1:06:27 阅读更多 →
从零点亮 ESP32:Arduino ESP32 开发环境搭建与首次烧录完整指南

从零点亮 ESP32:Arduino ESP32 开发环境搭建与首次烧录完整指南

从零点亮 ESP32:Arduino ESP32 开发环境搭建与首次烧录完整指南 【免费下载链接】arduino-esp32 Arduino core for the ESP32 family of SoCs 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 Arduino ESP32 是乐鑫官方的 ESP32 系列 Ardui…

2026/8/27 1:06:27 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/26 14:45:33 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/26 17:46:43 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/26 14:46:37 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/26 3:50:20 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/26 17:46:39 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/26 1:24:05 阅读更多 →