네트워크를 통해 여러 컴퓨터로 음악을 스트리밍하는 방법은 무엇입니까?


78

결과

한 방에서 다른 방으로 걸어 가서 같은 노래를 듣고 싶습니다. 모든 방에서 라디오를 듣고 있다면

나는 그 효과를 원하지만 내 음악을 듣고 싶다. 이것이 가능합니까?

기재

  • 우분투 노트북.
  • 맥 컴퓨터.

첫 번째 대안

답변:


48

예, 펄스 오디오를 사용 하면 쉽게 수행 할 수 있습니다. 네트워크를 통해 사운드 장치를 사용할 수 있도록 papref 를 설치하고 실행해야 paprefs 설치합니다.

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

이러한 설정을 통해 사운드 소스와 싱크를 네트워크를 통해 다른 펄스 오디오 서버에 이상적으로 게시 할 수 있습니다.

데스크톱 관리자없이 서버를 설정 한 경우 먼저 사운드 시스템을 설치해야합니다 ( 이 질문 참조 ). 그런 다음 네트워크 액세스 섹션 /etc/pulse/default.pa에서 다음 줄의 주석 처리를 제거 할 수 있습니다 .

load-module module-esound-protocol-tcp
load-module module-native-protocol-tcp
load-module module-zeroconf-publish

RTP 송신자를 사용하려면 다음 행의 주석을 해제하십시오. RTP 송신자 모듈 섹션 :

load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 description="RTP Multicast Sink"
load-module module-rtp-send source=rtp.monitor

pulseaudio 서버는 pulseaudio -D아직 실행되고 있지 않은 경우 데몬으로 시작해야합니다 . 사운드 품질 설정을 최적화하기 /etc/pulse/daemon.conf위해 개인의 요구에 맞출 수 있습니다.

네트워크에서 오디오를 스트리밍하는 다른 방법은 Icecast Server를 설정하는 것입니다 ( 이 질문 참조 ).


14
헤드리스 클라이언트 (예 : 주방 찬장에 스피커가있는 Pi)의 경우 구성 파일 및 / 또는 쉘 명령을 통해이를 완전히 설정하는 방법을 아는 것이 유용합니다.
Raphael

이 안내서는 Ubuntu CLI에서 따르기에 충분히 일반적입니다. wiki.archlinux.org/index.php/PulseAudio/…
goetzc

11

가장 좋은 방법은 Music Player Daemon (mpd)입니다.

https://secure.wikimedia.org/wikipedia/en/wiki/Music_Player_Daemon

클라이언트 서버 응용 프로그램입니다. 음악을 서버에 저장 한 다음 클라이언트와 연결하고 (많은 사람들이 한 번에 할 수 있음) 서버를 제어 할 수 있습니다.

이미 우분투에 있습니다. apt-get install mpd

또한 좋은 문서 : https://wiki.archlinux.org/index.php/Mpd

MPD는 음악을 스트리밍 할 수 있으므로 음악을 재생하기 위해 많은 클라이언트 (또는 원하는 경우 스피커)가있을 수 있습니다.

그러나 좋은 품질을 기대하지 마십시오. 스트리밍 전리품 소리가 나쁩니다 (mpd 또는 pulseaudio를 사용하더라도). 실제 스피커를 서버에 연결하고 랩톱을 사용하여 제어하는 ​​것이 훨씬 좋습니다.


2
집이 너무 커서 전선을 사용할 수 없기 때문에 소리를 스트리밍하고 싶습니다.
Alvar

당신은 스트리밍 품질에 대한 걱정을 해달라고 할 수는 늘 문제가 많은, 무선 연결을 감안할 때 충분히 강하다
라훌 프라 사드

스트리밍은 음질을 어떻게 손상 시킵니까? WiFi는 디지털 전송 매체입니다. MPD는 무손실 압축을 수행합니까? 오늘날의 WiFi 네트워크에는 이것이 필요하지 않다고 생각합니다.
nvd

와우, 그런 오래된 대답. 그 이후로 MPD를 사용하지 않았기 때문에 더 이상 기억조차하지 않습니다.
loxs

11

나는 평범하지 않은 일을 할 필요가 없었다. PulseAudio와 인텔의 이름 하드웨어가없는 트윈 넷북이 있습니다. 내가 어떻게 설정했는지는 이런 식으로 조금 갔다.

서버와 클라이언트 모두에서 paprefs를 실행하십시오. 서버에서 멀티 캐스트 설정을 사용하고 서버 비트를 확인했는지 확인하십시오. 그렇게 여기에 이미지 설명을 입력하십시오

그리고 멀티 캐스트 비트 여기에 이미지 설명을 입력하십시오

클라이언트에서 네트워크 지원 장치 찾기에 관한 비트를 활성화하고 여기에 이미지 설명을 입력하십시오 pavucontrol을 통해 출력 장치를 가상 네트워크 장치로 설정하십시오. 여기에 이미지 설명을 입력하십시오

비올라, 이제 마술이 필요해


1
RTP와는 아무런 관련이 없습니다.
kirelagin

이 훌륭한 튜토리얼에 감사드립니다. "packucontrol을 통해 출력 장치를 가상 네트워크 장치로 설정할 수 없음"을 제외하고 모든 상자를 확인했습니다. 알다시피, 이것은 스크린 샷에 "chares @ nano의 내부 오디오 아날로그 스테레오"가 쓰여진 비트를 통해 수행됩니다. 그러나 내 시스템에는 그러한 버튼이 전혀 없습니다. 내가 무엇을 잘못하고 있지?
user69748

2011 년 이후로이 지침을 확인하지 않았으므로 펄스 오디오 데몬 설정이 완전히 변경되었을 수 있습니다.
lazyPower

내가 지금 (재부팅 한 후) 가지고있는 것은 "pulseaudio"라는 별도의 채널로, 내 고객에게 라우팅되는 것 같습니다. 그러나 오디오가 흐르지 않습니다. 그리고 내 Rhythmbox 채널에는 여전히 "user @ client"에 대한 언급이 없습니다.
user69748

1

이 솔루션을 사용하면 원하는 곳 어디에서나 시스템 오디오를 스트리밍 할 수 있습니다.
여기서 핵심은 ALSA 루프백 기능입니다. 따라서 먼저 ALSA에서 루프백 장치를 활성화해야합니다.이 장치는 PulseAudio 볼륨 컨트롤에 입력 장치 (및 출력 장치)로 나타납니다.

sudo modprobe snd_aloop

그런 다음이 장치를 mpd 서버에 추가 할 수 있습니다.

mpc add alsa://hw:1,1

여기서 hw : 1,1은 다음 명령으로 루프백 입력 장치를 나열 할 수 있습니다. aplay -l

그런 다음 mpd에 대한 http 출력 플러그인 을 구성해야합니다 . 다음 예제는 다음과 같습니다./etc/mpd.conf

 audio_output {
    type            "httpd"
    name            "My HTTP Stream"
    encoder         "vorbis"          # optional, vorbis or lame
    port            "8000"
    bind_to_address "192.168.1.38"               # optional, IPv4 or IPv6
    quality         "5.0"                   # do not define if bitrate is d$
#   bitrate         "128"                   # do not define if quality is d$
    format          "44100:16:1"
    max_clients     "0"                     # optional 0=no limit
 }  

그게 다야. 볼륨 컨트롤 재생 탭에서 오디오 소스에 대한 루백 장치를 선택하십시오.
마지막으로 httpd URL 주소를 사용하여 대상 지점에서 VLC 또는 다른 스트림 렌더러를 http://192.168.1.38:8000
사용할 수 있습니다 . 이 답변은 여기 에서도 볼 수 있습니다


0

DLNA / UPnP로 이와 같은 것을 얻을 수 있는지 잘 모르겠습니다. 나 자신에게 익숙하지 않기 때문에 도움이되는 경우 여기에 링크를 던지십시오.

빠른 검색 결과 는 동기화 할 수 없다는 것을 제안 하지만 ...


2
DLNA는 재생을 동기화 할 수 없으므로 권장되지 않습니다.
Sparhawk

0

아직 좋은 해결책은 없습니다. 이 AVB는 하지만 802.11에 대한 지원은 시간 동기화로 제한됩니다.


-2

Android 전화로 스트리밍하려면 서버에서 Foobar2000을 사용 하고 클라이언트에서 BubbleUPnP (payware)를 사용할 수 있습니다 .

  1. 와인을 얻다
  2. 가져 오기 foobar_v1.2.5.exe
  3. $ wine foobar2000_v1.2.5.exe
  4. 다음, 다음, 다음 ... :)
  5. foo_upnp를 얻으 십시오
  6. (아마에있는 foobar2000을의 구성 요소 폴더에 추출 ~/.wine/drive_c/Program Files/)
  7. foobar2000을 시작하십시오
  8. 라이브러리 → 구성 → 재생 → 출력 → 장치로 이동하여 "널 출력"을 선택하십시오
  9. 있는지 확인은 ufw관련 트래픽을 차단하지
  10. BubbleUPnP에서 :
    1. 장치 → 라이브러리로 이동하여 foobar2000 서버를 선택하십시오
    2. "라이브러리"에서 "재생 스트림 캡처"를 선택하십시오.

이 방법은 Android에서 일시 중지하면 (서버가 여전히 전송 중이므로) 버퍼를 누적한다는 이점이 있습니다.

Ubuntu (와인 버전 1.5.28-0ubuntu1~ppa1) 및 Windows 에서 테스트되었습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.