ffmpeg编译,ffplay播放RTSP流,音频格式为AAC-ELD

rtspServer已经ready, 音频格式为AAC-ELD,encoder 为libfdk-aac。 发现VLC和ffplay不能正常解码AAC-ELD。

FFmpeg可以支持3钟AAC-LC编码器(aac、libfaac、libfdk_aac)和1种HE-AAC编码器(libfdk_aac)。因为libfaac和libfdk_aac的许可协议和GPL协议不兼容,因此GPL协议不允许发布包含这种不兼容协议的二进制文件。这些编码器不是自由的软件,因此我们不能下载到包含他们的预编译的ffmpeg。但是我们可以自己编译包含它们的ffmpeg程序。

于是决定在linux系统下自己编译ffmpeg:

 刚好以前我下载过3.4.2,我就直接用这个版本了。

1,安装x11库文件,否则运行ffplay时会出现如下错误:

Could not initialize SDL library: No available video device。

sudo apt-get install libx11-dev


2,安装SDL

ffplay依赖于SDL, 需要先安装SDL库。我下载的是SDL2-2.0.5.

./configure, make, make install


3,安装libfdk-aac库

下载fdk-aac-0.1.5.tar.gz

tar xzvf fdk-aac-0.1.5.tar.gz

./configure; make;make install


4,进入ffmpeg源码目录

./configure  --enable-libfdk-aac --disable-x86asm --enable-ffplay --enable-sdl

make

sudo make install


5, 运行ffplay, 使用libfdk-aac decoder

ffplay -acodec libfdk_aac -i rtsp://xx.xx.xx.xx:8554/live

OK,终于听到声音了。



你可能感兴趣的:(多媒体--音频)