• Stars
    star
    428
  • Rank 101,481 (Top 2 %)
  • Language
    C
  • Created over 4 years ago
  • Updated about 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

0 基础音视频进阶路线 (MediaCodec、FFmpeg、OpenCV、OpenGL、短视频 SDK、音视频播放器、webrtc)

#Android 平台音视频进阶学习路线

0 基础学习音视频路线

##编译环境

  • os: 云服务器 centos

  • NDK: android-ndk-r15c-linux-x86_64.zip

  • FDK-AAC: 0.1.6

  • x264: 最新版-commit 33f9e1474613f59392be5ab6a7e7abf60fa63622

  • FFmpeg: 3.4.6

  • lame: 3.100

  • rtmp: committed b0631b0

进阶路线

进阶路线图可以在组件库找到对应代码

由于工作时间比较忙,所以只能抽空更新。

暂时定于一周一更 ,不忙就多更!

组件库 对应关系 是否完成 完成时间 最后更新时间
fdkaac_audio_encode_decode Libfdk-aac 音频编解码 2020-06-08
x264_video_encode Libx264 视频编码 2020-06-11
mediacodec_audio_encode_decode Android MediaCodec AAC 硬编解码 2020-06-14
mediacodec_video_encode_decode Android MediaCodec H264 硬编解码 2020-06-16
ffmpeg_audio_encode_decode FFmpeg API 实现音频 AAC 软编解码 2020-06-21
ffmpeg_video_encode_decode FFmpeg API 实现视频 H264 软编解码 2020-06-23
lame_ffmpeg_mp3_encode_decode MP3 编解码 2020-06-25
JavaAVPlayer Java API 实现音视频播放(mp3/mp4/pcm/yuv) 2020-06-28
NativeAVPlayer Native 端实现音视频播放(PCM/YUV) 2020-07-02
ffmpeg_muxer 基于 h264,AAC 文件打包为 MP4 2020-08-25 2020-08-30
camera_recorder 基础实战:OpenGL ES 实现相机预览->硬编码->实时 音视频/图片音频 FFmpeg 合成 mp4 2020-07-11 2020-08-30
AVRtmpPushSDK 中级实战- rtmp 推流 SDK 2020-07-19
AVEditer 高级实战-短视频 SDK(音视频编辑 + 直播推流 + 音视频播放) 进行中...
NDK_OpenGL_ES3.0 Native 端 OpenGL ES 3.0 实践 进行中...
...

进阶文档

一、音视频基础 + 实战项目

目录 是否完成
一、音频基础知识
二、视频基础知识
三、音频采集
四、视频采集
五、YUV 格式详解
六、音频软编解码
七、视频软编解码
八、音频硬编解码
九、视频硬编解码
十、渲染 PCM
十一、渲染 YUV
十二、MP3 编解码
十三、基础实战: Camera 通过 OpenGL ES 实现音视频录制为 MP4 格式
十四、中级实战:设计一款 Android RTMP SDK
十五、进阶实战:设计一款播放器
十六、高级实战:设计一款短视频 SDK

二、OpenGL ES 提高

计划中...

三、WebRTC

计划中...

四、OpenCV 图像处理

计划中....

五、VOIP 项目

计划中...

参考

More Repositories

1

Blog

Android 面试宝典、数据结构和算法、音视频 (FFmpeg、AAC、x264、MediaCodec)、 C/C++ 、OpenCV、跨平台等学习记录。【0基础音视频进阶学习路线】
HTML
2,030
star
2

AVEditor

这是一款短视频编辑 SDK,仿 DouYin 音视频处理。功能包含有美颜、滤镜、贴纸、特效、录制、分段录制、速率录制、变声、配乐、rtmp 直播推流、图片转视频、剪辑,mp4/flv 格式封装等功能。动态库用的我另一个项目编译好的 https://github.com/yangkun19921001/AVFFmpegLib
C
362
star
3

DexEncryptionDecryption

APK 加固 dex 加密,解密 学习项目
Java
223
star
4

NDK_AV_SAMPLE

Android NDK 音视频 FFmpeg OpenGL OpenCV rtmp 直播 学习记录! 想要更全面的学习音视频可以点击👉(适合零基础入门音视频专栏)
C
151
star
5

KeepAlive

Android <=8.0 进程保活方案
Java
135
star
6

AVFFmpegLib

移植 FFmpeg 最新版本v4.4-dev-416 + libx264 + freetype + fontconfig + fribidi + openh264 +libfdk-aac + gnutls + speex + libwebp + lame +opus + opencore-amr + https)编译的适用于 Android 平台的音视频编辑、视频剪辑的快速处理框架,目前内置了音视频剪辑、编辑、视频拼接、字幕、水印、倒放等功能,也可以根据 ffmpeg 命令模式来进行处理。
C
111
star
7

AVRtmpPushSDK

这是一个由 kotlin 、C++ 编写的 RTMP 推流项目
Kotlin
109
star
8

YKCrash

Android 崩溃捕获(Java,native)
C++
47
star
9

YKAVStudyPlatform

ffmpeg、ffplay、ffprobe 调试环境搭建,个人音视频全平台学习记录
C
38
star
10

AudioManager

这是一个 Android 端万能音频播放器,只要给我一个路径我就能进行播放。
C
37
star
11

LIBJPEG_SAMPLE

Android libjpeg 图片压缩,哈夫曼算法图片压缩
C
36
star
12

OpenRTCProject

基于 webrtc 实现的各种项目
JavaScript
36
star
13

long_picture_view

加载 长图控件,仿微博加载方式
Java
28
star
14

CustomViewSample

自定义View 练习 demo
Kotlin
23
star
15

Kotlin_GitHub

基于 Kotlin + MVP + retrofit + Okhttp +RxJava + Glide + anko + sw 限定符做了屏幕适配 等框架编写的 GitHub APP ,仅供学习
Kotlin
23
star
16

YKProBus

轻量级进程间通信框架,基于 Messenger 实现。进程间传递数据不错的选择
Java
23
star
17

MemoryFileWriteBytesYUV

解决执法仪本地录制和第三方软件同时使用摄像头资源不被占用的问题
Java
21
star
18

QTFFPlayer

MAC、Win、Linux、Android、IOS 跨平台播放器开发
C++
16
star
19

ffplay2

基于 ffplay 实现的 PC/Android/IOS 跨平台播放器
C
10
star
20

YKComponent

Android 组件化框架探索
Java
7
star
21

AndroidDpCode

Android 中 设计模式探索
Java
6
star
22

hotfix

基于类加载的热修复
Java
6
star
23

FWX_Component_Project

高仿微信(学习项目)
Java
6
star
24

ChatUI_Component

聊天输入框,列表,录像等框架
Java
6
star
25

YUVPlay

OpenGL, YUV 渲染
Java
6
star
26

T01_AV_SDKDEMO

[凌壹世纪科技有限公司](http://www.t01.com.cn/) VOIP 融合通信 SDK
Java
5
star
27

WebRTCSample

从 WebRTC 中抽代码
Java
5
star
28

WebFFplay

web 端基于 ffmpeg 实现音视频播放器的一个 demo
JavaScript
5
star
29

media_codec_sample

native 层 MediaCodec 硬编码代码提供 mk / cmake 编译 .s /.so
C
4
star
30

native_mediacodec_test

测试 native 调用 MediaCodec 代码
C++
4
star
31

FaceDetectionOpenCV

OpenCV+Dlib 人脸识别项目
C++
3
star
32

YEventBus

一个轻量级 EventBus ,支持根据 TAG 接收事件
Java
3
star
33

YKPluginAPK

Android 中插件化探索,动态加载 APK 文件中(Activity,Servicer,Broadcast)等一些资源。
Java
3
star
34

BaseComponent

基于前辈大神修改为属于自己的组件化框架 https://github.com/JessYanCoding/ArmsComponent/wiki
Java
3
star
35

ndk_sample

Android 调用 C/C++ 最简单的一个实例 零基础易看懂
Java
3
star
36

CustomHandler

实现简易的 Handler 线程间通信架构
Java
3
star
37

AndroidComponentTest

Android中一些常用的 Utils 或者 组件学习代码
Java
2
star
38

NDK_OpenGL_ES3.0

OpenGL ES 3.0 学习记录
C
2
star
39

YKDB

轻量级数据库,不用写 SQL ,仅仅通过注解就能完成对数据库的操作
Java
2
star
40

TTScreenDensity-master

今日头条适配方案
Java
2
star
41

solo-blog

DevYK 的个人博客 - 记录精彩的程序人生
1
star
42

h264-extractor

Wireshark 中获取 H264 视频码流
Lua
1
star
43

KingKongRTC

This is a cross-platform RTC library
C++
1
star
44

battery

电量优化 部分代码
Java
1
star
45

component_project

基于前辈大神修改为属于自己的组件化框架 https://github.com/JessYanCoding/ArmsComponent/wiki
Java
1
star
46

BitmapMemoryManager

Bitmap 三级缓存
Java
1
star