交叉编译ffmpeg2.4.14 SDL1.2.15 alsa-1.1.4.1 播放音频

首先编译依赖库alsa和SDL。

1 ALSA: alsa-1.1.4.1

./configure --host=arm-none-linux-gnueabi --prefix=/usr/local/alsa
make
make install

2 SDL1.2.15


./configure --prefix=/usr/local/sdl1.2 --host=arm-none-linux-gnueabi --build=i386 --enable-shared --disable-video-aalib --enable-video-dummy --enable-video-x11   --disable-video-directfb --disable-video-nanox --enable-video-qtopia --disable-video-ggi --enable-video-svga --enable-video-dga --disable-arts --disable-esd --disable-nasm --disable-joystick --disable-input-tslib --enable-alsa --enable-alsa-shared --disable-pulseaudio --with-alsa-prefix=/usr/local/alsa/lib --with-alsa-inc-prefix=/usr/local/alsa/include

make
make install

然后编译ffmpeg2.4.14

第一步:

./configure --cross-prefix=arm-none-linux-gnueabi- --enable-cross-compile --target-os=linux --cc=arm-none-linux-gnueabi-gcc --arch=arm --prefix=/usr/local/ffmpeg2.4 --enable-shared --enable-static --enable-gpl --enable-nonfree --enable-ffmpeg --enable-ffprobe --enable-ffplay --enable-ffserver --enable-swscale --disable-yasm --extra-cflags=-I/usr/local/sdl1.2/include/SDL --extra-ldflags=-L/usr/local/sdl1.2/lib --extra-libs=-lSDL

扫描二维码关注公众号,回复: 5703308 查看本文章

第二步:
修改config.mak,否则不会生成ffplay。

vi config.mak

将 SDL 和 FFPLAY 配置前面的!去掉,修改后的配置项如下:

CONFIG_FFPLAY=yes
CONFIG_SDL2=yes
CONFIG_SDL2_OUTDEV=yes

保存,退出。然后

第三步:

make
make install

将可执行文件和依赖库部署到arm板上。执行

./ffplay -nodisp -i 1.mp3

注:

较新的ffmpeg4.1+SDL2.0.9编译后部署到arm板上,运行时报错:

SDL_OpenAudio (2 channels, 44100 Hz): No such audio device
SDL_OpenAudio (1 channels, 44100 Hz): No such audio device
No more combinations to try, audio open failed

不知道什么原因,未解决。

猜你喜欢

转载自blog.csdn.net/shzwfq/article/details/86692918