GithubHelp home page GithubHelp logo

juwuguo1988 / mediademo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from suma-sun/mediademo

0.0 1.0 0.0 8.97 MB

Android音视频从零开始学习代码.每节有不同的课题。1.AudioRecord、AudioTrack生成PCM\WAV文件。2.Camera、Surfaceview、Textureview预览数据。3.MediaExtractor、MediaMuxer分离MP4音视频轨道并输出文件,封装音视频文件合成MP4。4.OpenGL绘制图形。

Java 100.00%

mediademo's Introduction

MediaDemo

Android音视频从零开始学习代码.每节有不同的课题.(目前已完成1~6)

课题目录:
1、在 Android 平台绘制一张图片,使用至少 3 种不同的 API,ImageView,SurfaceView,自定义 View
2、在 Android 平台使用 AudioRecord 和 AudioTrack API 完成音频 PCM 数据的采集和播放,并实现读写音频 wav 文件
3、在 Android 平台使用 Camera API 进行视频的采集,分别使用 SurfaceView、TextureView 来预览 Camera 数据,取到 NV21 的数据回调
4、学习 Android 平台的 MediaExtractor 和 MediaMuxer API,知道如何解析和封装 mp4 文件
5、学习 Android 平台 OpenGL ES API,了解 OpenGL 开发的基本流程,使用 OpenGL 绘制一个三角形
6、学习 Android 平台 OpenGL ES API,学习纹理绘制,能够使用 OpenGL 显示一张图片
7、学习 MediaCodec API,完成音频 AAC 硬编、硬解
8、学习 MediaCodec API,完成视频 H.264 的硬编、硬解
9、串联整个音视频录制流程,完成音视频的采集、编码、封包成 mp4 输出
10、串联整个音视频播放流程,完成 mp4 的解析、音视频的解码、播放和渲染
11、进一步学习 OpenGL,了解如何实现视频的剪裁、旋转、水印、滤镜,并学习 OpenGL 高级特性,如:VBO,VAO,FBO 等等
12、学习 Android 图形图像架构,能够使用 GLSurfaceviw 绘制 Camera 预览画面
13、深入研究音视频相关的网络协议,如 rtmp,hls,以及封包格式,如:flv,mp4
14、深入学习一些音视频领域的开源项目,如 webrtc,ffmpeg,ijkplayer,librtmp 等等
15、将 ffmpeg 库移植到 Android 平台,结合上面积累的经验,编写一款简易的音视频播放器
16、将 x264 库移植到 Android 平台,结合上面积累的经验,完成视频数据 H264 软编功能
17、将 librtmp 库移植到 Android 平台,结合上面积累的经验,完成 Android RTMP 推流功能
18、上面积累的经验,做一款短视频 APP,完成如:断点拍摄、添加水印、本地转码、视频剪辑、视频拼接、MV 特效等功能

mediademo's People

Contributors

suma-sun avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.