FFmpeg 只要 mpegts 的 library 瘦身 精簡 cross-compile arm

https://github.com/FFmpeg/FFmpeg

使用最新版本 tag n7.1

 

需求: 縮小size 跑在資源緊湊的 SoC 上。static lib 減少 size,只有 recoder APP 需要使用。

錄影需求: TS錄影檔,格式 mpegts ,

影像 H264 NAL 為 SoC 硬體 encoder 過的 H264 buffer,不需編譯 H264 編碼

聲音為 AAC 已編碼過的 buffer,使用其他較小的 Lib

 

設定:

./configure \
–disable-everything \
–disable-programs \
–disable-runtime-cpudetect \
–disable-logging \
–disable-gpl \
–disable-symver \
–disable-doc \
–disable-htmlpages \
–disable-manpages \
–disable-podpages \
–disable-txtpages \
–disable-all \
–enable-muxer=mpegts \
–enable-protocol=file \
–enable-avformat \
–enable-avcodec \
–enable-avutil \
–disable-avfilter \
–disable-swscale \
–disable-swresample \
–disable-postproc \
–disable-avdevice \
–disable-network \
–disable-bzlib \
–disable-iconv \
–disable-lzma \
–disable-zlib \
–disable-ffmpeg \
–disable-ffplay \
–disable-doc \
–disable-debug \
–enable-small \
–enable-optimizations \
–disable-shared \
–enable-static \
–cross-prefix=arm-linux-gnueabihf- \
–arch=arm \
–target-os=linux \
–enable-cross-compile \
–prefix=/home/ffmpeg

編譯:

make clean
make -j16
make install

 

出來的 Lib 大小:

291K  libavcodec.a
243K  libavformat.a
558K  libavutil.a

即可使用這些 lib 實作錄影成 ts.

lib link 到 APP bin 實作 camera recoder 優化完,執行檔約 400 KB

未經允許不得轉載:GoMCU » FFmpeg 只要 mpegts 的 library 瘦身 精簡 cross-compile arm