Android audio and video development core knowledge point note integration

Many developers know the concept of Android audio and video development. Audio and video development requires not only the basic knowledge of images, audio, and video, but also a series of development and applications such as how to collect, render, process, and transmit them. Therefore, audio and video development is a field involving a lot of content.

With the popularization of 5G, we can clearly perceive the current demand for audio and video talents in the market, and the salaries of audio and video positions in the market are also rising. However, there are indeed no systematic tutorials or books for Android audio and video development. Online blogs Articles are also relatively fragmented. This piece of knowledge can only be accumulated in series through a little bit of learning and accumulation.

Here I recommend a set of learning routes for everyone, with related "Notes on Core Knowledge Points of Audio and Video Development", I believe it can provide you with some help, friends in need can also download it to check for omissions at any time.

Basic introduction to audio and video

The primary introduction to audio and video is mainly to get in touch with the APIs related to Android multimedia display. By enumerating and using these APIs separately, there is a basic outline of Android audio and video processing. Although the knowledge points are relatively scattered, the points form a line. Lines become planes, and the basic foundation is mastered. By learning the core API of Android audio and video, the audio and video processes are connected in series, so that the understanding and control of audio and video are not limited to the outermost API, but can be passed through A relatively low-level way to deepen the understanding of Android audio and video development.

  • Android audio and video development (1): draw pictures in three ways
  • Android audio and video development (2): Use AudioRecord to capture audio PCM and save it to a file
  • Android audio and video development (3): use AudioTrack to play PCM audio
  • Android audio and video development (4): Use Camera API to collect video data
  • Android audio and video development (5): use MediaExtractor and MediaMuxer API to parse and encapsulate mp4 files
  • Android Audio and Video Development (6): Detailed Explanation of MediaCodec API
  • Android Audio and Video Development (7): Summary of Audio and Video Recording Process
  • ……

Due to the limited length of the article, it is not possible to show all the content in the learning document one by one. If you need to refer to it, you can visit: https://qr18.cn/Ei3VPD

Audio and video intermediate advanced: OpenSL ES learning

Learn the Android platform OpenSL ES API, understand the basic process of OpenSL development, use OpenSL to play PCM data, and understand the simple use of related APIs

  • Android OpenSL ES development: Android OpenSL introduction and development process description
  • Android OpenSL ES development: use OpenSL to play PCM data
  • Android OpenSL ES development: Android OpenSL recording PCM audio data
  • Android OpenSL ES development: OpenSL ES uses SoundTouch to realize PCM audio speed change and pitch change

This part is mainly hands-on practice, to accumulate practical experience, you can try to set the following goals for yourself:

  • Display a picture using OpenGL
  • GLSurfaceviw draws the Camera preview screen and takes pictures
  • Use OpenGL ES to complete the video recording and realize the video watermark effect

  • Android OpenGL ES Development (1): Introduction to OpenGL ES
  • Android OpenGL ES Development (2): OpenGL ES Environment Construction
  • Android OpenGL ES Development (3): OpenGL ES Defines Shapes
  • Android OpenGL ES Development (4): OpenGL ES Drawing Shapes
  • Android OpenGL ES Development (5): OpenGL ES uses projection and camera views
  • Android OpenGL ES Development (6): OpenGL ES adds motion effects
  • Android OpenGL ES Development (7): OpenGL ES responds to touch events
  • Android OpenGL ES Development (8): OpenGL ES shader language GLSL
  • Android OpenGL ES Development (9): OpenGL ES Texture Mapping
  • Android OpenGL ES Development (10): Interacting with shaders through GLES20
  • ……

Advanced Inquiry into Audio and Video

  • In-depth study of audio and video coding, such as H.264, AAC, and the use of open source codec libraries, such as x.264, JM, etc.
  • In-depth study of audio and video related network protocols, such as rtmp, hls, and packet formats, such as: flv, mp4
  • In-depth study of some open source projects in the field of audio and video, such as webrtc, ffmpeg, ijkplayer, librtmp, etc.
  • Port the ffmpeg library to the Android platform, combine the experience accumulated above, and write a simple audio and video player
  • Transplant the x264 library to the Android platform, and combine the experience accumulated above to complete the video data H264 soft editing function
  • Port the librtmp library to the Android platform, and combine the experience accumulated above to complete the Android RTMP streaming function

Audio and video codec technology

  • Audio and video codec technology (1): MPEG-4/H.264 AVC codec standard
  • Audio and video codec technology (2): AAC audio coding technology
  • ……

streaming protocol

  • Streaming media protocol (1): HLS protocol
  • Streaming media protocol (2): RTMP protocol
  • ……

Due to the limited length of the article, it is not possible to show all the content in the learning document one by one. If you need to refer to it, you can visit: https://qr18.cn/Ei3VPD

multimedia file format

  • Multimedia file format (1): MP4 format
  • Multimedia file format (2): FLV format
  • Multimedia file format (3): M3U8 format
  • Multimedia file format (4): TS format
  • Multimedia file format (5): PCM / WAV format
  • ……

FFmpeg learning

  • FFmpeg command line tool learning (1): view media file header information tool ffprobe
  • FFmpeg command line tool learning (2): ffplay, a tool for playing media files
  • FFmpeg command line tool learning (3): media file conversion tool ffmpeg
  • FFmpeg command line tool learning (4): FFmpeg capture device
  • FFmpeg command line tool learning (5): FFmpeg adjusts audio and video playback speed
  • ……

  • FFmpeg Learning (1): Introduction to FFmpeg
  • FFmpeg learning (2): Install FFmpeg under Mac
  • FFmpeg Learning (3): Porting FFmpeg to Android Platform
  • FFmpeg learning (4): FFmpeg API introduction and general API analysis
  • FFmpeg learning (five): FFmpeg codec API analysis
  • FFmpeg learning (6): FFmpeg core module libavformat and libavcodec analysis
  • ……

  • FFmpeg structure learning (1): AVFormatContext analysis
  • FFmpeg structure learning (2): AVStream analysis
  • FFmpeg structure learning (3): AVPacket analysis
  • FFmpeg structure learning (4): AVFrame analysis
  • FFmpeg structure learning (5): AVCodec analysis
  • FFmpeg structure learning (6): AVCodecContext analysis
  • FFmpeg structure learning (seven): AVIOContext analysis
  • FFmpeg structure learning (eight): the relationship between important structures in FFMPEG
  • ……

  • Summary of AVFilter usage process developed by FFmpeg
  • Summary of FFmpeg outdated Api
  • ……

Due to the limited length of the article, it is not possible to show all the content in the learning document one by one. If you need to refer to it, you can visit: https://qr18.cn/Ei3VPD

Guess you like

Origin blog.csdn.net/maniuT/article/details/131236291