kiến thức Hướng dẫn cài UDPXY trên Proxmox (Linux Debian) với mạng FPT - convert UDP thành HTTP để xem IPTV qua wifi không lag

Mình từ hôm cài thấy thỉnh thoảng tivi xem không được nên đang làm như này thấy ổn định (hỏi con gpt), không biết các bác có cách nào đơn giản hơn không.

1. Tạo 1 script có tên là restart_udpxy.sh:

Bash:
pid=$(ps aux | grep '[u]dpxy -p 6000' | awk '{print $2}')
if [ -n "$pid" ]; then
    echo "Stopping udpxy with PID $pid"
    kill "$pid"
    sleep 2  # Đợi một chút để đảm bảo chương trình đã dừng
fi

# Khởi động lại udpxy và lưu PID của tiến trình mới
echo "Starting udpxy -p 6000"
udpxy -p 6000 &

# Kiểm tra nếu udpxy đã khởi động thành công
if [ $? -eq 0 ]; then
    echo "udpxy started successfully."
else
    echo "Failed to start udpxy."
fi

2. Lập lịch cho nó chạy mỗi giờ 1 lần

Bash:
crontab -e

#Nhập đoạn sau

0 * * * * ~/udpxy/restart_udpxy.sh

#Save và out
Nên xem log (verbose) của udpxy xem vấn đề dừng là gì, script trên cứ định kỳ sẽ kill process rồi bật lại, thực sự ko phải giải pháp hay.
Nếu dừng là do hết slot thì thêm giới hạn kết nối là được.

Sau đó chỉ cần thêm trực tiếp lệnh udpxy vào crontab như #1 thôi.

Nếu tỷ mỉ muốn đảm bảo chương trình luôn chạy tốt, quản lí các vấn đề phát sinh thì dùng systemd, nhưng thấy cồng kềnh ko cần thiết.
 
Nên xem log (verbose) của udpxy xem vấn đề dừng là gì, script trên cứ định kỳ sẽ kill process rồi bật lại, thực sự ko phải giải pháp hay.
Nếu dừng là do hết slot thì thêm giới hạn kết nối là được.

Sau đó chỉ cần thêm trực tiếp lệnh udpxy vào crontab như #1 thôi.

Nếu tỷ mỉ muốn đảm bảo chương trình luôn chạy tốt, quản lí các vấn đề phát sinh thì dùng systemd, nhưng thấy cồng kềnh ko cần thiết.
E đng bị một vấn đề nhỏ rất khó hiểu như này, trong hệ thống mạng nhà e có 1 máy tính để chế độ wake on lan, mỗi lần tắt máy tính đi thì các luồng udp 8.5Mb đều giật lag, phải bật máy tính đó lên thì lại ko sao, hoặc nếu tắt máy tính đó đi và rút dây lan con máy tính đó ra, thì các luồng udp 8.5Mb lại chayh phà phà, rất khó hiểu
 
E đng bị một vấn đề nhỏ rất khó hiểu như này, trong hệ thống mạng nhà e có 1 máy tính để chế độ wake on lan, mỗi lần tắt máy tính đi thì các luồng udp 8.5Mb đều giật lag, phải bật máy tính đó lên thì lại ko sao, hoặc nếu tắt máy tính đó đi và rút dây lan con máy tính đó ra, thì các luồng udp 8.5Mb lại chayh phà phà, rất khó hiểu
Có thể máy tính đó gửi gói tin UDP 7, 8 liên tục hoặc có lỗi gì đó ở card mạng, hoặc nó bị nhiễm virus và chiếm quá nhiều băng thông, thử gỡ và cài lại driver card mạng, thử chỉnh bios, hoặc gỡ wake on lan trước xem sao.
Torch hoặc dùng các tool khác phân tích lưu lượng mạng xem máy đó làm gì.
Xem log của router xem có xung đột IP, gateway, DNS không
Xem log của UDPXY mỗi khi máy đó kết nối / ngắt xem có gì khác không.
 
E đng bị một vấn đề nhỏ rất khó hiểu như này, trong hệ thống mạng nhà e có 1 máy tính để chế độ wake on lan, mỗi lần tắt máy tính đi thì các luồng udp 8.5Mb đều giật lag, phải bật máy tính đó lên thì lại ko sao, hoặc nếu tắt máy tính đó đi và rút dây lan con máy tính đó ra, thì các luồng udp 8.5Mb lại chayh phà phà, rất khó hiểu

Bác kiểm tra con adapter mạng trên cái máy tính đó có thiết lập chọn giảm tốc độ khi ở chế độ chờ WOL không:

1723104409237.png


Cái này tùy loại/hãng mà nó có thể có tên khác hoặc không có để mà chỉnh. Như adapter kia của em nó để mặc định hạ tốc độ xuống 10 Mbps. Mục đích là để tiết kiệm điện lúc standby. Bác thử Not Speed Down (hoặc tương đương) nếu có thể. Nếu không có thì bác tìm có thiết lập Flow Control chỉnh được không thì chỉnh về Disabled.

Như em quan sát thì các stream 8.5Mbps của FPT nó tùy kênh mà có khi 12 hoặc 16 Mbps. Rất có khả năng switch trong mạng của bác không có IGMP Snooping hoặc không bật cái đó lên (nếu không có switch mà cắm thẳng router, thì router của bác chính là switch trong trường hợp này và cũng cần check xem có bật IGMP Snooping không).

Khi không có IGMP Snooping thì 1 thiết bị nhận luồng multicast cũng làm cho dữ liệu multicast đó được bắn ra tất cả các cổng của switch cùng một lúc. Giả sử cái adapter của bác nó hạ tốc độ xuống 10 Mbps (và vì chờ WOL nên đối với con switch, adapter của bác không khác gì như lúc đang on-link bình thường, chỉ có là link chậm đi mà thôi), và bác xem stream 16 Mbps ở thiết bị khác, thì switch của bác cũng cố gửi 16 Mbps đó xuống cái cổng ra máy tính của bác. Nếu flow control có bật (hoặc để auto negotiation và nó negotiate ra thành bật) thì con adapter của bác sẽ gửi packet về cho switch, bảo "làm ơn chậm lại", điều này dẫn đến việc luồng multicast ở tất cả các cổng khác đều bị hãm lại bác ạ.

Vậy bác thử các giải pháp sau:

  • Tắt Flow Control trên adapter của máy tính có WOL
  • Chỉnh Adapter để nó không hạ tốc độ cổng xuống lúc standby chờ WOL (nếu có setting này)
  • Tắt Flow Control trên switch nếu có thể
  • Bật IGMP Snooping trên switch nếu có thể

(nếu cắm trực tiếp router không dùng switch thì 2 mục cuối áp dụng với router).
 
Bác kiểm tra con adapter mạng trên cái máy tính đó có thiết lập chọn giảm tốc độ khi ở chế độ chờ WOL không:

View attachment 2619147

Cái này tùy loại/hãng mà nó có thể có tên khác hoặc không có để mà chỉnh. Như adapter kia của em nó để mặc định hạ tốc độ xuống 10 Mbps. Mục đích là để tiết kiệm điện lúc standby. Bác thử Not Speed Down (hoặc tương đương) nếu có thể. Nếu không có thì bác tìm có thiết lập Flow Control chỉnh được không thì chỉnh về Disabled.

Như em quan sát thì các stream 8.5Mbps của FPT nó tùy kênh mà có khi 12 hoặc 16 Mbps. Rất có khả năng switch trong mạng của bác không có IGMP Snooping hoặc không bật cái đó lên (nếu không có switch mà cắm thẳng router, thì router của bác chính là switch trong trường hợp này và cũng cần check xem có bật IGMP Snooping không).

Khi không có IGMP Snooping thì 1 thiết bị nhận luồng multicast cũng làm cho dữ liệu multicast đó được bắn ra tất cả các cổng của switch cùng một lúc. Giả sử cái adapter của bác nó hạ tốc độ xuống 10 Mbps (và vì chờ WOL nên đối với con switch, adapter của bác không khác gì như lúc đang on-link bình thường, chỉ có là link chậm đi mà thôi), và bác xem stream 16 Mbps ở thiết bị khác, thì switch của bác cũng cố gửi 16 Mbps đó xuống cái cổng ra máy tính của bác. Nếu flow control có bật (hoặc để auto negotiation và nó negotiate ra thành bật) thì con adapter của bác sẽ gửi packet về cho switch, bảo "làm ơn chậm lại", điều này dẫn đến việc luồng multicast ở tất cả các cổng khác đều bị hãm lại bác ạ.

Vậy bác thử các giải pháp sau:

  • Tắt Flow Control trên adapter của máy tính có WOL
  • Chỉnh Adapter để nó không hạ tốc độ cổng xuống lúc standby chờ WOL (nếu có setting này)
  • Tắt Flow Control trên switch nếu có thể
  • Bật IGMP Snooping trên switch nếu có thể

(nếu cắm trực tiếp router không dùng switch thì 2 mục cuối áp dụng với router).
đúng là con switch cuiả e ko có tính năng gì cả vì chỉ là switch bình thường, e thử chỉnh adapter con máy tính lại như bác nói thì giờ đúng là nó oke luôn rồi, thank bác nhiều nha, ban đầu ko biết do đâu cứ cài đi cài lại, reset cả mik, sau mới để ý tới mới biết do con máy tính cứ tắt đi là dính,
 
Bác kiểm tra con adapter mạng trên cái máy tính đó có thiết lập chọn giảm tốc độ khi ở chế độ chờ WOL không:

Để ý thấy kiến thức của bác khá quá + thêm nhiệt tình tư vấn mọi người nữa. Không biết bác có đang công tác giảng dạy hay nghiên cứu ở đâu không :)
 
1723138308152.png

bị ntn thì loại trừ từ đâu mấy bác nhỉ, mình dùng mikrotik , dùng conventer tạm của fpt mã hbg1000r
 
View attachment 2620015
bị ntn thì loại trừ từ đâu mấy bác nhỉ, mình dùng mikrotik , dùng conventer tạm của fpt mã hbg1000r

Bác thử mở mấy kênh ghi 4Mbps xem có bị không ạ. thí dụ udp://@225.1.4.1:30120. Nếu không bị thì có khả năng mạng WiFi của bác nó không có khả năng duy trì dòng packet ở tốc độ ổn định liên tục với bitrate 8 Mbps. Nếu chưa dùng cái UDPXY (của topic này) thì bác thử chuyển sang xem sao ạ. Lúc đó từ client (dùng WiFi) tới nguồn (UDPXY) sẽ là kết nối TCP.

Với nếu dùng Windows bác thử dùng MPC-BE MPC-BE - Free download and install on Windows | Microsoft Store (https://www.microsoft.com/store/productId/9PD88QB3BGKN?ocid=pdpshare) thay vì VLC xem có khác gì không ạ.
 
Bác thử mở mấy kênh ghi 4Mbps xem có bị không ạ. thí dụ udp://@225.1.4.1:30120. Nếu không bị thì có khả năng mạng WiFi của bác nó không có khả năng duy trì dòng packet ở tốc độ ổn định liên tục với bitrate 8 Mbps. Nếu chưa dùng cái UDPXY (của topic này) thì bác thử chuyển sang xem sao ạ. Lúc đó từ client (dùng WiFi) tới nguồn (UDPXY) sẽ là kết nối TCP.

Với nếu dùng Windows bác thử dùng MPC-BE MPC-BE - Free download and install on Windows | Microsoft Store (https://www.microsoft.com/store/productId/9PD88QB3BGKN?ocid=pdpshare) thay vì VLC xem có khác gì không ạ.
Mình thử lôi con newifid3 up pandava test thì chạy iptv wifi mượt, chắc mấy con xiaomi rom gốc k hỗ trợ rồi
Giờ phải kiếm cách làm như #1 mới ổn định được

via theNEXTvoz for iPhone
 
Mình thử lôi con newifid3 up pandava test thì chạy iptv wifi mượt, chắc mấy con xiaomi rom gốc k hỗ trợ rồi
Giờ phải kiếm cách làm như #1 mới ổn định được

via theNEXTvoz for iPhone
nếu dùng router mikrotik có thể tạo container (cũng là 1 dạng máy ảo tối giản) ngay trong router, cài UDPXY vào đó, không cần treo thêm máy phụ
 
nếu dùng router mikrotik có thể tạo container (cũng là 1 dạng máy ảo tối giản) ngay trong router, cài UDPXY vào đó, không cần treo thêm máy phụ
ngon vậy bác, mình dùng 5009 thì khi tạo trong router vs tvbox thì bên nào ổn hơn bác nhỉ, vs router có bị yếu đi nhiều k bác

via theNEXTvoz for iPhone
 
Cho mình xin hướng dẫn mikotik cài container chạy udpxy
Ko có nhu cầu nên chưa làm thử, nhưng theo logic thông thường thì mình sẽ đi tìm các thứ sau:
Mikrotik nào có container.
Tạo bridge cho container
Cài docker lên mikrotik.
Cài udpxy lên docker.
Tự chạy khi bật router.
 
ngon vậy bác, mình dùng 5009 thì khi tạo trong router vs tvbox thì bên nào ổn hơn bác nhỉ, vs router có bị yếu đi nhiều k bác

via theNEXTvoz for iPhone

Chạy trên RB5009 thoải mái bác ạ, tốn mấy MB RAM thôi, CPU idle thì không tốn gì cả, lúc chạy cũng chỉ dưới 1%. Em chạy trong container trên cả RB5009 lẫn hAP ac² (con này có mỗi 128MB RAM) không vấn đề gì. Em lấy remote image từ sbzr/udpxy:latest

 
Cho mình xin hướng dẫn mikotik cài container chạy udpxy
Mua cái sata to usb hay nvme to usb.

Cắm ổ này vô Mik.

Rồi chạy container từ ổ cứng qua usb.
Nhiều container nó read write liên tục. Chạy trên nand là dễ ra đi con emmc lắm
 
Back
Top