ads

Thứ Sáu, 8 tháng 5, 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 14.07 (barrier breaker).
- Dung lượng soft tvheadend lớn hơn 2Mb 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 trên Openwrt thông qua Web Interface:
(đây là bản TVH ver 3.4, dành cho Openwrt v12.09 và v14.07)
- Tùy theo các bạn dùng dịch vụ nhà cung cấp nào, các bạn tham khảo udpxy chạy trên router cài firmware Openwrt để config Router.
- Truy cập địa chỉ Router của bạn, thường là 192.168.1.1
- Vào thẻ System/Software. Chọn thẻ "Available packages" gõ tvheadend vào ô "Find package" ra kết quả như hình 
 
 - Click Install để cài đặt tvheadend, (nhớ đảm bảo Free space > 2Mb để đủ bộ nhớ cài đặt, phiên bản này là 3.4 có dung lượng gần 2Mb), tool này thay thế udpxy nên nếu không dùng các bạn xóa udpxy luôn ở phần Installed Package
- Đợi một lát đến khi cài đặt thành công.
 
Dùng Putty login SSH vào Router (username và pass như của Web Interface). Gõ lệnh:
Code:
/etc/init.d/tvheadend enable
killall tvheadend
mkdir /etc/tvheadend
chmod 777 -R /etc/tvheadend
tvheadend -f -C -c /etc/tvheadend 
Xong chạy lại tvheadend là login bình thường không cần user pass
Code:
killall tvheadend
/etc/init.d/tvheadend restart
Cài đặt bản tvheadend 4.0+ trở lên: 
(yêu cầu Router có bộ nhớ FLASH >= 16MB hoặc hỗ trợ mở rộng bộ nhớ trên USB)
 
Tải bản tvheadend mới nhất tại tvheadend_4.x : Openwrt 14.07 hoặc Openwrt 15.05
Dùng WinSCP copy file tải về vào /tmp của Router. 
Dùng Putty login SSH vào Router (username và pass như của Web Interface). Gõ lệnh:
#xoa ban tvheadend cu (neu co)
opkg remove tvheadend
rm -rf /etc/tvheadend

#cài đặt tvheadend
opkg update
opkg install /tmp/tvheadend*.ipk
/etc/init.d/tvheadend enable
3. Tùy chỉnh cài đặt.
Trên laptop truy cập địa chỉ 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
- Đối với bản 4.x sẽ có Welcome screen, các bạn thiết lập ngôn ngữ, tạo user rồi save lại (chỉ cần thiết lập ngôn ngữ English rồi Save&Next, sau đó Cancel là đc, TVH sẽ tự tạo một user mặc định ko có pass cho đơn giản).
 + Nếu màn hình đòi đăng nhập user pass trong khi bạn chưa thiết lập user và pass thì làm như sau(trường hợp xảy ra do sau khi cài đặt các bạn ko truy cập TVH để tạo user mà khởi động lại giữa chừng): Dùng Putty login SSH vào Router , Gõ lệnh:
killall tvheadend
tvheadend -c /etc/tvheadend -C -B -u root
# Truy cập địa chỉ http://x.x.x.x:9981 để thiết lập ngôn ngữ xong, Save lại, khởi động lại Router (System/Reboot)
- Khởi động lại Router (System/Reboot)
Tùy chỉnh cài đặt IPTV cho bản 3.4.
- Sau khi router khởi động lại truy cập http://x.x.x.x:9981  để config TVH
Các bạn vào Configution ---> DVB Inputs --->IPTV để config IPTV
Riêng phần Interface : eth0 là ký hiêu cổng có tín hiệu IPTV trên router.
Mỗi kênh add một dòng, nhiều kênh nhưng copy/paste nhanh lắm,
Xong nhấn Save changes để luu thay đổi.
Để xác định chính các  IPTV Interface, vào phần Network/Interface như hình, nếu của các bạn ký hiệu khác, thì thay đổi thành ký hiệu thích hợp nhé.
 
Tùy chỉnh cài đặt IPTV cho bản 4.1 trở lên (tự động scan list m3u).
 
- Vào Configuration / DVB INPUTS / Networks / Type: IPTV Automatic Nework (từ bản 4.1, hỗ trợ Auto Scan từ file m3u)
- Đặt tên mạng IPTV (tên bất kỳ)
+ Maximum input stream: 5 (xem 1 lúc trên 5 thiết bị, có thể thay đổi nhưng ko nên quá 5)
+ phần URL: đường dẫn đến file IPTV m3u plist; xong nhấn Create để TVH Scan file m3u bạn cung cấp và tự động xử lý.
+ Các bạn có thể sử dụng link mình sưu tầm: MyTV_IPTV_RTP.m3u và FPT_IPTV_RTP.m3u
+ Có thể dùng file m3u có sẵn của bạn, dùng WinSCP copy vào Router rồi thay đường dẫn theo dạng ( file:///tmp/iptv.m3u ); (Lưu ý: nếu dùng file m3u của bạn thì edit lại sửa link udp:// thành rtp:// (từ bản 3.9+ nó thế), trước khi sử dụng cho TVH)
- Nhấn Create để thiết lập, TVH sẽ scan file m3u tạo plist kênh, nhấn nút Enable Debug ở góc phải để xem quá trình, trung bình khoàng 5-10 phút tùy theo list kênh nhiều hay ít là scan xong.
+ Kết quả Scan xem ở tab Services (hình).
- Nếu kênh nào báo Scan Result báo: Fail, click vào Edit, xem lại thông số phần Interface (chọn lại Interface có tín hiệu IPTV), rồi save và click play để test
- 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 de 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 XBMC (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.
- Nếu dùng KODI để xem IPTV qua TVH thì nên cài bản TVH 4.0+, hỗ trợ tốt hơn
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 lấy qua webgrab+plus của bác @LIUTHUY, update hằng ngày)
 
 
 
- Với bản tvheadend 3.4: (bản TVH cài qua WebInterface của Openwrt).
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ại là OK
Xong cài tiếp như dưới
- Với bản tvheadend 4.1+ mình share ở trên, các bản này mình compile lại đã mod tự động tải Vietnam EPG
- 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
  
 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é:
 
Xong! Tận hưởng thôi





Không có nhận xét nào:

Đăng nhận xét