{"id":13429333,"url":"https://github.com/ChenLittlePing/LearningVideo","last_synced_at":"2025-03-16T03:31:29.882Z","repository":{"id":37431879,"uuid":"209732980","full_name":"ChenLittlePing/LearningVideo","owner":"ChenLittlePing","description":"【Android 音视频开发打怪升级】系列文章示例代码（A demo to introduce how to develop android video）。本项目将从MediaCodec硬解，FFmpeg软解，OpenGL等方面，全方位讲解如何在Android上进行音视频编辑开发。","archived":false,"fork":false,"pushed_at":"2021-05-16T05:17:56.000Z","size":25941,"stargazers_count":1884,"open_issues_count":22,"forks_count":356,"subscribers_count":46,"default_branch":"master","last_synced_at":"2025-03-11T06:13:36.940Z","etag":null,"topics":["ffmpeg","mediacodec","mediamuxer","opengl-es","opensl-es"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ChenLittlePing.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-09-20T07:35:40.000Z","updated_at":"2025-03-09T09:04:46.000Z","dependencies_parsed_at":"2022-08-03T03:15:46.419Z","dependency_job_id":null,"html_url":"https://github.com/ChenLittlePing/LearningVideo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChenLittlePing%2FLearningVideo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChenLittlePing%2FLearningVideo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChenLittlePing%2FLearningVideo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChenLittlePing%2FLearningVideo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChenLittlePing","download_url":"https://codeload.github.com/ChenLittlePing/LearningVideo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243822312,"owners_count":20353496,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ffmpeg","mediacodec","mediamuxer","opengl-es","opensl-es"],"created_at":"2024-07-31T02:00:35.286Z","updated_at":"2025-03-16T03:31:29.876Z","avatar_url":"https://github.com/ChenLittlePing.png","language":"C","funding_links":[],"categories":["音视频"],"sub_categories":[],"readme":"\n![](https://github.com/ChenLittlePing/LearningVideo/blob/master/cover.jpg)\n\n#### 简介\n\n\u003e 本项目为【Android音视频开发打怪升级】系列教程的代码实例，教程正在陆续完善中。\n\n**公众号、掘金、简书同步更新，欢迎关注**\n\n微信公众号：【开发的猫】文章首发地，欢迎扫码关注😄～\n\n![开发的猫](https://github.com/ChenLittlePing/LearningVideo/blob/6e54f71b7e9138da6268d57e198dfdeaa1d3a4d7/qrcode_for_wx.jpg)\n\n我在掘金：https://juejin.im/user/57c5b0040a2b58006c0a5132\n\n我在简书：https://www.jianshu.com/u/8c0a3b9c0e47  \n\n##### 炙手可热，望而生畏的音视频开发\n\n时至今日，短视频App可谓是如日中天，一片兴兴向荣。随着短视频的兴起，音视频开发也越来越受到重视，但是由于音视频开发涉及知识面比较广，入门门槛相对较高，让许许多多开发者望而生畏。\n\n##### 为什么写这一系列博文\n\n虽然网上有很多的博文总结了音视频打怪升级的路线，但是音视频开发相关的知识都相对独立，有讲“音视频解码相关”的，有讲“OpenGL相关”的，也有讲“FFmpeg相关的”，但是对于新手来说，把所有的知识衔接串联起来，并很好的理解所有的知识，却是非常困难的。\n\n本人在学习音视频开发的过程中，深刻体会到了由于知识的分散，过渡断层带来的种种困惑和痛苦，因此，希望通过自己的理解，可以把音视频开发相关的知识总结出来，并形成系列文章，循序渐进，剖析各个环节，一则对自己所学做一个总结和巩固，二则希望可以帮助想入门音视频开发的开发者小伙伴们。\n\n#### 声 明\n\n\u003e **首先**，这一系列文章均基于自己的理解和实践，可能有不对的地方，欢迎大家指正。  \n**其次**，这是一个入门系列，涉及的知识也仅限于够用，深入的知识网上也有许许多多的博文供大家学习了。  \n**最后**，写文章过程中，会借鉴参考其他人分享的文章，会在文章最后列出，感谢这些作者的分享。\n\n**码字不易，转载请注明出处！**\n\n---\n\n#### 目录\n##### 一、Android音视频硬解码篇：\n  - [x] 1，[音视频基础知识](https://www.jianshu.com/p/1749d2d43ecb)\n  - [x] 2，[音视频硬解码流程：封装基础解码框架](https://www.jianshu.com/p/ff65ef5207ce)\n  - [x] 3，[音视频播放：音视频同步](https://www.jianshu.com/p/ba8db84f8fe8)\n  - [x] 4，[音视频解封和封装：生成一个MP4](https://www.jianshu.com/p/105147d75dfa)\n  \n##### 二、使用OpenGL渲染视频画面篇\n  - [x] 1，[初步了解OpenGL ES](https://www.jianshu.com/p/2158d4aec142)\n  - [x] 2，[使用OpenGL渲染视频画面](https://www.jianshu.com/p/176880b2b3a2)\n  - [x] 3，[OpenGL渲染多视屏，实现画中画](https://www.jianshu.com/p/0e56e9678dd5)\n  - [x] 4，[深入了解OpenGL之EGL](https://www.jianshu.com/p/9f4f6c72ef5a)\n  - [x] 5，[OpenGL FBO数据缓冲区](https://www.jianshu.com/p/1a7741608083)\n  - [x] 6，[Android音视频硬编码：生成一个MP4](https://www.jianshu.com/p/bfdeac7da147)\n\n##### 三、Android FFmpeg音视频解码篇\n  - [x] 1，[FFmpeg so库编译](https://www.jianshu.com/p/350f8e083e82)\n  - [x] 2，[Android 引入FFmpeg](https://www.jianshu.com/p/2c9918546edc)\n  - [x] 3，[Android FFmpeg视频解码播放](https://www.jianshu.com/p/d7c8f49d9ea4)\n  - [x] 4，[Android FFmpeg＋OpenSL ES音频解码播放](https://www.jianshu.com/p/28fc978721b4)\n  - [x] 5，[Android FFmpeg＋OpenGL ES播放视频](https://www.jianshu.com/p/b725777bf41c)\n  - [x] 6，[Android FFmpeg简单合成MP4：视屏解封与重新封装](https://www.jianshu.com/p/a2a28a17b817)\n  - [x] 7，[Android FFmpeg视频编码](https://www.jianshu.com/p/e4bd9fe1c06d)\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FChenLittlePing%2FLearningVideo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FChenLittlePing%2FLearningVideo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FChenLittlePing%2FLearningVideo/lists"}