博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FFmpeg学习—android 利用ffmpeg 集成libfdk-aac 录制aac 音频文件
阅读量:4184 次
发布时间:2019-05-26

本文共 2346 字,大约阅读时间需要 7 分钟。

ffmpeg 自带aac 编码器但是 不支持  AV_SAMPLE_FMT_S16 的采样,所以本文采用libfdk-aac 进行aac的编码,其中libfdk-aac编译步凑参考:,ffmpeg 编译步凑参考:,将libfdk-aac 集成到ffmpeg 的编译文件如下:

#!/bin/bashNDK="/home/wh/android-ndk-r12b"SYSROOT=$NDK/platforms/android-9/arch-arm/TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64function build_one{./configure --prefix=$PREFIX \		--disable-shared \		--enable-static \		--disable-debug \                --disable-doc \                --disable-ffplay \                --disable-ffprobe \                --disable-ffserver \                --disable-avdevice \                --disable-doc \                --disable-symver \                --disable-encoders  \                --disable-muxers \                --disable-demuxers \                --disable-parsers  \                --disable-bsfs \                --disable-protocols \                --disable-indevs \                --disable-outdevs \                --disable-filters \                --disable-decoders \		--enable-small \                --enable-asm \		--enable-nonfree \                --enable-neon \		--enable-gpl \		--enable-encoder=libfdk_aac \                --enable-decoder=libfdk_aac \                --enable-libfdk-aac \		--enable-muxer=adts \		--disable-encoder=libfaac \		--enable-protocol=file \		--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \		--target-os=android \		--arch=arm \                --disable-libfaac \		--enable-cross-compile \		--sysroot=$SYSROOT \		--extra-cflags="-Os -fpic $ADDI_CFLAGS -mfpu=neon" \		--extra-ldflags="$ADDI_LDFLAGS" \                $ADDITIONAL_CONFIGURE_FLAGmake install}CPU=armPREFIX=$(pwd)/android/$CPUADDI_CFLAGS="-marm -I/home/wh/FFmpeg-n3.1.3/fdkacc/include/  -DANDROID"ADDI_LDFLAGS="-L/home/wh/FFmpeg-n3.1.3/fdkacc/lib/"CPU=armv5teOPTIMIZE_CFLAGS="-marm -march=$CPU"PREFIX=./android/$CPUADDITIONAL_CONFIGURE_FLAG="--disable-armv6 --disable-armv6t2 --disable-vfp --disable-neon"build_one#arm v7nCPU=armv7-aOPTIMIZE_CFLAGS="-marm -march=$CPU"PREFIX=./android/$CPUADDITIONAL_CONFIGURE_FLAG=--enable-neonbuild_one

将上述内容保存为以 .sh文件格式的文件放到ffmpeg 跟目录下  在终端执行  上述文件,将进行编译。

其中有几点说明如下:

--enable-encoder=libfdk_aac \  启用libfdk_aac编码器
--enable-decoder=libfdk_aac \  启用libfdk_aac解码器
--enable-libfdk-aac \ 注册libfdk-aac 解码器,不加这个是不会注册的,最终还是用的ffmpeg 默认的aac解码器
--enable-muxer=adts \           使用adts 容器格式,使用了这个才能创建aac文件格式数据


源码地址    

转载地址:http://knzoi.baihongyu.com/

你可能感兴趣的文章
IEEE802标准
查看>>
OSI模型简单描述
查看>>
如何将 Office 应用程序配置为在交互式用户帐户下运行
查看>>
TCP,IP详解,卷一:协议学习笔记之第三章IP:网际协议
查看>>
Linux命令之chmod详解
查看>>
Linux 安装 Elasticsearch运行及问题解决
查看>>
Linux入门看着一篇就文章就够了
查看>>
微服务发展历程
查看>>
业务基础环境搭建及api网关
查看>>
Dubbo启动检查、负载均衡、多协议支持
查看>>
Dubbo的异步调用
查看>>
Dubbo特性结果缓存、并发与连接控制
查看>>
dubbo服务分组、限流措施以及服务熔断降级
查看>>
Dubbo特性之本地存根、本地伪装和隐式参数传递
查看>>
Oracle恢复某个时间之前的数据
查看>>
Spring Cloud Alibaba 教程 | 安装 Nacos(一)
查看>>
Mysql生成连续的日期统计,没有结果的补充为0
查看>>
Spring Cloud Alibaba 教程 | 将服务注册到 Nacos(二)
查看>>
Spring Cloud Alibaba 教程 | Nacos 配置中心(三)
查看>>
Spring Cloud Alibaba 教程 | Nacos 集成 Feign(四)
查看>>