- 课程目录
- 课程介绍
-
在线阅读:开篇词|为什么说视频开发是程序员的一片蓝海?
从今天开始,我要用 15 节课的时间,和你分享视频开发中的那些核心技术。
-
01|基本概念:从参数的角度看视频图像
这节课我们从视频和图像的基础知识讲起,具体包括像素、分辨率、位深等概念。
-
02|YUV & RGB:原来图像是这么丰富多彩的
这节课主要介绍常用的两种颜色空间RGB和YUV,以及它们之间的转换。
-
03|缩放算法:如何高质量地缩放图像?
这节课我们主要介绍图像缩放的基本原理,并通过三种插值算法来进行图像的缩放。
-
04|编码原理:视频究竟是怎么编码压缩的?
这节课我们深入讲讲视频编码,带你从预测编码、变换编码、熵编码等方面,系统了解下视频编码的原理。
-
05|码流结构:原来你是这样的H264
这节课我们以H264编码为基础,分析一下它的码流结构,并看看它在工程中是如何应用的。
-
06|帧内预测:如何减少空间冗余?
我们将介绍帧内预测是怎么减少空间冗余的,而且以H264标准来讲解每种帧内预测模式是怎么做预测的。
-
07|帧间预测:如何减少时间冗余?
我们接着之前的课程继续讲讲如何减少时间冗余。
-
08|变换量化:如何减少视觉冗余?
我们先来讨论一下常规的视频编码中的DCT变换和量化,看看它是怎么去除一部分高频信息来达到去除视觉冗余的。我们还会对H264中的DCT变换和量化做一下介绍,最后对比一下H264中的变换和量化与常规的变换和量化的区别。
-
09|RTP & RTCP:如何正确地将视频装进RTP中?
我们会分别从RTP协议、RTCP协议和H264的RTP打包方法这三个方面来展开这节课。
-
10|带宽预测:3大算法准确预估网络带宽
带宽预测几乎是整个音视频传输和弱网对抗中最重要的环节,也是最难的一个环节。
-
11|码控算法:如何控制视频的编码码率?
深入了解码控算法原理和基本类型。
-
12|Jitter Buffer:拿什么拯救你,花屏卡顿问题
10类花屏卡顿问题解决方案
-
13|SVC:如何实现视频编码可伸缩?
重点学习视频会议中经常使用的视频编码传输技术。
-
14|MP4 & FLV:不要再说AVI了
这两种封装格式是我们工作和生活中经常用到的。
-
加餐|基于纯浏览器的视频会议方案探究
聊一聊各大视频会议厂商在基于纯浏览器视频会议上的一些尝试和遇到的问题。
-
15|音画同步:如何让声音和画面手拉手前进?
播放的声音和画面能够对齐同步,是音画同步的主要任务。
-
结束语|信心比黄金更重要
恭喜你已经掌握了视频技术的基础知识。
-
期末测试|来赴一场满分之约吧!
为了帮助你检验自己的学习效果,我特别给你准备了一套结课测试题,快来挑战一下吧。
课程介绍
你将获得 系统高效的视频学习路径 图文并茂的编码原理解读 场景化的视频传输和网络对抗策略 花屏卡顿等 4 类常见问题的解决方案 讲师介绍 对 H264、H265、VP8、AV1 等编码算法进行研究; 对码控算法进行优化;...你将获得
- 系统高效的视频学习路径
- 图文并茂的编码原理解读
- 场景化的视频传输和网络对抗策略
- 花屏卡顿等 4 类常见问题的解决方案
讲师介绍
- 对 H264、H265、VP8、AV1 等编码算法进行研究;
- 对码控算法进行优化;
- 对视频网络传输、带宽预测、抗丢包等网络对抗技术进行研究;
- 结合网络算法对视频编码和码率控制算法进行优化。
课程介绍
最简单粗暴的方式是,你可以直接通过各种招聘平台去了解相关的就业形势。拿 Android 开发来说,现阶段做音视频开发的薪资水平至少比同资历的 Android 开发高出 30% 左右。而在未来,随着 AI、元宇宙等技术的发展,视频技术还有无限的想象空间。
但提起视频技术,学习门槛还是有的。就比如:
- 抖音和快手的短视频需要应用图像处理和视频编码技术,如何在保持高画质的情况下,尽量减少视频文件的大小,是很难也很重要的;
- 连麦直播则需要懂 RTC 和直播技术,如何能够保证在各种网络状况下实现超低延时、降低卡顿率是一个非常难的问题;
- 视频会议则需要你十分熟悉 RTC 和转码合流服务等技术,几十上百人的大型视频会议,如何保证流畅度、卡顿率、画质等指标也是十分具有挑战性的。
另外,视频技术涉及的技术也很多。比如视频前处理,就涉及到很多信号处理和 AI 技术;视频的编码算法,则会涉及到信息论和数学;而视频的传输就更多了,包含了各种网络协议和拥塞控制算法……所以,目前市面上系统讲解视频的书籍和课程并不多。
基于此,我们邀请到了声网 Agora 视频专家李江老师联合开发课程,将他在视频领域多年的积累和实践,按照学习重难点梳理、问题复盘的方式交付给你,重点就包括视频底层原理解析和工程中遇到的实际问题。学习之后,你将对视频处理全链路有一个系统的了解!
课程设计
整个专栏共分为以下四个部分:
图像基础和前处理:从视频和图像的基本概念讲起,陆续延伸到视频的颜色空间,尤其是 YUV 颜色空间,这是视频技术中非常重要的基础知识,同时也是很多视频工程师的学习难点。之后会讨论工程上常用的图像缩放算法及其原理。打好基础,后面事半功倍。
视频编码:主要讲解在视频技术中占据重要地位的视频编码技术,重点学习编码算法的底层原理和具体算法的实现,让你在使用编解码器的同时,也能更深一层洞察其工作原理。另外,H264 码流是视频开发中的必学,所以这里也会和你讨论它的结构以及相关工程问题。深入原理,才能快速实践。
视频传输和网络对抗:以实践为主,讲解具体的视频传输和弱网对抗技术,主要包括如何打包视频、预测网络带宽,以及如何在有限的带宽情况下控制好编码器的码率和发送包的速度。之后,作者会手把手带你解决两个代表性的视频 Bug “花屏和卡顿”,并介绍一下视频会议中的常用技术 SVC。
视频封装和播放:介绍常用的视频封装技术,并解决视频工程难题:音视频同步。
课程目录


