1. What is AAC? Now that MP3 is so popular, why AAC?
- AAC (Advanced Audio Coding) was developed by Fraunhofer IIS, Dolby LABS, AT&T, Sony, Nokia, and others
lossy
Audio encoding and file format - AAC: The encoding side provides higher quality with a smaller file size and the decoding side requires less processing power
2. The development process from AAC LC to AAC HE V2? (Understand can be)
3. What is an encoder? What is a decoder? What are the two common ACC codecs?
- If you want to compress PCM data with AAC encoding, you need to use
AAC encoder
- If you want to extract the AAC encoded data into PCM data, use this
AAC decoder
- Ffmpeg_aac and fdk_aac
4. Download FFMpeg source code
- Official download FFMpeg
5. Run the following command to manually compile ffmpeg:
// Ensure that the following libraries are installed
brew install yasm
,brew install sdl2
,brew install fdk-aac
,brew install x264
,brew install x265
// Go to the source folder of FFmpeg and run the following command
./configure --prefix=/usr/local/ffmpeg --enable-shared --disable-static --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libx264 --enable-libx265
Copy the code
// To specify the directory to which the compiled FFmpeg is installed
--prefix=/usr/local/ffmpeg
// Create a dynamic library
--enable-shared
// Do not generate static libraries
--disable-static
X264 and X265 require THE GPL License to be enabled
--enable-gpl
// FDK-AAC is incompatible with GPL and needs to be configured by enabling nonfree
--enable-nonfree
// build FDK-ACC into FFmpeg
--enable-libfdk-aac
// Build X264 into FFmpeg
--enable-libx264
// Build x265 into FFmpeg
--enable-libx265
Copy the code
- You can go through
configure --help
Command to view the function of each configuration item - The last run
make install
orsudo make install
Complete manual compilation of FFmpeg
6. Run the following command to verify that FFmpeg is compiled manually and fdK_AAC is integrated successfully
ffmpeg -ar 44100 -ac 2 -f s16le -i 44100_s16le_2.pcm -c:a libfdk_aac out.aac
Copy the code
7. Uninstall the original FFMpeg installed with BREW
brew uninstall ffmpeg
Copy the code
Will 8.ffmpeg
Related commands are configured in the environment variable path
- find
open ~/.bash_profile
File, write the following content
export FFMpeg=/usr/local/ffmpeg
export PATH=$FFMpeg/bin:$PATH
Copy the code
- Make the configuration work
source ~/.bash_profile
- Then reopen a command line tool and type directly
ffmpeg
Success can be indicated by a prompt
9. What isMakefile
File?
Makefile
Describes rules for compiling and linking the entire project, which makes compiling a project automatic without manually entering a bunch of source files and parameters each time- For example, which files need to be compiled? Which files do not need to be compiled? Which files need to be compiled first? Which files need to be postcompiled? , etc.
10. How does FFMPEG find the FDK_aAC library?
otool -L libavcodec.dylib