Làm cách nào để truyền phát nhạc qua mạng đến nhiều máy tính?


78

Các kết quả

Tôi muốn có thể đi bộ từ phòng này sang phòng khác và nghe cùng một bài hát đang phát. Giống như bạn làm nếu bạn đang nghe radio trong tất cả các phòng.

Tôi muốn hiệu ứng đó nhưng tôi muốn nghe nhạc của riêng tôi, điều này có thể được thực hiện không?

Nguyên vật liệu

  • Máy tính xách tay Ubuntu.
  • Máy tính Mac.

Thay thế đầu tiên

Câu trả lời:


48

Có, với pulseaudio điều này có thể dễ dàng được thực hiện. Bạn sẽ cần cài đặt và chạy paprefs Cài đặt paprefs để thiết bị âm thanh của bạn có sẵn qua mạng.

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

Các cài đặt này cho phép cả nguồn âm thanh và âm chìm được xuất bản qua mạng, lý tưởng nhất là đến một máy chủ pulseaudio khác.

Trong trường hợp bạn có thiết lập máy chủ mà không có trình quản lý máy tính để bàn, bạn sẽ cần cài đặt hệ thống âm thanh trước (xem câu hỏi này ). Sau đó, bạn có thể chỉnh sửa /etc/pulse/default.pabỏ ghi chú những dòng này trong phần truy cập Mạng :

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

Nếu bạn muốn sử dụng người gửi RTP, hãy bỏ qua các dòng này, phần mô đun người gửi 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

Máy chủ pulseaudio cần được khởi động như một trình nền với pulseaudio -Dtrường hợp nó chưa chạy. Để tối ưu hóa cài đặt chất lượng âm thanh trong /etc/pulse/daemon.confcó thể được điều chỉnh theo nhu cầu cá nhân.

Một phương pháp khác để truyền phát âm thanh trong mạng của bạn sẽ là thiết lập Máy chủ Icecast (xem câu hỏi này ).


14
Trong trường hợp máy khách không đầu (giả sử, một Pi có loa trên tủ bếp của tôi) sẽ rất hữu ích khi biết cách thiết lập hoàn toàn thông qua các tệp cấu hình và / hoặc các lệnh shell.
Raphael

Hướng dẫn này đủ chung chung để tuân theo nó trên Ubuntu CLI. wiki.archlinux.org/index.php/PulseAudio/ từ
goetzc

11

Tùy chọn tốt nhất của bạn được gọi là Music Player Daemon (mpd).

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

Nó là một ứng dụng máy chủ. Bạn lưu trữ nhạc của mình trên máy chủ, sau đó kết nối với khách hàng của bạn (nhiều người có thể làm điều đó cùng một lúc) và điều khiển máy chủ.

Nó đã có trong Ubuntu, chỉ cần cài đặt apt-get mpd

Và cũng có một số tài liệu tốt: https://wiki.archlinux.org/index.php/Mpd

MPD có thể truyền phát nhạc, vì vậy bạn có thể có nhiều khách hàng (hoặc loa nếu bạn muốn gọi cho họ) để phát nhạc.

Nhưng không thực sự mong đợi bất kỳ chất lượng tốt. Truyền phát chiến lợi phẩm âm thanh không tốt (không có vấn đề nếu bạn sử dụng mpd hoặc pulseaudio). Đó là một ý tưởng tốt hơn nhiều để kết nối loa thực với máy chủ và chỉ sử dụng máy tính xách tay để điều khiển nó.


2
Chà, nhà tôi quá lớn để sử dụng dây, đó là lý do tại sao tôi muốn truyền phát âm thanh.
Alvar

Bạn có thể truyền phát, đừng lo lắng về chất lượng, điều đó không quan trọng lắm, vì kết nối không dây của bạn đủ mạnh
Rahul Prasad

Làm thế nào để phát trực tuyến làm hỏng chất lượng âm thanh? WiFi là một phương tiện truyền dẫn kỹ thuật số. MPD có nén không mất dữ liệu không? Tôi không nghĩ rằng điều đó là cần thiết cho các mạng WiFi ngày nay.
nvd

Wow, một câu trả lời cũ. Tôi thậm chí còn không nhớ nữa, vì tôi đã không sử dụng MPD kể từ khoảng thời gian đó.
ngày

11

Tôi không phải làm bất cứ điều gì khác thường. Tôi có hai netbook song song với PulseAudio và phần cứng không có tên từ intel. Làm thế nào tôi thiết lập nó đã đi một chút gì đó như thế này.

chạy paprefs trên cả máy chủ và máy khách của bạn. Trên máy chủ, đảm bảo bạn đã bật cài đặt phát đa hướng và kiểm tra các bit máy chủ. như vậy nhập mô tả hình ảnh ở đây

và bit multicast nhập mô tả hình ảnh ở đây

Trên máy khách, kích hoạt một chút về việc tìm kiếm các thiết bị hỗ trợ mạng nhập mô tả hình ảnh ở đây và đặt thiết bị đầu ra của bạn thành thiết bị mạng ảo thông qua pavucontrol nhập mô tả hình ảnh ở đây

viola bạn nên có một số phép thuật bây giờ


1
Ngoại trừ việc này không liên quan gì đến RTP.
kirelagin

Cám ơn vì bài hướng dẫn tuyệt vời này. Tôi đã kiểm tra tất cả các hộp, ngoại trừ việc tôi không thể "đặt thiết bị đầu ra của mình thành thiết bị mạng ảo thông qua pavucontrol". Theo tôi hiểu, điều này được thực hiện thông qua bit trong ảnh chụp màn hình của bạn có dòng chữ "Âm thanh trong tương tự âm thanh nổi trên charmes @ nano". Nhưng trên hệ thống của tôi, không có nút nào như vậy cả. Tôi đang làm gì sai?
dùng69748

Tôi đã không kiểm tra các hướng dẫn này từ năm 2011, vì vậy hoàn toàn có khả năng cài đặt trình nền âm thanh xung đã thay đổi.
lazyPower

Những gì tôi có bây giờ (sau khi khởi động lại) là một kênh riêng biệt được gọi là "pulseaudio" dường như được định tuyến đến máy khách của tôi. Tuy nhiên, không có âm thanh chảy qua nó. Và kênh Rhybeatbox của tôi vẫn không đề cập đến "user @ client".
dùng69748

1

Với giải pháp này, bạn có thể truyền phát âm thanh hệ thống của mình bất cứ nơi nào bạn muốn ..
chìa khóa ở đây là khả năng quay vòng ALSA. vì vậy trước tiên bạn cần kích hoạt thiết bị loopback trong ALSA, thiết bị này sẽ xuất hiện trong PulseAudio Volume Control dưới dạng thiết bị đầu vào (và cả thiết bị đầu ra).

sudo modprobe snd_aloop

thiết bị này sau đó có thể được thêm vào máy chủ mpd:

mpc add alsa://hw:1,1

Trong đó hw: 1,1 là thiết bị đầu vào loopback có thể được liệt kê bằng lệnh aplay -l

sau đó bạn cần cấu hình một plugin đầu ra http cho mpd. ví dụ sau đây sẽ giống như trong/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
 }  

chính là nó Chọn thiết bị nới lỏng cho nguồn âm thanh của bạn trong tab Phát lại điều khiển âm lượng.
Cuối cùng, bạn có thể sử dụng VLC hoặc bất kỳ trình kết xuất luồng nào khác tại điểm đích bằng địa chỉ url httpd: http://192.168.1.38:8000
Câu trả lời này cũng có sẵn ở đây


0

Tôi không chắc có thể đạt được điều gì đó như thế này với DLNA / UPnP hay không vì tôi không quen với nó, nhưng ném một số liên kết ở đây trong trường hợp nó giúp:

Mặc dù kết quả tìm kiếm nhanh sẽ cho thấy rằng không thể đồng bộ hóa ...


2
DLNA không được khuyến nghị, vì nó không thể đồng bộ hóa phát lại.
Sparhawk

0

Không có giải pháp tốt (chưa). Có AVB nhưng sự hỗ trợ của nó cho 802.11 bị giới hạn trong việc đồng bộ hóa thời gian.


-2

Nếu bạn muốn truyền phát đến điện thoại Android, bạn có thể sử dụng Foobar2000 trên máy chủ và BubbleUPnP (phần mềm thanh toán) trên máy khách.

  1. lấy rượu
  2. được foobar_v1.2.5.exe
  3. $ wine foobar2000_v1.2.5.exe
  4. tiếp theo, tiếp theo, tiếp theo ... :)
  5. nhận foo_upnp
  6. giải nén trong thư mục thành phần của foobar2000 (có lẽ là trong ~/.wine/drive_c/Program Files/)
  7. khởi chạy foobar2000
  8. đi tới Thư viện → Cấu hình → Phát lại → Đầu ra → Thiết bị và chọn "Đầu ra không"
  9. đảm bảo ufwkhông chặn lưu lượng liên quan
  10. trong BubbleUPnP:
    1. đi tới Thiết bị → Thư viện và chọn máy chủ foobar2000
    2. trong "Thư viện", chọn "Phát lại luồng phát lại"

Cách tiếp cận có lợi thế là nếu bạn tạm dừng trên Android, nó sẽ tích lũy bộ đệm (vì máy chủ vẫn đang gửi).

Đã thử nghiệm trên Ubuntu (phiên bản Wine 1.5.28-0ubuntu1~ppa1) và Windows.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.