ffmpeg常用转换命令,支持WAV转AMR
音頻轉換:
1.轉換amr到mp3:
ffmpeg -i shenhuxi.amr amr2mp3.mp32.轉換amr到wav:
ffmpeg -acodec libamr_nb -i shenhuxi.amr amr2wav.wav3.轉換mp3到wav:
ffmpeg -i DING.mp3 -f wav test.wav4.轉換wav到amr:
ffmpeg -i test.wav -acodec libamr_nb -ab 12.2k -ar 8000 -ac 1 wav2amr.amrffmpeg.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.mp42.抓取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.mp44.接收rtsp并存為視頻文件:
ffmpeg -rtsp_transport tcp -i rtsp://streaming1.osu.edu/media2/ufsap/ufsap.mov -vcodec copy -acodec copy -t 30 -f mp4 rtsp-out.mp44.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.1 2、 ?下載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解碼器的情況。
轉載于:https://www.cnblogs.com/xiaofengfeng/p/3573025.html
總結
以上是生活随笔為你收集整理的ffmpeg常用转换命令,支持WAV转AMR的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows下启动各服务命令
- 下一篇: xsl-mode属性用法