Recently received a lot of users through e-mail or message that want to learn audio and video development, how to get started, I wrote a special article today unified reply.
Audio and video This piece, there is really no comparison system of tutorials or books, online blog articles are relatively fragmented, I hope I can squeeze out the time of the whole topic in detail to say ~ ~ At present, I first give a large direction of the study guide, hope to help beginners.
I have always believed that with the "task" to learn and practice, the efficiency will be much higher, so I listed a series of audio and video related "Development tasks", from simple to difficult (of course, not necessarily very strict and perfect, part of the task can be adjusted), everyone in the process of completing the task, encountered any do not understand the place to go Google, or to consult the side of Daniel, do not let go of any doubt, I believe that we will soon be able to the audio and video related knowledge accumulated around.
"Android audio and video from getting started to improving--task list"
1. Draw a picture on the Android platform, use at least 3 different api,imageview,surfaceview, customize View
3. Use the camera API for video capture on the Android platform, use Surfaceview, Textureview to preview the camera data, and take the NV21 data callback
4. Learn how to parse and encapsulate MP4 files by learning the Mediaextractor and Mediamuxer APIs of the Android platform
5. Learn the basic process of OpenGL development with the Android platform OpenGL ES API and draw a triangle using OpenGL
6. Learn the Android platform OpenGL ES API, learn texture drawing, and be able to display a picture using OpenGL
7. Learn Mediacodec API, complete audio AAC hard-coding, hard solution
8. Learn the Mediacodec API to complete the hard and hard solution of the video H.
9. Series the whole audio and video recording process, complete the audio and video acquisition, encoding, packet into MP4 output
10. Series The entire audio and video playback process, complete MP4 parsing, audio and video decoding, playback and rendering
11. Learn more about OpenGL to learn how to achieve clip, rotate, watermark, filter, and learn OpenGL advanced features such as VBO,VAO,FBO, etc.
12. Learn Android graphics image architecture and be able to use GLSURFACEVIW to draw Camera preview screen
13. In-depth study of audio and video related network protocols, such as RTMP,HLS, and packet format, such as: Flv,mp4
14. Learn more about open source projects in the field of audio and video, such as WEBRTC,FFMPEG,IJKPLAYER,LIBRTMP, etc.
15. Porting the FFmpeg library to the Android platform, combining the experience gained above, to write a simple audio and video player
16. Porting the x264 library to the Android platform, combined with the above experience, complete the video data H264 soft editing function
17. Porting the Librtmp library to the Android platform, combined with the above experience, to complete the Android RTMP push stream function
18. The above experience, do a short video APP, complete such as: Breakpoint shooting, add watermark, local transcoding, video clips, video stitching, MV effects and other functions
Believe me, if you take all your tasks seriously, you will become the audio and video talent recruitment market Bobo ~ ~
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/
About audio and video How to get started here, have any questions welcome letter [email protected] exchange, in addition, welcome to follow my Sina Weibo @ Lu _ June or the public number @Jhuster get the latest articles and information.
This article is from the "jhuster column" blog, be sure to keep this source http://ticktick.blog.51cto.com/823160/1956269
Android Audio and video development Getting Started Guide