顯示具有 PulseAudio 標籤的文章。 顯示所有文章
顯示具有 PulseAudio 標籤的文章。 顯示所有文章

2015年8月7日 星期五

解決「因 avahi 未安裝,致 PulseAudio 不能連線」問題

最近想將工作機升級到 Fedora 22,不過暫時因為不支援 PDC 介面的 BIOS RAID 而未能順利升級。之前在這台電腦安裝 Fedora 21 時,是先安裝「GNOME 桌面」再安裝「MATE 桌面」,既然升級不成,就重新安裝一次 Fedora 21,不過這次只安裝「MATE 桌面」,安裝過程就參考〝(修訂)「安裝只有『MATE 桌面』(無 GNOME 3) 的 Fedora 21」〞的步驟。
  安裝後,照例將「遠端電腦」的音效利用 PulseAudio 送到「本地電腦」,參考之前有關 PulseAudio 安裝、設定的幾篇發文也不能成功。覺得問題可能不在 PulseAudio 本身的安裝、設定,就從使用 PulseAudio 需要開啟的幾個「通訊埠」(即:4713/TCP、16001/TCP、5353/UDP)查起,
[root@Celeron-D ~]# netstat -tulnp
Active Internet connections (only servers)
ProtoRecv-QSend-QLocal AddressForeign AddressStatePID/Program name
  . . . . .
tcp000.0.0.0:160010.0.0.0:*LISTEN2643/pulseaudio
  . . . . .
tcp000.0.0.0:47130.0.0.0:*LISTEN2643/pulseaudio
  . . . . .
上例中,只列出 IPv4 的埠號,可以發現 5353/UDP 並沒有出現。查一下另一台電腦,

2014年3月15日 星期六

PulseAudio 跨越『不同子網路』的連線設定

在深入研究 PulseAudio 這個『網路聲音伺服』系統,愈覺得它的功能強大,難怪許多『開放原始碼』作業系統都選擇它作為聲音次系統。之前幾篇發文:
都鎖定同一個子網域中兩台電腦的連線,一個『受音端(伺服端)』廣播所提供的 PulseAudio 服務訊息,另一個『音源端(用戶端)』電腦則將音訊經網路送到『受音端』播放。
  最近在試著將不同子網路的兩台電腦建立連線,想知道 PulseAudio 是否仍能夠補償線路的延遲。使用的測試網路架構如下:
  • 兩部電腦 PC_A 及 PC_B 分別位於 A、B 兩個子網路。
  • 子網路 B 是透過分享器接上子網路 A,且分享器無特別設定。
  • PC_A 無法連線 PC_B,而 PC_B 則可以連線 PC_A。
在以上情況下,PC_A 與 PC_B 分別設定為 PulseAudio 之『受音端』或『音源端』,雙向皆無法正常透過前面發文的步驟建立連線。當然,聲音的傳送也不能成功,幾經測試終於找到建立 PulseAudio 連線的方法,而且兩個方向的傳輸都可建立。步驟說明如下:

2014年1月4日 星期六

解決「PulseAudio 在 Fedora 的『多認證』切換」問題

在測試安裝好 Fedora 20 的 ASUS M2400 時,想說:可以將『遠端主機』的桌面帶到筆電上。這樣一來,即使筆電效能不佳,也可以藉其操作『遠端主機』的桌面。當然,在 Linux 作業系統下,VNC 應是最方便的選擇。
  可是套件中的 VNC 並不能轉送聲音,既然,兩邊都是 Fedora,那麼 PulseAudio 就是首選了。不過,平常是在另一台桌機上操作『遠端主機』的桌面,PulseAudio 的音訊轉送有加上『授權認證』,避免被別人收到或收到別人誤送的聲音。若要每次變換操作的電腦時,就要將認證的設定重做一次的有些麻煩。查了網路,並沒有類似的做法,大概別人都沒這個需求吧!
  經過一些嘗試,找到一個簡單的做法,步驟如下:

一、在轉送的兩端間,分別做『授權認證』的設定

由於認證的 cookie 是在 PulseAudio 啟動時產生的,所以要做『授權認證』切換的『授音端』電腦都設定好認證,確保所產生的 cookie 是正確、可用的。相關操作,請參考之前的發文:

2013年8月21日 星期三

解決「PulseAudio 在 Fedora 19 的授權轉送」問題

升級到 Fedora 19 後,當然也使用 PulseAudio 在不同的電腦間傳送聲音,參考之前的發文
測試後發現之前發文『限制 PulseAudio 的「非授權」聲音轉送』的操作步驟需要修改,這次的改變是 cookie 這個檔案的名稱存放目錄,整理如下:
作業系統版本存放目錄檔案名稱
Fedora 18 以前~/.pulse-cookie
Fedora 19~/.config/pulsecookie
上表中的『~/』是指使用者的『家目錄』,通常是在『/home』之下。
  其它步驟都可適用,請參考上列的發文,不在此贅述。只要依上表的說明修改,不論「伺服端(受音端)」或「客戶端(音源端)」的作業系統,都可以互相轉送聲音。

:若是「伺服端(受音端)」的作業系統升級,『cookie』這個認證檔案要記得全部更新。

已測試版本:

  • Fedora: (19 → 14)

參考資料:


2012年9月6日 星期四

限制 PulseAudio 的「非授權」聲音轉送

前文 "利用 PulseAudio 將聲音轉送到另一台電腦" 說明設定電腦聲耳在電腦間轉送的步驟,但是,不需經認證的程序就可以轉送聲音。若這兩台電腦不是自己專用的,任意轉送音效可是會嚇到別人,也可能會嚇到自己。

PulseAudio 這組套件,提供幾種簡單的認證程序,可避免未經允許的聲音轉送。在 Fedora 中的相關設定說明如下:

一、設定認證的相關模組、設定檔

PulseAudio 中與設定認證有相關的模組,有這四個:
module-esound-protocol-unix
module-native-protocol-unix
module-esound-protocol-tcp
module-native-protocol-tcp
後兩個的設定過程比較簡單,所以待會的設定步驟以這兩個模組為主。

設定認證的檔案有兩個:
/etc/pulse/default.pa :系統層級的設定檔,通常安裝 PulseAudio 時,就已設定妥當。維持預設內容、不需修改。
~/.pulse/default.pa :使用者級的設定檔,要額外設定模組時,再修改。否則維持原狀。(某些系統預設無此檔案)
認證密鑰檔有兩個,
~/.esd_auth :供 module-esound-protocol-{unix, tcp} 連線認證用
~/.pulse-cookie :供 module-native-protocol-{unix, tcp} 連線認證用

2012年8月27日 星期一

利用 PulseAudio 將聲音轉送到另一台電腦

PulseAudio 為目前許多 Linux 系統採用為預設音效系統,「使用者」平常的使用、操作多未直接接觸到它。所以,大部分的使用者都不清楚它的能耐。
    其實它能做的事情很多,例如:將聲音從一部電腦送到另一部電腦,必要時,將其混音後再播出。或是將兩部電腦的音效卡結合,使成為更多聲道的音效系統(兩個單聲道組成雙聲道,兩個雙聲道組成環場音效)。
    接下來將說明這些步驟:如何在兩台 Fedora 系統的電腦間,建立連線、傳送聲音。