Đồng bộ hóa máy nghe nhạc VLC trên hai máy


15

Có thể đồng bộ hóa phát lại VLC trên hai máy khác nhau không? Tôi muốn có hai PC ở các khu vực khác nhau trong nhà phát cùng một video - vì vậy mọi đề xuất khác sẽ giải quyết vấn đề này cũng được hoan nghênh!

Câu trả lời:


9

Tôi sử dụng đa hướng. Điều này sẽ gửi một luồng đến tất cả các máy thu đồng thời.

Mạng có phân khúc có dây và wifi.

Với phát đa hướng, luồng chỉ sử dụng một lần băng thông của nó trên mỗi phân đoạn

Điều đó cũng có nghĩa là tất cả các máy tính đều nhận được cùng một gói tin cùng một lúc, độ trễ lan truyền ít hơn thông qua các thiết bị chuyển mạch của tôi. Độ trễ lan truyền không đáng kể đối với video âm thanh và hình ảnh con người (30 khung hình / giây).

Điều duy nhất có thể xảy ra là các máy tính khác nhau hoạt động ở những nơi khác nhau trong bộ đệm mạng của chúng. Để giữ chúng càng gần càng tốt, tôi tắt bộ nhớ đệm cho đến khi hệ thống chậm nhất (máy tính xách tay 32 bit trên wifi) đôi khi bắt đầu bị cắt, sau đó cung cấp thêm một chút.

Lý do: một khi vlc bắt đầu ăn bộ đệm, phải mất một thời gian dài để quay lại phần đầu của bộ đệm, có vẻ như mã hóa không ưu tiên quay lại 'bộ đệm 0' nhưng vẫn thoải mái ở lại đó.

Tôi cũng sử dụng trên hai máy khách vlc của 'máy chủ': một máy khách tạo luồng và không hiển thị cục bộ. Cái còn lại là máy khách hiển thị nghe luồng như tất cả các hệ thống khác, với cùng cài đặt bộ đệm mạng.

Trong dòng lệnh:

máy khách tạo luồng kết nối với luồng Internet (cái này có bộ đệm lớn để nó không bị cắt và cung cấp luồng không đổi vào mạng phát đa hướng của tôi):

vlc -vvv http://yp.shoutcast.com/sbin/tunein-station.pls?id=154 --sout udp:239.0.0.1 --no-sout-display --sout-keep --ttl 4 (đó là trên một dòng)

Như bạn thấy, --no-sout-display được đưa ra: đầu ra luồng được tạo, nhưng không có đầu ra cục bộ. Tôi cũng làm như vậy, bất kể tôi phát các tệp / DVD cục bộ hay nội dung mạng.

Và hãy chắc chắn rằng bạn có --ttl được đặt thành> 1 nếu bạn có bộ định tuyến không dây ở đâu đó. Tôi luôn đặt nó thành 4 là không nhận được "bất ngờ". Tuy nhiên, nếu bạn có mạng đa bộ định tuyến và máy chủ lưu trữ trên một mạng không thể thấy phát đa hướng thì bạn có thể cần phải bật lên một hoặc hai (hoặc kiểm tra xem bộ định tuyến của bạn có cho phép phát đa hướng không, không phải tất cả các bộ định tuyến không dây đặt theo mặc định).

Trên mọi hệ thống, bao gồm cả hệ thống tạo luồng và có vlc không xuất ra đang chạy, tôi có vlc sau:

vlc udp://@239.0.0.1 --network-caching 60 --sout-keep

Điều này đặt bộ đệm mạng trong mạng của tôi và với hiệu suất của hệ thống chậm nhất là tối đa. Bộ nhớ cache có giá trị 0,06 giây.

Đối với âm thanh, điều này tương ứng với khoảng cách lan truyền đến khoảng 100 feet, có nghĩa là nếu bộ đệm được ăn tối đa thì hệ thống chậm phát ra âm thanh như thể nó sẽ cách xa 100ft.

Độ trễ mạng của tôi là 0,5mm hoặc tốt hơn (không phải ping, đó là chuyến đi khứ hồi có mức độ ưu tiên thấp và vài ms).

Ở nơi của tôi, nơi tôi không bao giờ nhìn thấy hoặc nghe thấy đồng thời hai hệ thống cách nhau> 100ft (Tôi không nổ ở tầng trên và tầng hầm, lợi thế của việc làm theo cách này là có cùng một nơi ở mọi nơi mà không làm nổ amp phòng khách).

Máy tính xách tay trong phòng ngủ: nếu nó bị cắt quá thường xuyên, tôi chỉ bật bộ nhớ cache lên cục bộ, tôi không nghe thấy nó ở tầng hầm hoặc trên lầu, và khi tôi ở đó, tôi có lẽ đã tắt những cái khác :-).

Rất quan trọng: bất cứ khi nào tôi cần chuyển mã, tôi có tất cả các máy thu trên cùng một giao thức và mã hóa, và tôi thực hiện chuyển mã trên vlc không xuất ra để tạo luồng.

Tôi không chuyển mã trên các máy khách multicast. Điều đó sẽ dẫn đến sự chậm trễ xấu vì mỗi hệ thống có hiệu suất khác nhau.

Đối với ví dụ âm thanh này hoàn toàn không có chuyển mã, tất cả đều có thể hiểu được các bảng mã có nguồn gốc shoutcast. (thực ra, tôi không cần phải chuyển mã cho vid bao giờ ... tất cả đều có bộ codec đầy đủ).

Không giúp đỡ à?

Đúng, có các ví dụ trên mạng để thực hiện vlc được đồng bộ hóa bằng cách sử dụng - máy chủ / máy khách đồng bộ hóa mạng và nhiều luồng unicast (chuỗi mục tiêu dài 10 dặm trên máy chủ :-D).

Tuy nhiên: phát trực tuyến unicast đến n máy khách trên một phân đoạn làm cho luồng xuất hiện n lần trên phân khúc đó và bạn càng đi lên phía trên máy chủ khởi tạo, càng nhiều phép nhân của cùng một luồng băng thông. Tôi sẽ không thể xem video 1080p của mình. Không dây của tôi hầu như không thể xử lý một trong số đó, không phải lúc nào cũng vậy (56Mb).

Ồ, bạn hỏi làm thế nào trong GUI:

trong cửa sổ phát trực tuyến, nhấp vào 'tùy chọn khác' và bỏ chọn "phát cục bộ" cho phiên bản vlc tạo luồng (có đầu vào là tệp cục bộ, danh sách phát hoặc luồng Internet). Để bộ đệm ở mặc định (bộ nhớ cache trị giá 1000ms). Nếu bất kỳ khách hàng nào khác không thể hiểu được codec của bạn thì hãy quyết định một trong tất cả các khách hàng hiểu và chuyển mã sang mã đó trên cùng hệ thống này.

Trên các tùy chọn của điểm đến mà bạn để mặc định 'hiển thị cục bộ' và thay đổi bộ đệm ẩn: chơi với cái này (bắt đầu từ 100 và tắt nó) cho đến khi hệ thống chậm nhất của bạn bị cắt, sau đó đặt tất cả các hệ thống nhanh hơn về cùng. Với các bộ đệm ngắn: khi một máy khách khởi động, sẽ mất khoảng 10 đến 15 giây cho đến khi nó 'nhận được nó'.

Khách hàng của tôi tăng 100% thời gian, bất cứ khi nào tôi ngừng phát trực tuyến, họ chỉ cần lắng nghe địa chỉ multicast.

Không có cổng nào được đưa ra: mặc định là 1234 ở mọi nơi, tôi chạy một máy chủ khởi tạo. Nếu bạn chạy nhiều hơn một, thì bạn cần cung cấp một số cổng như vậy: ... 239.0.0.1:65535. Số ví dụ của tôi: chọn bất kỳ địa chỉ multicast nào trong 239/8. Cổng: đã chọn bất kỳ trên 1024 (có, 1024, vì Microsoft cũng sử dụng 1024 trên MC).

Nếu không có ai nghe thì luồng hoàn toàn không hiển thị trên mạng, nó chỉ bắt đầu khi người nghe đầu tiên tham gia phiên phát đa hướng. Vì vậy, nếu bạn có mười định nghĩa và chỉ nghe một, thì bạn có một luồng ăn băng thông. Nếu bạn nghe các luồng khác nhau thì bạn sẽ nhận được n lần băng thông đã ăn cho n luồng.

Multicast: băng thông được sử dụng là giống nhau cho một hoặc 10000 máy khách trên mỗi luồng.

Sử dụng unicast: mỗi máy khách nhảy trên luồng của người gửi vào một thời điểm khác nhau, điều đó có nghĩa là độ trễ của bạn vẫn còn ngay cả khi bạn thắt chặt bộ nhớ đệm. Unicast và multicast hoạt động hoàn toàn khác nhau. Đó là lý do tại sao unicast có tính năng đồng bộ hóa.

Có một cách khác nếu bạn phát trực tuyến giống nhau để nói toàn bộ cửa hàng Target: sau đó bạn sẽ truyền phát unicast với đồng bộ hóa với các máy khách vlc vệ tinh và phục vụ những người nằm trong 'phạm vi âm thanh' từ đó. Trong các văn phòng tôi làm một hoặc hai mỗi tầng, vì vậy tất cả các tầng đều được đồng bộ hóa chặt chẽ bằng cách sử dụng unicast và đồng bộ hóa mạng. Trong sàn thường độ trễ lan truyền mạng ngắn hơn nhiều so với độ trễ âm thanh và âm thanh bị tắt để bạn không nghe thấy tất cả các loa mà chỉ có những loa gần bạn.

gửi email cho tôi tại sirhelpsalot @ gmail nếu bạn cần giúp đỡ, tôi cũng có thể đưa nó lên youtube.

:-)


3
Chào mừng bạn đến với SuperUser và cảm ơn bạn đã đóng góp! Bạn có thể cắt câu trả lời của bạn xuống một chút bằng cách loại bỏ bình luận không cần thiết? Ngay bây giờ nó là một bức tường văn bản thực sự và câu trả lời thực tế là khá khó để nắm bắt.
Indrek

1
Làm thế nào đáng tin cậy là truyền phát / phát đa hướng để đồng bộ hóa video? Nếu tôi có máy tính để bàn lõi hex chạy VLC và raspberry pi chạy omxplayer, tôi có đảm bảo gì với omxplayer đó không mất 3 giây nữa để mở luồng?
puk

4

VLC có thể truyền phát đầu ra qua mạng cũng như phát cục bộ, vì vậy tôi khuyên bạn nên có một máy truyền phát đầu ra qua mạng, nhưng đánh dấu vào tùy chọn "hiển thị cục bộ" trong tab "đích".

Dưới đây là một mô tả nhỏ về các cài đặt để sử dụng để phát trực tuyến.


1

VLC sử dụng để (hoặc không, tài liệu không bao giờ được cập nhật) có một mô-đun gọi là Netsync nhưng giống như hầu hết các mô-đun VLC bất thường khác, đó là lỗi, hầu như không được ghi chép và bỏ qua. Tôi chưa bao giờ làm cho nó hoạt động.


1

Như spc-stm đã nói, VLC cho phép bạn đồng bộ hóa phát trực tuyến. Kiểm tra điều này: http://www.hackedexistence.com/project-vlc.html


2
Chào mừng bạn đến với Siêu người dùng! Trong khi về mặt lý thuyết có thể trả lời câu hỏi, tốt hơn là nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo.
slhck
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.