ffmpeg常用转换命令,支持WAV转AMR

摘要:
并将下载的文件存放与/home/ffmpeg目录下,以root用户登录系统。b)ffmpeg在编译时候会优先查找amr解码器的动态链接库,如果没有找到,则查找amr解码器的静态库。在第一步中如果没有禁止amr生成动态链接库,则ffmpeg将采用amr的动态链接库进行编译,其缺点是,编译后的可执行文件ffmpeg将依赖于amr的动态链接库,如果系统的动态链接库搜索路径LD_LIBRARY_PATH不包含amr动态链接库所在路径,则ffmpeg将会报错,无法正常工作。

音频转换:

1.转换amr到mp3:

ffmpeg -i shenhuxi.amr amr2mp3.mp3

2.转换amr到wav:

ffmpeg -acodec libamr_nb -i shenhuxi.amr amr2wav.wav

3.转换mp3到wav:

ffmpeg -i DING.mp3 -f wav test.wav

4.转换wav到amr:

ffmpeg -i test.wav -acodec libamr_nb -ab 12.2k -ar 8000 -ac 1 wav2amr.amr
ffmpeg.exe -i PA003.wav -ar 8000 -ab 12.2k -ac 1 target.amr 此方法验证通过
文章来自http://blog.csdn.net/tylz04/article/details/9041739
测试程序下载:http://files.cnblogs.com/xiaofengfeng/WavConvertAmr.zip已测试过将WAV转AMR格式。
下载地址http://ftp.pconline.com.cn/d56bb83a0a66440d54ef5473f548e4b9/pub/download/201010/ffmpeg-20131021.zip

5.转换wav到mp3:

ffmpeg -i test.wav -f mp3 -acodec libmp3lame -y wav2mp3.mp3

视频转换:

1.转换wmv到mp4:

ffmpeg -i sample.wmv -vcodec libx264 -acodec aac out.mp4

2.抓取H264视频流:

ffmpeg -i sample.flv -vcodec copy -vbsf h264_mp4toannexb -an out.h264

2.1 vbsf为过滤方法,即将flv规定的H264组织方式转换回H264协议书规定的字节流格式 2.2 -an 禁掉源文件中的音频,因为出来的码流不需要音频 2.3 vcodec copy这个是必然的

3.将H264视频流转为mp4:

ffmpeg -i sample.h264 -f mp4 haha.mp4

4.接收rtsp并存为视频文件:

ffmpeg -rtsp_transport tcp -i rtsp://streaming1.osu.edu/media2/ufsap/ufsap.mov -vcodec copy -acodec copy -t 30 -f mp4 rtsp-out.mp4

4.1 -rtsp_transport tcp:指明传输方式是tcp方式(也可以是udp)

4.2 -t 30:指明我录制30秒

ffmpeg将音频或视频编码为AMR格式音频

Android编码的MP4音频格式可能为AMR,这时候用以下命令可以从MP4中直接提取AMR音频:

ffmpeg -i test.mp4 -c:a copy test.amr

将其他格式的音频或视频转成AMR的命令:

新写法:

ffmpeg -i test.mp4 -c:a libopencore_amrnb -ac 1 -ar 8000 -b:a 12.20k -y test.amr

旧写法:

ffmpeg -i test.mp4 -acodec libopencore_amrnb -ac 1 -ar 8000 -ab 12.20k -y test.amr

系统环境:Suse 64bit OS 前期准备: 1、 下载ffmpeg源代码:http://ffmpeg.org/download.html,这里选择版本为0.11.12、 下载OpenCORE AMR:http://sourceforge.net/projects/opencore-amr/,这里选择的版本为0.1.3。

并将下载的文件存放与/home/ffmpeg目录下,以root用户登录系统。

具体步骤:

1、 编译安装opencore-amr,这里需要注意的是在执行configure命令的时候要添加--enable-shared=no --enable-static=yes参数,其主要作用是禁止生产动态链接库、允许生产静态库。

chmod 755 opencore-amr-0.1.3.tar.gz

tar -xzvf opencore-amr-0.1.3.tar.gz

cd opencore-amr-0.1.3

./configure --enable-shared=no --enable-static=yes

make

make install

2、 编译安装ffmpeg,注意configure命令后面所要添加的参数,可以通过执行configure --help命令查看后面所允许带的参数

chomd 755 ffmpeg-0.11.1.tar.gz

tar -xzvf ffmepg-0.11.1.tar.gz

cd ffempg

./configure --enable-gpl --enable-version3 --enable-nonfree --disable-ffplay --disable-ffprobe --disable-ffserver --enable-libopencore-amrnb --enable-libopencore-amrwb --prefix=/home/ffmpeg/target

make

make install

以上命令成功执行后将会在/home/ffmpeg/target目录下的bin目录得到ffmpeg文件,该文件已经包含amr解码器

3、 测试:

chmod 755 ffmpeg

./ffmpeg -I PA003.wav -ar 8000 -ab 12.2k -ac 1 target.amr

4、 注意事项:

a) 以上方式都是通过静态库的形式编译,采用静态库的形式编译的好处在于:编译后的可执行文件ffmpeg可以不依赖于amr解码器,简单地说,可执行文件已经将amr解码器包含在内了。

b) ffmpeg在编译时候会优先查找amr解码器的动态链接库,如果没有找到,则查找amr解码器的静态库。在第一步中如果没有禁止amr生成动态链接库,则ffmpeg将采用amr的动态链接库进行编译,其缺点是,编译后的可执行文件ffmpeg将依赖于amr的动态链接库,如果系统的动态链接库搜索路径LD_LIBRARY_PATH不包含amr动态链接库所在路径,则ffmpeg将会报错,无法正常工作。

c) amr编译安装时不建议添加prefix=XXX参数(./configure)修改amr安装路径,这样ffmpeg在编译安装时将出现找不到amr解码器的情况。

免责声明:文章转载自《ffmpeg常用转换命令,支持WAV转AMR》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇个性化WinPE封装方法 ----最后实战“制作WinPE3.0图文教程”使用NPOI导出导入导出Excel下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MAC下编译FFMPEG

1、下载ffmpeg,我使用xcode自带的git下载。 或者直接下载压缩包: 2、下载gas-preprocessor脚本https://raw.github.com/mansr/gas-preprocessor/master/gas-preprocessor.pl 并且放到/usr/bin 中。 3、安装pkgconfig(遇到 pkg-config...

百度ai 基于node 语音识别 音频文件类型转换

百度ai 基于node 语音识别 音频文件类型转换 项目简介 源代码移步:https://github.com/xuess/ai-baidu-node 本项目主要功能为,本地音频语音识别和文件类型转换(利用fluent-ffmpeg) config.js 里面的应用Id,请替换成自己在百度应用里申请的。出于测试方便,我就不删除了。 1.工程依赖安装,如...

AAC的各种规格

Hi,又来写点儿小记录心得吧,这次是在准备AAC音频解码的规格中发现和总结出的一些问题,大概的情况在这里简要做一小记,为我们最后确立规格提供参考,当然我对AAC规格的了解还很稚嫩,有些表述不太确切的地方,还请大家指正: 一、规格(profile)问题: wiki上说到,AAC共有9种规格,以适应不同的场合的需要: l         MPEG-2 AAC...

如何用FFmpeg API采集摄像头视频和麦克风音频,并实现录制文件的功能转

之前一直用Directshow技术采集摄像头数据,但是觉得涉及的细节比较多,要开发者比较了解Directshow的框架知识,学习起来有一点点难度。最近发现很多人问怎么用FFmpeg采集摄像头图像,事实上FFmpeg很早就支持通过DShow获取采集设备(摄像头、麦克风)的数据了,只是网上提供的例子比较少。如果能用FFmpeg实现采集、编码和录制(或推流)...

FFmpeg视频处理

FFmpeg是一个用于音视频处理的自由软件,被广泛用于音视频开发。FFmpeg功能强大,本文主要介绍如何使用FFmpeg命令行工具进行简单的视频处理。 安装FFmpeg可以在官网下载各平台软件包或者静态编译版本,也可以使用包管理工具安装。 基本概念 获得音视频信息 使用ffmpeg进行视频处理 选项 - -y / -n - -codec(-c) -...

ffmpeg使用ss与t参数对视频进行剪辑

ffmpeg能够实现对视频进行剪辑操作,ss为指定视频剪切开头的起始时间,t制定视频的总长度,ss与t的单位均为:秒。 ffmpeg -ss 7200 -i 1080p.mp4 -c copy -t 900 1080psrc.mp4 -ss 指定视频剪切起始时间为2:00:00 -i 指定视频源文件 -c原始编解码数据必须被拷贝,即剪辑前后文件的编码方式保...