【问题标题】:How to compile ffmpeg in yocto to get a working binary如何在 yocto 中编译 ffmpeg 以获得可用的二进制文件
【发布时间】:2020-12-26 23:21:15
【问题描述】:

在我们的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 操作,我遇到了同样的错误。

还有什么需要开启吗?

【问题讨论】:

    标签: ffmpeg yocto


    【解决方案1】:

    编辑 ffmpeg_%.bbappend 文件

    --启用-ffmpeg

    并编辑 local.conf 文件

    IMAGE_INSTALL_append += "ffmpeg ffmpeg-staticdev"

    并使用 bitbake 编译整个图像。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-20
      • 2020-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多