FFMPEG 音頻轉換命令
阿新 • • 發佈:2018-01-24
鏈接庫 play xxx ext bit 目錄 方法 net line
音頻轉換: 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 1target.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.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.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.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解碼器的情況。
轉自:http://blog.csdn.net/szfhy/article/details/50441162
FFMPEG 音頻轉換命令