Provided by: manpages-zh_1.6.3.2-1_all
命令名
mpg123 - 播放 MPEG 1.0/2.0 Layer-1, -2, -3 音頻文件
語法
mpg123 [ -tscvqy01m24 ][ -b size ][ -k num ][ -n num ][ -f factor ][ -r rate ][ -g gain ][ -a dev ][ -o s | -o h | -o l ][ -d n ][ -h n ][ -p proxy ][ -@ file ] file ... | URL ... | -
描述
mpg123 從一個或多個 文件 或者 URL 讀取MPEG-1/2音頻比特流 (如果指定 `-' 選項, 則從標準輸入 讀取), 然後使用音頻設備進行播放(默認), 或將解碼結果送 到標準輸出上.
選項
mpg123 接收傳統的POSIX風格的單字母選項, 也接收GNU風格的長單詞選項. 這兩 種選項分別以 `-' 和 "--" 開頭. -t, --test 測試模式. 對音頻流進行解碼, 但不輸出. -s, --stdout 將解碼結果送到標準輸出上, 而不使用音頻設備進行播放. 如果 mpg123 不支持你的音頻硬件, 你就可以試試這一選項, 這時, mpg123 以本機 字節順序(host byte order)輸出16比特的立體 聲線性PCM(脈衝編碼調製) 音頻裸數據(沒有數據頭). -c, --check 對每一幀進行濾波器越界檢查, 如發生則報告之. -v, --verbose 播放時顯示更多信息, 比如顯示當前正在解碼的幀號. -q, --quiet 安靜模式. 不顯示診斷信息. -y, --resync 如果輸入文件發生錯誤, 則重新進行同步並繼續解碼. 另外, 對那些文件 頭損壞的MPEG文件, 通常 mpg123 會拒絕播放並顯示 ' Illegal header', 但如果指定本選項, mpg123 會試圖從損 壞的文件頭中恢復並進行播放. 小心: 損壞的MPEG文件在播放到損壞處時可能出現尖利刺耳的 噪聲, 如果 音量過大, 可能損壞揚聲器. -0, --single0; -1, --single1 只對0(左) 聲道或者1(右) 聲道進行解碼. 這兩個選項只對立體聲的MPEG 音頻流有效. -m, --singlemix 將兩個聲道混音. 此選項只對MPEG Layer-3的立體聲音頻流有效, 並可比 完全立體聲解碼節省 一些 CPU時間. -2, --2to1; -4, --4to1 將輸出流的採樣率將低至標準的1/2 (22kHz) 或者1/4 (11kHz). 使用這 兩個選項可以減少一 些CPU的負荷, 但是聲音質量會下降(至少使用11kHz 採樣率時會很難聽). -b size, --buffer size 用 size 指定輸出緩衝區的大小, 單位爲千字節. 使用此選項通常可以避 免由頻繁的系統操作 造成的 聲音輸出時斷時續的現象. size 的值小於 300時就沒什麼意義了, 建議至少 取1024(即使用1Mb的緩衝區, 可以緩衝 相當於6秒鐘的音頻數據). size 的默認值爲0, 即不 進行輸出緩衝. -k num, --skip num 跳過前 num 幀. 不指定此選項時, 默認從第1幀開始解碼. -n num, --frames num 只對前 num 幀進行解碼. 不指定此選項時, 默認對整個音頻流進行解碼. -f factor, --scale factor 改變縮放因子 factor 的值(默認值爲32768). -r rate, --rate rate 設置採樣率 rate (默認爲自動設置). 使用這一選項後, mpg123 會自動 將速率轉換成不依賴 於MPEG流速率的一個恆定比特率. 此選項應該和 --stereo 或 --mono 聯合起來使用. -g gain, --gain gain 設置音頻硬件輸出增益 gain (默認爲保持不變). -a dev, --audiodevice dev 指定音頻設備. 默認的音頻設備與系統配置有關(通常是 /dev/audio 或 /dev/dsp ), 如果系 統中有多個音頻設備而默認的又不是你想用的那個, 就可使用本選項. -o s, --speaker 將聲音導出到主板上的揚聲器上. -o h, --headphones 將聲音導出到耳機連接器上. -o l, --lineout 將聲音導出到Line-Out連接器上. -d n, --doublespeed n 每 n 幀播放一幀. 這會使MPEG流的播放速度提高爲正常速度的 n 倍, 從而可以產生特殊的聲 音效果. 此選項可以和 --halfspeed 選項組合使 用, 實現類似每4幀播放3幀(譯者注: 指定-d 4 -h 3)的效果. 如果使用 此選項, 不要指望聲音質量會很好. -h n, --halfspeed n 將每幀都播放 n 遍. 這會使MPEG流的播放速度降低爲正常速度的 1/n, 從而可以產生特殊的聲 音效果. 此選項可以和 --doublespeed 選項組合 使用, 實現類似每3幀播放2幀(譯者注: 指定 -h 2 -d 3)的效果. 如果使 用此選項, 不要指望聲音質量會很好. -p URL | none, --proxy URL | none 指定 proxy 作爲HTTP請求的代理. 指定的格式應是一個完整的URL (如"http://host.domain:port/"), 但是可以省略前綴"http://", 端口 號port(默認的端口 爲80)和末尾的'/'. 如果指定爲 none ,則不使用代 理, 直接向服務器請求文件. 更多細節請 看 "HTTP 支持" 小節. -u auth, --auth auth 如果通過HTTP下載文件時服務器要求提供認證信息, 則由 auth 指定, 其 格式爲 "用戶名:密 碼" (不包括引號). -@ file, --list file 從 file 指定的文件中讀取將要播放的MPEG音頻流所在的文件和(或)URL, 如果 命令行中還指 定了其它的文件和(或)URL, 也將其包含進播放清單. 如果指定 file 爲 `-'而非一個普通的 文件名, mpg123 將從標準輸入讀 取文件名和(或)URL, 或者讀取一個指向播放清單文件的URL. 注意: -@ 選項只能使用一次(如果多處指定, 則只有最後一個有效). -z, --shuffle 隨機播放. 按隨機的順序播放命令行和清單文件中指定的音頻文件. --stereo 強制立體聲輸出. --reopen 強制在播放完一個文件後重新打開音頻設備. --8bit 強制8比特輸出. -Z, --random 完全隨機播放. (譯者注: 與 --shuffle 選項的區別是, 指定本選項有可 能重複多次播放同一 文件)
操作數
mpg123 支持下面的操作數: file 指定輸入文件的路徑. 這些文件必須包含合法的MPEG-1/2音頻 Layer-1, Layer-2或Layer-3的 比特流. 如果指定爲'-', 將從標準輸入讀取MPEG數 據. 進一步, 如果以"http://"開頭, 則 認爲指定 了一個 URL (請看下一 節).
HTTP 支持
除了能從普通文件和標準輸入讀取MPEG音頻流, mpg123 還支持通過HTTP協 議從萬 維網(WWW)上獲取 由URL(統一資源定位符)指定的文件. 一個URL是一個以 "http://" 爲前綴的字符串, 當 mpg123 識別 到這個前綴, 它會嘗試開啓一個 到相應服務器的連接, 接着獲取相應的文件並進行解碼播放. 很多時候, 從WWW緩存, 或所謂的網絡代理比直接從服務器更容易獲取文件. 爲利 用這種便利, mpg123 會依次檢查 MP3_HTTP_PROXY, http_proxy和HTTP_PROXY, 這三個環境變量是否被設置, 並將第一個被 設置的變量的值作爲指定的代理. 如 果你需要自己指定另外的代理, 可以使用 -p 命令行選項 (請 看"選項"小節). 使用 -p none 選項將不使用任何代理而直接連接服務器, 即使前面所述的三個 變量 被設置. 值得注意的是, 爲了能從一個WWW服務器獲取並流暢地播放MPEG音頻文件, 必須有 足夠快的網絡連接. 例如, 爲了能播放速率爲128kbit/s的MPEG文件, 所需的 網絡帶寬至少應該是128kbit/s加上網絡協 議 本身的傳輸開銷. 如果網絡常發生 短時中斷, 可以試試用 -b 選項指定一個緩衝區. 如果你所在的網 絡根本無 法達到實時傳輸MPEG音頻文件所需的帶寬, 就只好使用 lynx(1) 之類的軟件先將 文件下載 到本地硬盤上再進行播放了. 如果服務器要求認證, 可以使用 -u auth 選項(請看"選項"小節)指定用戶名和密 碼.
中斷
任何時候按Ctrl-C鍵都能中斷 mpg123 的運行. 如果有多個文件在播放, Ctrl-C 會終止當前文件的播 放並 開始播放下一個文件, 這種情況下, 如果你想終止整 個程序的運行, 必須連按兩次Ctrl-C (在約 一秒鐘之內). 注意, 按了Ctrl-C之後聲音也許不會馬上消失, 這是因爲系統的音頻設備緩衝了 一部分數據. 這種延 遲隨系統不同而不同, 但通常都不超過1到2秒.
相關說明
lynx(1), sox(1), intro(1)
注意
MPEG音頻解碼, 特別是Layer-3的解碼, 需要CPU進行大量的運算. 爲能達到實時 解碼, 你的計算機至 少應該配備Pentium, Alpha, SuperSparc或性能相當的處 理器. 同時你可以使用 -singlemix 選項進 行單聲道解碼, 對Layer-3, 這多少 能減少一點CPU負荷. 此外你也可以考慮使用 -2 和 -4 選項. 如果這些方法都不奏效, 試試用 -s 選項將解碼結果送到標準輸出上並將其定向 到一個文件中, 然後 再用適當的工具播放這個文件. 你也許會用到 sox(1) 這個 工具, 它能將文件轉換成你的音頻播放器 所用的格式. 還有一點就是 mpg123 總是輸出16比特的立體聲數據(如果指定 -0或-1 選項中 的一個, 立體聲兩個聲 道的數據是相同的). 如果系統硬件要求其它格式, 比如8 比特的單聲道的數據, 同樣可以使用 sox(1) 進行轉化. 如果你的系統本身足夠快, 能夠進行實時解碼, 只是在系統負荷較重時(如定時任 務, 用戶遠程登錄或 啓動`大'程序等)出現停頓, 你應該用 -b 選項指定一個不小 於1000K字節的緩衝區.
BUGS
已知的BUG和侷限性: MPEG-2, Layer-1和-2未經 測試. 可能不能工作.(Layer-3應該能工作.) 不提供對自由格式的音頻流的支持. 對Layer-1的支持未經 嚴格測試. 未進行CRC錯誤校驗. 沒有對DEC Digital Unix, Ultrix 和 IBM AIX平臺上的音頻硬件提供支 持, 因此在這些平臺 上必須使用 -s 選項.
作者
主要作者: Michael Hipp <hippm@informatik.uni-tuebingen.de> 使用了下面的代碼或借鑑了其中的思想: MPEG Software Simulation Group (Base package) Philipp Knirsch <phil@mpik-tueb.mpg.de> (DCT36/manual unroll) Tobias Bading <bading@cs.tu-berlin.de> (subband synthesis) Jeff Tsay <ctsay@pasteur.eecs.berkeley.edu> (DCT36) Thomas Woerner (SGI Audio) Damien Clermonte <clermond@esiee.fr> (HP-UX audio fixes) Oliver Fromme <oliver.fromme@heim3.tu-clausthal.de> 網絡參考資料: http://www.sfs.nphil.uni-tuebingen.de/~hipp/mpg123.html http://www.heim3.tu-clausthal.de/~olli/mpg123/ (包含關於mpg123郵件組的信息) 在此獲取最新版本: http://ftp.tu-clausthal.de/pub/unix/audio/mpg123
[中文版維護人]
linuxipy <groove@ustc.edu>
[中文版最新更新]
2004/2/29
《中國linux論壇man手冊頁翻譯計劃》:
http://cmpp.linuxforum.net
跋
本頁面中文版由中文 man 手冊頁計劃提供。 中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh 21 Apr 1997 mpg123(1)