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