我将ffmpeg配置为将其编译为Android gcc(以及其他类似内容):
./configure --disable-filters --enable-filter=atrim,trim,eq
这是预览:
Enabled filters:
aformat anull atrim format null trim
显然,eq
过滤器丢失了,并且在其中放置了null
启用的过滤器。正如预期的那样,可执行二进制文件中也缺少eq
过滤器,如果我们尝试使用eq
过滤器,它将返回:
No such filter: 'eq', Error reinitializing filters!, Failed to inject frame into filter network:
Invalid argument, Error while processing the decoded data for stream #0:0, Conversion failed!
完整配置:
--prefix=/path/to/x86
--enable-static --disable-shared
--enable-small
--enable-cross-compile
--target-os=linux
--arch=x86
--sysroot=/path/to/sysroot
--cross-prefix=/path/to/i686-linux-android-
--enable-pic
--disable-ffplay
--disable-ffprobe
--disable-ffserver
--disable-doc
--disable-filters
--enable-filter=atrim,trim,eq
--disable-asm
--disable-debug
--extra-cflags=-I/path/to/usr/include -O3 -Wno-deprecated-declarations -fpie -pie -Wl,-z,relro,-z,now -march=i686 -m32 -mtune=intel -mssse3 -mfpmath=sse
--extra-ldflags=-L/path/to/usr/lib -fpie -pie
答案 0 :(得分:0)
eq
过滤器要求在GPL许可下编译FFmpeg,因此请添加--enable-gpl
。