要達成這個目的可以使用 ffmpeg 或 MP4Box 來做到
ffmpeg
# -vn 是指 disable video 的意思, 表示不要輸出影片的部份 ffmpeg -i input.mp4 -ar 44100 -ac 2 -ab 128k -acodec libfaac -vn output.mp4
cf :
http://ubuntu.opensource.hk/forum/thread-74-1-1.html
http://bbs.gfan.com/mobile/android-1606262-1-1.html?extra=page%3D1
MP4Box
1. 用 mediainfo 先取出 Audio 的 ID 值
# 1.mp4 是欲分離的 video 檔 mediainfo --Inform='Audio;%ID%' 1.mp42. 取出聲音的部份 ; 這時會產生一個 aac 檔
# -raw 的 2 是由 上指令取出 vweb-11:/net/home0/_vlog/media # MP4Box -raw 2 1.mp4 Extracting MPEG-4 AAC # 會產生 1_track2.aac vweb-11:/net/home0/_vlog/media # ll total 1944 -rw-r--r-- 1 root root 944445 2012-08-16 10:36 1.mp4 -rw-r--r-- 1 root root 84452 2012-08-16 10:58 1_track2.aac3. 產生我們要的 mp4 聲音檔即完成
# audio.mp4 是最後我們要的, 只有聲音的 mp4 檔 vweb-11:/net/home0/_vlog/media # MP4Box -tmp . -add 1_track2.aac -new audio.mp4 AAC import - sample rate 44100 - MPEG-4 audio - 1 channel Converting to ISMA Audio-Video MP4 file... Saving audio.mp4: 0.500 secs Interleaving vweb-11:/net/home0/_vlog/media # ll total 2032 -rw-r--r-- 1 root root 944445 2012-08-16 10:36 1.mp4 -rw-r--r-- 1 root root 84452 2012-08-16 10:58 1_track2.aac -rw-r--r-- 1 root root 85094 2012-08-16 10:58 audio.mp4
cf :http://www.ptt.cc/man/AVEncode/DA3A/M.1259863707.A.055.html
結論
用 MP4Box 速度很快, 但可能要用到 mediainfo 比較麻煩 ;
而 ffmpeg 雖比 MP4Box 慢一點, 但也不差, 所以我應該會用 ffmpeg 來做這件事吧~
沒有留言:
張貼留言