Tôi đang thiết lập truyền phát video.
Trong mạng cục bộ, có hai thiết bị truyền phát video qua phát đa hướng UDP. Một là máy tính thông thường có Linux (phát trực tuyến tới 239.220.221.10, cổng 9200), thứ hai là bộ truyền phát DVB-S đặc biệt (phát trực tuyến đến 239.220.220.32, cổng 9200). Có một số hộp set-top IPTV trong mạng, có thể phát các luồng từ một trong hai nguồn. Ngoài ra còn có một số thiết bị chuyển mạch của Cisco để lọc phát đa hướng, nhưng tôi không thể kiểm tra cấu hình của chúng.
Trên các máy tính khác nhau (chạy Ubuntu 12.04) tôi muốn chụp luồng, tốt nhất là sử dụng VLC hoặc FFMPEG. Từ bộ truyền phát máy tính (239.220.221.10), nó hoạt động, nhưng từ bộ truyền phát đặc biệt (239.220.220.32) tôi không nhận được luồng nào.
Những gì tôi đã cố gắng
Tôi đã cố gắng thu hẹp vấn đề và cố gắng thu thập các datagram UDP thô bằng socat và tcpdump. Nếu tôi chạy lệnh sau, tôi sẽ nhận được video hợp lệ trong tệp video.dump:
> socat UDP4-RECVFROM:9200,ip-add-membership=239.220.221.10:0.0.0.0 - > video.dump
Khi tôi đồng thời chạy tcpdump, tôi thấy các datagram đến:
> sudo tcpdump -i eth1
18:00:39.059824 IP 10.1.2.202.41852 > 239.220.221.10.9200: UDP, length 1316
18:00:39.060789 IP 10.1.2.202.41852 > 239.220.221.10.9200: UDP, length 1316
...
Khi tôi cố chạy các lệnh tương tự cho bộ truyền phát đặc biệt (chỉ cần thay đổi địa chỉ thành viên IP cho socat thành 239.220.220.32), tcpdump hiển thị các datagram đến từ 239.220.220.32, nhưng tệp video.dump trống.
Điều gì có thể là lý do mà socat
không thấy các datagram rõ ràng đang đến?
Cập nhật ngày 4 tháng 3 năm 2014:
Tôi chỉ phát hiện ra rằng có các dải IP khác nhau trong mạng:
Computer streamer: 10.1.2.202 / 255.0.0.0
"Special" streamer: 192.168.85.5 / 255.255.255.0
Computer on which I am trying to grab stream: 10.1.2.203 / 255.0.0.0
Khi tôi thay đổi địa chỉ IP cuối cùng thành 192.168,85.x / 255.255.255.0, tôi có thể bắt các luồng từ bộ truyền phát "Đặc biệt", nhưng không phải từ bộ truyền phát máy tính.
Vì vậy, câu hỏi thay đổi thành: có thể đặt socat, VLC hoặc FFMPEG để chấp nhận các luồng phát đa hướng có địa chỉ nguồn nằm ngoài phạm vi của giao diện Ethernet không?
socat
tham gia nhóm 239.220.220.10 . Đây có phải là vấn đề không?