如何在yocto中编译ffmpeg以获取有效的二进制文件

时间:2020-09-08 14:36:26

标签: ffmpeg yocto

在我们的yocto项目中,SDK具有默认的“ poky / meta / recipes-multimedia / ffmpeg / ffmpeg_3.3.3.bb” bb文件。这是我们的bbappend文件 meta-qti-bsp / recipes-multimedia / ffmpeg / ffmpeg _%。bbappend

    EXTRA_OEMAKE = ""

FILES_${PN} += "/lib/lib*.so.*" FILES_${PN} += "/lib/pkgconfig/*" FILES_${PN}-dev += "/usr/share/*" FILES_${PN}-dev += "/lib/lib*.so"

PACKAGECONFIG = "avdevice avfilter avcodec avformat swresample swscale postproc bzlib gpl theora"

# Support multilib compilation for libav PROVIDES += "${MLPREFIX}libav"

EXTRA_CFLAGS_append += " -fPIC" EXTRA_CFLAGS_append += " ${@ bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '-mfloat-abi=hard', '', d)}" EXTRA_CFLAGS_append += " ${@ bb.utils.contains('TUNE_FEATURES', 'neon', '-mfpu=neon', '', d)}" EXTRA_CFLAGS_append += " ${@ bb.utils.contains('TUNE_FEATURES', 'armv7a', '-march=armv7-a', '', d)}" EXTRA_CFLAGS_append += " ${@ bb.utils.contains('TUNE_FEATURES', 'cortexa8', '-mtune=cortex-a8', '', d)}"

EXTRA_OECONF_append += " \
    --target-os=linux --sysroot=${STAGING_DIR_TARGET} --arch=${TARGET_ARCH} --disable-mmx \
    --enable-shared --disable-doc --disable-htmlpages --disable-manpages --disable-podpages \
    --disable-txtpages --enable-small --disable-debug --disable-ffserver --disable-ffplay \
    --extra-cflags="${EXTRA_CFLAGS}" --disable-network --disable-zlib \
    --enable-fft --libdir=${base_libdir} --shlibdir=${base_libdir} \
    --enable-muxer=mov --enable-muxer=mp4 --enable-encoders --enable-zlib --enable-encoder=png \
    --prefix=${base_libdir} --incdir=${includedir} \ "

do_install() {
    oe_runmake 'DESTDIR=${D}' install
    # Info dir listing isn't interesting at this point so remove it if it exists.
    if [ -e "${D}${infodir}/dir" ]; then
    rm -f ${D}${infodir}/dir
    fi }  NORMAL

我可以得到ffmpeg bin。我将其推入设备(vr360芯片组:qcs605)。 但是当我尝试调用任何ffmpeg命令时

ffmpeg -ss 00:00:00 -i "input.mp4"  -t 00:01:00 "out.mp4"

我遇到此错误

[NULL @ 0xaf61a380]无法找到适合的输出格式 'out.mp4'out.mp4:无效的参数

对于与视频/图像处理相关的所有ffmpeg操作,我都会遇到相同的错误。

还有别的吗,我需要启用吗?

1 个答案:

答案 0 :(得分:0)

使用

编辑ffmpeg _%。bbappend文件

-enable-ffmpeg

并使用

编辑local.conf文件

IMAGE_INSTALL_append + =“ ffmpeg ffmpeg-staticdev”

并使用bitbake编译整个图像。