Friday, May 8, 2015

Xem IPTV với Router Openwrt sử dụng TVHEADEND

Mục đích:
- IPTV từ nhà cung cấp sử dụng giao thức udp nên chỉ xem thông qua Settopbox, hoặc VLC, chất lượng kém khi xem qua wifi. Các chương trinh udpxy và tvheadend sẽ convert luồn udp sang giao thức http, xem mượt mà hơn, quan trọng nhất là thưởng thức IPTV trên nhiều thiết bị (Android, IOS, KODI…).
- Mình đã hướng dẫn udpxy chạy trên router cài firmware Openwrt. Tìm hiểu loanh quanh tìm ra một tool nhiều tính năng hơn thay thế udpxy là tvheadend.

1. Yêu cầu cài đặt
- Router đã cài đặt firmware OpenWrt. tham khảo cách cài đặt tại: Hướng dẫn cài Openwrt và udpxy chạy trên router cài firmware Openwrt để config Openwrt có tín hiệu IPTV. Bài viết này mình dựa trên firmware Openwrt.
- Dung lượng soft tvheadend lớn nên chỉ dành cho Router có bộ nhớ FLASH >= 8MB hoặc Router có cổng USB để hỗ trợ mở rộng bộ nhớ trên USB. Các bạn có thể tham khảo bộ nhớ trong của Router mình đang dùng tại đây Supported_Devices.
2. Tiến hành cài đặt
Cài đặt tvheadend 4.0.9 thông qua SSH:
opkg update
opkg install tvheadend
 
Trên Web truy cập thử: http://x.x.x.x:9981. trong đó x.x.x.x là địa chỉ IP của Router, 9981 là cổng truy cập của TVheadend. vào sẽ thấy giao diện của TVheadend
Bạn sẽ thấy Welcome screen, các bạn thiết lập ngôn ngữ, tạo user rồi Save&Next. Xong khởi động lại Router

Cài đặt tvheadend 4.1.x trở lên (tải tvheadend 4.x):
Tải về file tvheadend 4.x phù hợp cho Router và phiên bản Openwrt bạn đang dùng (đầy đủ cho ar71xx và ramips )
Dùng WinSCP copy file tvheadend 4.x vừa tải về vào folder /tmp của router, chạy Putty kết nối SSH, chạy lệnh:
opkg update
opkg install /tmp/tvheadend_4.xxxxxxx.ipk
Trên Web truy cập thử: http://x.x.x.x:9981. làm như ở trên.  
Xong khởi động lại Router. Tham khảo thêm: Config IPTV dành Tvheadend 4.1 trở lên 

3. Tùy chỉnh cài đặt.
 
Các bạn vào Configution ---> DVB Inputs --->Network --->Add, chọn IPTV Network

Đặt tên list kênh của bạn tương tự như hình, rồi nhấn Create
 Chuyển qua tab Muxes, click Add, chọn list vừa tạo, add thông tin của từng kênh theo list IPTV nhà mạng của bạn tương tự như hình:
 
Phần Interface: chính là tên của interface có tín hiệu IPTV (xem trong phần Network/Interface của Router Openwrt)
Xong nhấn Create và test thử bằng cách nhấn nút Play, xem bằng VLC được là ổn
Để thêm các kênh khác lặp lại bước vừa rồi, mỗi kênh add một dòng, nhiều kênh nhưng copy/paste nhanh lắm.
 Qua thẻ Channels, nhấn Map all services , để tạo list kênh từ list Services vừa Scan
- Vậy là Xong
4. Config VLC để xem IPTV qua TVheadend
Trên PC, truy cập http://x.x.x.x:9981/playlist/channels. Trong đó x.x.x.x là địa chỉ IP của Router, 9981 là cổng truy cập của TVheadend, một file plist sẽ được tải về, mở bằng VLC là xong.
- Trên IOS và Android, tải App TvhClient và VLC để xem
5. Để xem trên các thiết bị thông qua DLNA server như TV cho chức năng DLNA, PS3... thì các bạn save cái plist ở VLC ở trên rồi cài thêm soft xupnpd cho router để xem nhé.
6. Để xem trên KODI, dùng addon Tvheadend client, tham khảo tại bài Cấu hình Xem IPTV trên Openelec chạy XBMC của mình.
7. Để xem trên iOS và Android sử dụng app TVHClient và VLC
 
BONUS: CÀI ĐẶT LỊCH PHÁT SÓNG (EPG) CHO TVHEADEND
Khi cài xong lịch phát sóng, qua KODI các bạn sẽ thấy như sau: qua lịch phát sóng các bạn có thể, đặt lịch ghi lại chương trình dễ dàng thông qua WebUI của tvheadend hoặc trực tiếp trên KODI (nguồn EPG update hằng ngày)
 
 
 
Tải file tv_grab_file (File tự động tải lịch phát sóng Vietnam) về máy, dùng WinScp kết nối Router, copy vào /usr/bin/ , dùng Putty kết nối SSH vào Router, sửa Permission cho file tv_grab_file và cài thêm wget để chạy file đó
# Gõ lệnh
opkg update; opkg install wget
chmod 777 /usr/bin/tv_grab_file
#chạy thử
/usr/bin/tv_grab_file
#thấy tải 1oạt là OK
 
- Tìm đến thẻ EPG Grabber, Enable cái Internal XMLTV, các cái khác ko dùng tắt hết, Save lại
- Phần Cron Mutil-line: chọn như hình (mình chọn 5 tiếng cập nhật EPG 1 lần), Save lại, rồi nhấn Re-run Internal EPG, để tải EPG
- Qua thẻ Channel, mỗi kênh các bạn tích chọn EPG tương ứng rồi Save lại như hình là xong, bật KODI, test lại
 
 
Để Config ICON TV: Sau khi config xong EPG
Phần Picon, tắt như hình
[IMG]
Phần Channels, chọn tất cả các kênh rồi click RESET Icon, khởi động lại Libreelec thì TVHEADEND sẽ tự động get link icon từ EPG Grabber cho từng kênh
[IMG]
Muốn ghi lại chương trình TV: dùng cho Router hỗ trợ USB, rồi thiết lập đường dẫn đến USB tương tự hình nhé:
 

Chúc thành công!