Man page - mpg123(1)
Manual
mpg123
命 令 名語 法
描 述
選 項
運 算 元
HTTP 支 援
中 斷
相 關 說 明
注 意
BUGS
作 者
[中 文 版 維 護 人 ]
[中 文 版 最 新 更 新 ]
《 中 國 linux論 壇 man手 冊 頁 翻 譯 計 劃 》 :
跋
命 令 名
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