0基础学习音视频路线,以及重磅音视频资料下载
原文地址(不定期更新):https://github.com/xhunmon/VABlog
一、前言
正所谓源于开源,回馈开源!以下是学习音视频路线推荐。丰富的音视频资料往最后翻。
二、学习技能
技能 | 重要度 | 作用 | 学习建议 |
---|---|---|---|
c/c++ | ★★★★☆ | 音视频开源库基本都是用c/c++写的,如:FFmpeg库用C语言写的,Webrtc底层是用c++写的。 | 1. 看动脑或网易c/c++视频;2. 看书:c++ primer 第5版;3. 看FFmpeg源码;4. 最重要自己动手敲。 |
cmake | ★★★☆☆ | 跨平台引导编译的重要语言。在CMakeList.txt文件体现。 | 1. 看动脑CMake中视频;2. CMake 入门实战 |
shell | ★★☆☆☆ | 很多开源库都是通过shell脚本进行编译的。如ffmpeg和x264中configure。 | Shell脚本 |
Android NDK | ★★☆☆☆ | 在android平台上使用,需要掌握NDK的一些知识。如:交叉编译,JNI的接入。 | 看动脑NDK中JNI和交叉编译视频; |
IOS | ★★☆☆☆ | (略) | (略) |
三、学习音视频理论知识
- 书:音视频开发进阶指南:基于Android与iOS平台的实践(京东) :第1章 音视频基础概念;电子书往最后翻。
- 书:Android 音视频开发_何俊林(京东) :第1章 音视频基础知识;电子书往最后翻。
- 也可以在这里1 或者这里2 搜索。
四、学习音视频基本原理
1)视音频数据处理入门
[总结]视音频编解码技术零基础学习方法 系列文章,介绍了视音频编解码技术大体上原理和流程,通俗易懂。包括以下文章:
- 视音频数据处理入门:RGB、YUV像素数据处理 :视频就是由它们组成的。
- 视音频数据处理入门:PCM音频采样数据处理 :音频就是由它们组成的。
- 视音频数据处理入门:H.264视频码流解析 :视频编码技术的一种(现代音视频开发必须掌握)。
- 视音频数据处理入门:AAC音频码流解析 :音频编码技术的一种(现代音视频开发必须掌握)。
- 视音频数据处理入门:FLV封装格式解析 :音视频封装格式的一种。具体一点看:手撕FLV协议 。
- 视音频数据处理入门:UDP-RTP协议解析 :音视频协议的一种。
2)完整RTMP推送小项目
这个项目简单介绍音视频相关知识,以及实现的原理,总共分五章:
- 第一章:直播推流全过程:视频数据源之YUV(1)
- 第二章:直播推流全过程:音频数据源之PCM(2)
- 第三章:直播推流全过程:视频编码之H.264(3)
- 第四章:直播推流全过程:音频编码之AAC(4)
- 第五章:直播推流全过程:直播推流编码之RTMP(5)
- 福利:博主买了个一年的服务器搭建了rtmp接收服务端,地址在项目里面,大家可以拿来测试。
五、学习FFmpeg
音视频开发是绕不开FFmpeg的,因为它是一个"集大成者",里面已经包含或可集成现代几乎所有的音视频技术(库)。
1)学习途径
- 阅读官方文档
- 学习官方例子(源码中
doc/examples/xxx
) - [总结]FFMPEG视音频编解码零基础学习方法
- 书籍(电子书往最后翻)
- 1.FFmpeg从入门到精通(京东)
- 2.FFMPEG_FFPLAY源码剖析(CSDN)
- 3.音视频开发进阶指南:基于Android与iOS平台的实践(京东)
- 4.Android 音视频开发_何俊林(京东)
2)学习路线
这里不推荐直接学习雷神的[总结]FFMPEG视音频编解码零基础学习方法,建议是通过在学习FFmpeg官方例子中进行学习,避免先入为主使用了过时的API。
a) 源码编译
编译ffmpeg4.2.2通过这篇文章我们基本可以编译出我们想要的FFmpeg库
b) 源码阅读
- 源码导入:FFmpeg导入到Clion(MacOS) 、 使用Clion阅读FFmpeg源码(支持跳转)
- 阅读参考:FFMPEG/FFPLAY源码剖析(CSDN下载) ,我也放到最下方资料里面了,没条件的朋友们可以从这里下载。
c) 学习官方例子
- FFmpeg重要结构体(转自雷神) ,因为在学习FFmpeg中,必须得知道结构体中重要参数的含义,否则举步维艰。
- FFmpeg Demuxing(解封装) 对应
doc/examples/demuxing_decoding.c
中的解封装部分。 - FFmpeg Muxing(封装) 对应
doc/examples/muxing.c
。 - FFmpeg Remuxing(重新封装) 对应
doc/examples/remuxing.c
。 - FFmpeg Decode(解码) 对应
doc/examples/decode_audio.c
和doc/examples/decode_video.c
。 - FFmpeg Encode(编码) 对应
doc/examples/decode_audio.c
和doc/examples/decode_video.c
。 - FFmpeg 简单实现转码 汇总解封装、解码、编码、封装放到一起方便理解 。
- FFmpeg Filter和SDL(Video) 对应
doc/examples/filtering_video.c
。 - FFmpeg Filter和SDL(Audio) 对应
doc/examples/filtering_video.c
。 - FFmpeg Transcode(转码) 对应
doc/examples/transcoding.c
。
六、待更…
音视频资料
- 密码:lqi9
- 动脑视频
- 网易视频
- Advanced C and C++ Compiling.pdf
- Android 音视频开发_何俊林.pdf
- C Primer中文版 第五版 .pdf
- C++ Primer Plus(第6版)中文版.azw3
- C++ Primer(第5版)中文版.pdf
- FFMPEG_FFPLAY源码剖析.7z
- H.264-AVC-ISO_IEC_14496-10.pdf
- H.264-AVC-ISO_IEC_14496-15.pdf
- H.264_MPEG-4-Part-10-White-Paper.pdf
- H.264官方中文版.pdf
- ISO_IEC-14496-3-2009.pdf
- ISO_IEC_14496-14_2003-11-15.pdf
- SDL2-API手册.doc
- aac-iso-13818-7.pdf
- STL源码剖析简体中文完整版(清晰扫描带目录).pdf
- amf0_spec_121207.pdf
- amf3_spec_121207.pdf
- hls-m3u8-draft-pantos-http-live-streaming-12.txt
- hls-mpeg-ts-VB_WhitePaper_TransportStreamVSProgramStream_rd2.pdf
- hls-mpeg-ts-iso13818-1.pdf
- rtmp.part1.Chunk-Stream.pdf
- rtmp.part2.Message-Formats.pdf
- rtmp.part3.Commands-Messages.pdf
- rtmp规范翻译1.0.docx
- rtmp_specification_1.0.pdf
- video_file_format_spec_v10_1.pdf
- 《FFmpeg从入门到精通》.pdf
- 数字信号处理教程(第四版).pdf
- 新一代视频压缩编码标准-H.264_AVC(第二版).pdf
- 音视频开发进阶指南:基于Android与iOS平台的实践.pdf
作者有话说
若有帮助就Star一下呗,您的鼓励是我开源的动力!
此外:欢迎光临我的博客 && 这个导航网页内容也很丰富哦
本文一切皆从网络而来,如有侵权请联系我(邮箱:xhunmon@126.com)进行处理。
0基础学习音视频路线,以及重磅音视频资料下载相关推荐
- 【新知实验室】0基础小白如何免费打造自己的音视频小程序
目录 一.前言 二.小程序功能介绍 三.在腾讯云获取源码和接口 四.制作你的微信小程序 五.总结与建议 六.相关链接 开发环境:微信开发者工具(1.06.2211222 64位) 测试环境:红米Not ...
- 2023 Data数据分析岗前景如何?0基础学习数据分析成功上岸,3个月掌握令人惊叹的sql能力!...
Date数据分析师的发展路线! 从事数据分析相关工作,按职业发展方向大致分为两类. [1]业务路线:业务分析--数据分析师--部门leader--管理高层 一般在大中型企业为业务持续增长带来价值,比如 ...
- 全景丨0基础学习VR全景制作,平台篇第13章:热点功能-总览介绍
全景丨0基础学习VR全景制作,平台篇第13章:热点功能-总览介绍 大家好,欢迎观看蛙色VR官方--后台使用系列课程! 一.热点功能概览 热点,指在全景作品中添加各种类型图标的按钮,引导用户通过按钮产生 ...
- 视频教程-ZStack 带你0基础搭建私有云平台|ZCCT实战培训视频|-云平台
ZStack 带你0基础搭建私有云平台|ZCCT实战培训视频| ZStack云计算解决方案专家,12年虚拟化与云计算相关工作经验,先后就职于IT系统集成商.国内知名软件上市公司以及云计算服务商,分别从 ...
- 日语课程0基础学习笔记——第一课
学习目标: 编程0基础学习笔记--前言 这是一个个人使用的日语学习记录博客!根据B站的up日语教程一直跟下来,从第一天开始记录.后续会把我学习的内容和知识点尽量多的记录在这个博客中,不仅是方便自己复习 ...
- 0基础学习数据分析必须掌握的技能有哪些?
现如今,我们处于一个互联网发展的时代,大大小小的企业对于数据分析相关岗位的需求逐渐增加,因为所有的企业都有数据,企业需要让数据分析师通过整理.分析企业数据总结出企业目前的发展现状,并且为企业做出下一步 ...
- python 内存溢出能捕获吗_从0基础学习Python (19)[面向对象开发过程中的异常(捕获异常~相关)]...
从0基础学习Python (Day19) 面向对象开发过程中的=>异常 什么是异常 当程序在运行过程中出现的一些错误,或者语法逻辑出现问题,解释器此时无法继续正常执行了,反而出现了一些错误的 ...
- 从0基础学习Python(13)[面向对象思想]
从0基础学习Python (Day13) 面向对象思想 1.面向对象编程介绍 面向对象 概述 目前软件开发技术中两种主流思想:面向过程.面向对象 面向过程思想出现较早,C语言 面向对象思想 ...
- 卷毛0基础学习Golang-基础-slice切片
卷毛0基础学习Golang-基础-slice切片 持续更新中---- 切片简述 数组的长度在定义之后无法再次修改:数组是值类型,每次传递都将产生一份副本.显然这种数据结构无法完全满足开发者的真实需求. ...
- 卷毛0基础学习Golang-并发编程,01 什么是并发
卷毛0基础学习Golang-并发编程,什么是并发 Go并发编程 概述 简而言之,所谓并发编程是指在一台处理器上"同时"处理多个任务. 随着硬件的发展,并发程序变得越来越重要.Web ...
最新文章
- 地图构建两篇顶级论文解析
- 未处理的异常: 0xC0000235: 由句柄所调用的 NtClose 已使用 NtSetInformationObject 以防止关闭。...
- 【机器学习】一文归纳AI数据增强之法
- MFC界面库BCGControlBar v25.3新版亮点:Dialogs和Forms
- 面试官:你不懂六大设计原则,回去等通知吧!
- 理论基础 —— 栈 —— 顺序栈
- NSThread详解
- 通过生日查询各年龄段数量通过饼状图显示
- 基于JAVA+SpringMVC+Mybatis+MYSQL的健身房管理系统
- 老李分享:《Linux Shell脚本攻略》 要点(二)
- SCRT同网段的ping不通
- <论文阅读> DI-FODO — 3D距离传感器的快速视觉里程计
- R语言用igraph绘制网络图可视化
- 统计3个班成绩情况,每个班有5名同学 求出各个班的平均分和所有班级的平均分(学生成绩键盘输入) 同级生哪个班及格人数,每个班5名同学
- 程序错误类型及其处理
- springboot毕设项目公共场所安保信息管理系统v2rtn(java+VUE+Mybatis+Maven+Mysql)
- java sm3国密算法加密、验证工具类
- [Unity workflows] Unity 5.6.1f1 与 Docker 和 Bitrise 的持续集成
- stm32F429HAL库使用DS18B20输出温度到电脑串口助手
- AcrelCloud-1000变电所运维云平台在浙江固特成套设备有限公司的应用