One, foreword

At the end of 2019, the wave of HUAWEI’S 5G mobile phones began to sweep the country. Other mobile phone manufacturers began to show signs of 5G. China Mobile, China Unicom and China Telecom, the three major network communication giants, also launched 5G data packages, and various activities emerged in an endless stream.

In this environment, we talk about Android audio and video development, a big wave of dry goods to attack, high-energy warning.

Second, talk about audio and video development environment

Although all industries were hit to varying degrees at the beginning of 2020 under the high pressure of the epidemic, the Internet economy showed its advantages in such a recession — transactions and capital rely on the Internet, still flow smoothly between different people and different regions.

5G technology, characterized by high speed, ubiquitous network, low power consumption (device side), low delay, interconnection of everything, and reconstruction security, makes live broadcasting and related businesses in short video industry develop rapidly. Teleconferencing, work, study, online education… There was a great uproar and it was in full swing. Douyin and other short video apps add fuel to the fire of audio and video.

Needless to say, the three oldest BAT Internet companies, such as Douyin, Kuaishou and other emerging audio and video companies, value talents in this field more.

The NDK has become almost, if not absolutely, an essential skill in Android development. Mastering these skills will be a big plus in the interview.

Third, Android audio and video development prospects

Words have no basis, let us face the market, let the market say their needs.

The following is part of the recruitment information I found on boss ↓ ↓ ↓ ↓ ↓

And that’s just the boss platform, where job postings are all about NDK technology. All are big factories, all are high salaries.

The future of Android audio and video development! A strong!

Four, Android audio and video development how to learn?

(a) self-study audio and video development is difficult?

Don’t lie to everyone, the threshold of audio and video is really a little high, because audio and video features are C/C++ development, which makes many Android only contact with Java development friends back away — that is why there are so many NDK high-paying jobs.

Just looking at the plethora of open source libraries for audio and video, such as FFmpeg and MediaCodec, can be daunting enough for a new developer. What’s more, just using apis simply doesn’t fit the ever-changing needs of the real world.

Between the above main reasons, audio and video self-study is difficult, learning costs are very high, the efficiency is very low. Of course, the so-called difficulty is only for those who can not find the direction of the people, if there is a correct learning direction, supplemented by systematic learning materials, the difficulty will be reduced a lot, learn a lot of efficient.

Answer the demand of a lot of people, there is a big man of T4 of Tencent according to his study and working experience, he sorted out a set of efficient study data to share, can get free now. In addition, the big guy shares his own learning methods behind.

The following is the study route and material display, if you need, you can go to get it yourself.

To obtain information, clickMy GitHub:https://github.com/xieyuliang/Tecent-Android-Archiecture/blob/master) available ~

(2) Learning methods of audio and video development

In fact, there is not too much cheating, but learning this matter, must be systematic, orderly, step by step, so as to fully master these important knowledge points and skills.

1. First of all, we should understand the basic knowledge system of NDK. There is a basic learning route and framework in mind, mainly including the following key points:

  • Linux environment construction, system management, permission system and tool use (VIM, etc.)
  • Shell scripting
  • Native development tools

  • JNI development
  • C and C + +

2. Bottom image processing

3, the most important thing is to carry out audio and video development actual combat training. Talk not practice the fake handle, the following to douyu live as an example

(3) Audio and video development of efficient learning materials

This big man combines audio and video with products, and explains according to the actual business needs and the upper level.

So this information not only write logic, data and other UI display, but also explain some audio and video related logic in the application layer, front-line experience + example code, so that together learning will get twice the result with half the effort.

To obtain information, clickMy GitHub:https://github.com/xieyuliang/Tecent-Android-Archiecture/blob/master) available ~

If you find any defects after studying, please correct them. This information is compiled thanks to the help of many bloggers, here I will not mention one by one.

General Information Table

knowledge

1. NDK module development

  • 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 operation instructions
  • C/C++ functions and initializers list

2. JNI module

  • Static registration and Dynamic Registration developed by JNI (1)
  • JNI Development method Signature and Java Communication (PART 2)
  • Local Reference, Global Reference and Weak Global Reference for JNI Development

3. Native development tools

  • Top 10 Most Popular React Native App Development Editors
  • React-native packaging process
  • Static and dynamic libraries
  • ABI management
  • Processing CPU Functions
  • NEON support

4. Programming Linux

  • Linux environment construction, system management, permission system and tool use (VIM, etc.)
  • Linux System Management Operations (25 commands)
  • A Shell script
  • Flow control statement
  • Scheduled task service program

5. Bottom image processing

  • PNG/JPEG/WEBP image processing and compression
  • Wechat picture compression
  • GIF synthesis principle and implementation

6. Audio and video development

  • Multimedia system
  • FFmpeg
  • Streaming media protocol
  • OpenGL ES filter development beauty effect
  • Analysis and implementation of Douyin video effect

7. Machine learning

  • Opencv
  • Image preprocessing
  • Corrosion and expansion
  • Face detection
  • ID

summary

From the beginning of species, the world has always been about natural selection and survival of the fittest. Human society is progressing all the time. If we fail to keep learning and moving forward, we will become the one who is “backward and beaten”.

Looking back on history, 2G let mobile Internet into our vision, let Baidu Sohu different army rise; 3G enabled instant messaging, online shopping, and Internet giants such as Tencent and JD.com; 4G has brought the rise of short video, the achievements of bytedance, Kuaishou and other dark horses.

Where is the wind of 5G? At least for our Android development, audio and video this draught is still in the wind, seize the opportunity, Beijing, Guangzhou and Shenzhen many years of 50W-70W audio and video positions, year-round still can not recruit people. Don’t hesitate to improve yourself now!

To obtain information, clickMy GitHub:https://github.com/Tecent-Androidr) available ~