FFmpeg学习—android 利用ffmpeg 集成libfdk-aac 录制aac 音频文件
来源:互联网 发布:移动硬盘格式化后数据恢复 编辑:程序博客网 时间:2024/06/04 18:58
ffmpeg 自带aac 编码器但是 不支持 AV_SAMPLE_FMT_S16 的采样,所以本文采用libfdk-aac 进行aac的编码,其中libfdk-aac编译步凑参考:http://blog.csdn.net/xiaibiancheng/article/details/69676965,ffmpeg 编译步凑参考:http://blog.csdn.net/xiaibiancheng/article/details/69445097,将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文件格式数据
源码地址 https://github.com/XIAIBIANCHENG/AacRecord
1 0
- FFmpeg学习—android 利用ffmpeg 集成libfdk-aac 录制aac 音频文件
- FFmpeg学习—android 利用ffmpeg 集成libfdk-aac 录制aac 音频文件
- iOS ffmpeg + libfdk-aac
- ios ffmpeg(libfdk-aac) aac encode
- FFmpeg学习—android 利用ffmpeg 录制ogg格式音频文件
- iOS编译libx264+libfdk-aac+FFmpeg
- FFmpeg学习—android 编译 ffmpeg 集成fdk-aac、x264 精简解码库
- FFmpeg学习—Android 使用ffmpeg 集成x264和fdk-aac 库
- ffmpeg aac
- ubuntu 14.10下安装带有libfdk-aac的ffmpeg
- 在Android下编译ffmpeg+x264+libfdk-aac的常见问题和解决方法
- 编译Android下可用的FFmpeg(包含libx264与libfdk-aac)
- 编译Android下可用的全平台FFmpeg(包含libx264与libfdk-aac)
- FFmpeg学习—android 编译 FDK-AAC 库
- Mac osx ffmpeg aac
- ffmpeg编码aac过程
- mingw 编译aac ffmpeg
- 用ffmpeg编码aac
- [C++杂谈]——C++指针
- B
- Creating object for path '/org/freedesktop/NetworkManager/ActiveConnection/0' failed in libnm-glib.
- redisCommand接口的用法--利用hiredis库获取MGET命令的结果的坑!
- 拓扑排序(Topological Sorting)
- FFmpeg学习—android 利用ffmpeg 集成libfdk-aac 录制aac 音频文件
- 动态规划----背包问题
- Caffe学习:绘制loss和accuracy曲线(使用caffe工具包)
- LVM的工作原理和优缺点
- Android 在桌面显示对话框
- 线性表的顺序存储和链式存储
- HDU5492-Find a path
- Cortex-M的M0,M+,M3,M4,M7几种内核的简单区别
- mac上忘记mysql密码完美解决方案