How to enable ffmpeg in yocto image

  1. copy the following binary to the SD card:
    ./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/image/usr/bin/ffmpeg
    ./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/image/usr/lib/libavcodec.so.57
    ./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/image/usr/lib/libavdevice.so.57
    ./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/image/usr/lib/libavfilter.so.6
    ./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/image/usr/lib/libavformat.so.57
    ./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/image/usr/lib/libpostproc.so.54
    ./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/image/usr/lib/libswresample.so.2
    ./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/image/usr/lib/libswscale.so.4
    ./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/image/usr/lib/libavutil.so.55
    ./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/recipe-sysroot/usr/lib/libasound.so.2
    ./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/recipe-sysroot/usr/lib/libx264.so.152
    ./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/recipe-sysroot/usr/lib/libtheoraenc.so.1
    ./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/recipe-sysroot/usr/lib/libtheoradec.so.1
    ./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/recipe-sysroot/usr/lib/libogg.so.0

  2. insert the SD card to module

  3. mount the SD card
    mkdir -p /tmp/sdcard
    /bin/mount -t auto -o sync /dev/mmcblk0p1 “/tmp/sdcard”

  4. type the following in module
    mkdir /tmp/tmp_usr_lib;mkdir /tmp/tmp_usr_lib_wr;
    mount -t overlay overlay /usr/lib -o lowerdir=/usr/lib,upperdir=/tmp/tmp_usr_lib,workdir=/tmp/tmp_usr_lib_wr;
    chmod 777 /tmp/sdcard/ffmpeg

    ln -s /tmp/sdcard/libavcodec.so.57 /usr/lib/libavcodec.so.57
    ln -s /tmp/sdcard/libavdevice.so.57 /usr/lib/libavdevice.so.57
    ln -s /tmp/sdcard/libavfilter.so.6 /usr/lib/libavfilter.so.6
    ln -s /tmp/sdcard/libavformat.so.57 /usr/lib/libavformat.so.57
    ln -s /tmp/sdcard/libpostproc.so.54 /usr/lib/libpostproc.so.54
    ln -s /tmp/sdcard/libswresample.so.2 /usr/lib/libswresample.so.2
    ln -s /tmp/sdcard/libswscale.so.4 /usr/lib/libswscale.so.4
    ln -s /tmp/sdcard/libavutil.so.55 /usr/lib/libavutil.so.55
    ln -s /tmp/sdcard/libasound.so.2 /usr/lib/libasound.so.2
    ln -s /tmp/sdcard/libx264.so.152 /usr/lib/libx264.so.152
    ln -s /tmp/sdcard/libtheoraenc.so.1 /usr/lib/libtheoraenc.so.1
    ln -s /tmp/sdcard/libtheoradec.so.1 /usr/lib/libtheoradec.so.1
    ln -s /tmp/sdcard/libogg.so.0 /usr/lib/libogg.so.0

  5. try “/tmp/sdcard/ffmpeg”

how to copy the following binary to the SD card?

./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/image/usr/bin/ffmpeg
./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/image/usr/lib/libavcodec.so.57
./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/image/usr/lib/libavdevice.so.57
./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/image/usr/lib/libavfilter.so.6
./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/image/usr/lib/libavformat.so.57
./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/image/usr/lib/libpostproc.so.54
./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/image/usr/lib/libswresample.so.2
./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/image/usr/lib/libswscale.so.4
./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/image/usr/lib/libavutil.so.55
./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/recipe-sysroot/usr/lib/libasound.so.2
./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/recipe-sysroot/usr/lib/libx264.so.152
./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/recipe-sysroot/usr/lib/libtheoraenc.so.1
./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/recipe-sysroot/usr/lib/libtheoradec.so.1
./build_bin/tmp/work/armv7a-neon-poky-linux-gnueabi/ffmpeg/3.4.2-r0/recipe-sysroot/usr/lib/libogg.so.0

you can copy those file to your Windows PC and then “drag and drop” to your SD card.