Android Audio and video development This piece does not currently have a comparative system of tutorials or books, online blog articles are also relatively fragmented. Only through a little bit of learning and accumulation of this piece of knowledge in series to accumulate together. In the process of learning, encountered do not understand the place, to go to Google in a timely manner or consult the great God, do not know half of the past.
Beginner's Introductory article:
- Draw a picture on the Android platform, use at least 3 different api,imageview,surfaceview, customize View
- Use the Audiorecord and Audiotrack APIs on the Android platform to capture and playback audio PCM data and implement read/write audio wav files
- Use the camera API for video capture on the Android platform, using Surfaceview, Textureview to preview the camera data, and take the NV21 data callback
- Learn how to parse and encapsulate MP4 files by learning the Mediaextractor and Mediamuxer APIs of the Android platform
Intermediate Promotion article:
- Learn the basic process of OpenGL development by learning the Android platform OpenGL ES API, drawing a triangle using OpenGL
- Learn the Android platform OpenGL ES API, learn texture drawing, and be able to display a picture using OpenGL
- Learn Mediacodec API, complete audio AAC hard-coding, hard solution
- Learn the Mediacodec API to complete the hard and hard solution of the video H.
- Serial audio and video recording process, complete audio and video acquisition, encoding, packet into MP4 output
- Serial audio and video playback process, complete MP4 parsing, audio and video decoding, playback and rendering
- Learn more about OpenGL to learn how to cut, rotate, watermark, filter, and learn about OpenGL advanced features such as VBO,VAO,FBO and more
- Learn the Android graphics image architecture and be able to draw the Camera preview screen using GLSURFACEVIW
- In-depth study of audio and video related network protocols such as RTMP,HLS, and packet formats such as: Flv,mp4
- Learn more about open source projects in the field of audio and video, such as WEBRTC,FFMPEG,IJKPLAYER,LIBRTMP, etc.
- Porting the FFmpeg library to the Android platform, combining the experience gained above, to write a simple audio and video player
- Porting the x264 library to the Android platform, combined with the above experience, to complete the video data H264 soft editing function
- Porting the Librtmp library to the Android platform, combined with the experience above, to complete the Android RTMP push stream feature
Based on the experience accumulated above, do a short video APP, complete such as: Breakpoint shooting, add watermark, local transcoding, video clips, video stitching, MV effects and other functions. If you take all the points seriously, you will become a popular audio and video talent.
Here are some recommended references:
1. "Lei Hua's column": http://blog.csdn.net/leixiaohua1020
2. "Android Audio development": http://ticktick.blog.51cto.com/823160/d-15
3. "FFMPEG Tips": http://ticktick.blog.51cto.com/823160/d-17
4. "Learn OpenGL Chinese": https://learnopengl-cn.readthedocs.io/zh/latest/
5. Android Graphic Architecture: https://source.android.com/devices/graphics/
6. Column of Jhuster: http://ticktick.blog.51cto.com/all/823160
Learning ideas for Android audio and video development