preface
Today, short video apps are booming. With the rise of short video, audio and video development is getting more and more attention, and the salary is rising. Taking first-tier cities as an example, the salary of audio and video engineering development is 40% higher than that of Android application layer development.
However, as audio and video development involves a wide range of knowledge, the threshold of entry is relatively high, so that many developers are afraid.
Although there are many online posts summed up the audio and video have upgrade route, but the audio and video development related knowledge is relatively independent, have “related audio and video decoding”, have “OpenGL related”, there are also “FFmpeg related”, but for newcomers, join together, bring all the knowledge and good understanding of all knowledge, It’s very difficult.
So, how do we learn audio and video?
Down here, high energy! Fortunately from a bytedance god there to get his own blood collated “582 pages Android NDK seven modules learning treasure”, from the principle to the actual combat, everything!
Adhering to the principle of good things to share, of course, today to show a, try this “582 pages Android NDK seven modules learning treasure guide” can also let you get twice the result with half the effort! This treasure book mainly involves the following aspects:
- NDK module development
- JNI module
- Native development tools
- Linux programming
- Underlying image processing
- Audio and Video development
- Machine learning
Note content is free to share, if you need a complete version of notes [click on me] for free!
1. NDK module development
Main Contents:
- C++ and C# data types summary
- C and C++ memory structure and management
- C and C++ preprocessing commands and typedef naming existing types
- C and C++ structure, common body
- C and C++ Pointers
- C/C++ multithreading
- C/C++ functions and initializers list
JNI module
Main Contents:
- Static and dynamic registration developed by JNI
Static registration, dynamic registration, JNINativeMethod, data type mapping, jNI function default parameters
- JNI developed method signature and Java communication
Android NDK develops JNI type signature and method signature, and JNI implements communication between Java and C/C ++
- Local, global, and weak global references for JNI development
Note content is free to share, if you need a complete version of notes [click on me] for free!
Iii. Native development tools
Main Contents:
- Compilers, packaging tools, and analyzers
Top 10 Most Popular React Native App Development editors and React-Native Packaging processes
-
Static and dynamic libraries
-
CPU architecture and precautions
ABI management, CPU processing, NEON support
- Build scripts and build tools
Environment setup, NDK project, Cmake, Makefile
- Cross compilation and migration
FFmpeg compilation, FFmpeg+LIBX264+FACC cross-compilation, FFmpeg+LIBX264+FACC cross-compilation, FFmpeg+LIBX264+FACC cross-compilation, FFmpeg+LIBX264+FACC cross-compilation, FFmpeg cross-compilation, X264 FAAC cross-compilation, solve all the porting problems
- AS builds the NDK project
Configure NDK environment, establish APP project, generate. H header file, create C file, implement native method, jni.h file
Fourth, Linux programming
- Linux environment construction, system management, permission system and tool use (VIM, etc.)
Linux environment construction, Linux system management operation (25 commands)
- Shell scripting
Shell script, write simple Shell script, process control statement, plan task service program
Note content is free to share, if you need a complete version of notes [click on me] for free!
Fifth, the bottom picture processing
- PNG/JPEG/WEBP image processing and compression
Four image formats, recommended several image processing sites, Squoosh online lossless image compression tool, JPG/webP/PNG/ interconversion
- Wechat picture compression
Calculate the original width height, calculate the approximate width height, obtain the target image by sampling for the first time, and approach the target size by cycle
- GIF synthesis principle and implementation
GIF image analysis, GIF image synthesis (sequence image synthesis GIF image)
Vi. Audio and video development
- Multimedia system
Camera and mobile phone screen acquisition, image raw data format YUV420(NV21 and YV12, etc.), audio acquisition and playback system, codec MediaCodec, MediaMuxer multiplexing and MediaExtractor
- FFmpeg
Ffmpeg module introduction, audio and video decoding, audio and video synchronization, I frame,B frame,P frame decoding principle, X264 video coding and FAAC audio coding, OpenGL rendering and NativeWindow rendering
- Streaming media protocol
RTMP, P2P WebRtc for audio and video calls
- OpenGL ES filter development beauty effect
Gaussian blur, high contrast retention, strong light processing, fusion
- Analysis and implementation of Douyin video effect
Process list, video shooting, video editing, and video export
- Audio and video transmission principle
Variable speed entrance analysis, audio variable speed, video variable speed
Note content is free to share, if you need a complete version of notes [click on me] for free!
Machine learning
-
Opencv
-
Image preprocessing
Gray scale and binarization, corrosion and expansion, face detection, ID card recognition
The last
Due to the space limitation, the detailed information of the document is too comprehensive, too many details, so only part of the knowledge point screenshots out of the rough introduction, each small node has more detailed content!
In addition to the above I also sorted out the following series of learning progress information:
Android Development Seven modules core Knowledge Notes
2246 pages of the latest Android high Frequency interview questions
Note content is free to share, if you need a complete version of notes [click on me] for free!