Posted: . At: 2:25 PM. This was 1 year ago. Post ID: 17681
Page permalink. WordPress uses cookies, or tiny pieces of information stored on your computer, to verify who you are. There are cookies for logged in users and for commenters.
These cookies expire two weeks after they are set.


Play Digital TV with MPV on Linux. This is easy to setup.


Playing Digital TV (DVB) with MPV is easy to do on Linux, install the w_scan utility on Linux and of course plug in your Digital TV dongle. Then you may begin to scan for channels.

┌──[jason@11000000.10101000.00000001.00000010][~]
└──╼  ╼ $ w_scan -X -c AU
w_scan -X -c AU 
w_scan version 20170107 (compiled for DVB API 5.11)
using settings for AUSTRALIA
DVB aerial
DVB-T AU
scan type TERRESTRIAL, channellist 3
output format czap/tzap/szap/xine
WARNING: could not guess your codepage. Falling back to 'UTF-8'
output charset 'UTF-8', use -C <charset> to override
Info: using DVB adapter auto detection.
	/dev/dvb/adapter0/frontend0 -> TERRESTRIAL "DiBcom 7000PC": good :-)
Using TERRESTRIAL frontend (adapter /dev/dvb/adapter0/frontend0)
-_-_-_-_ Getting frontend capabilities-_-_-_-_ 
Using DVB API 5.11
frontend 'DiBcom 7000PC' supports
INVERSION_AUTO
QAM_AUTO
TRANSMISSION_MODE_AUTO
GUARD_INTERVAL_AUTO
HIERARCHY_AUTO
FEC_AUTO
BANDWIDTH_AUTO not supported, trying 6/7/8 MHz.
FREQ (45.00MHz ... 860.00MHz)

Then copy the output and paste this into a channels.conf file.

tune to: QAM_64   f = 690500 kHz I999B7C34D0T8G16Y0 (12812:12959:2054) (time: 08:54.969) 
        Info: no data from PAT after 2 seconds
        Info: no data from PAT after 2 seconds
        Info: no data from SDT(actual) after 3 seconds
        Info: no data from NIT(actual )after 13 seconds
(time: 09:11.700) dumping lists (27 services)
..
SBS ONE(SBS):613500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:161:81:849
SBS Food(SBS):613500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:163:85:851
NITV(SBS):613500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:164:87:852
SBS ONE HD(SBS):613500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:102:103:853
SBS VICELAND HD(SBS):613500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:166:86:854
SBS World Movies(SBS):613500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:162:83:855
SBS WorldWatch(SBS):613500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:165:90:856
SBS Arabic24(SBS):613500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:0:204:861
SBS Radio 1(SBS):613500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:0:201:862
SBS Radio 2(SBS):613500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:0:202:863
SBS Chill(SBS):613500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:0:203:864
SBS Radio 1(SBS):613500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:0:201:865
SBS Radio 2(SBS):613500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:0:202:866
SBS Radio 3(SBS):613500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:0:205:867
SBS Arabic24(SBS):613500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:0:204:868
SBS PopDesi(SBS):613500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:0:206:869
SBS Chill(SBS):613500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:0:203:870
SBS PopAsia(SBS):613500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:0:207:871
7 Wagga Wagga(Seven):627500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:2730:2731:2373
7HD Wagga Wagga(Seven):627500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:4600:4602:2400
7 Wagga Wagga(Seven):627500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:2730:2731:2401
7two Wagga Wagga(Seven):627500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:4620:4621:2402
7mateHD Wagga Wagga(Seven):627500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:4640:4642:2404
7Bravo(Seven):627500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:4650:4652:2405
7flix(Seven):627500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:4660:4661:2406
ishoptv(Seven):627500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:4670:4671:2407
RACING.COM(Seven):627500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:4680:4681:2408
Done, scan time: 09:11.700

I am using a Yuan PD378S DVB adapter and this works just fine with my system. I placed the channels.conf file in the ~/.config/mpv folder. Then I was able to tune in to a Digital TV channel.

┌──[jason@11000000.10101000.00000001.00000010][~]
└──╼  ╼ $ mpv dvb://"7flix(Seven)"
[dvbin] Tuning to channel "7flix(Seven)"...
[dvbin] dvb_tune DVB-T Freq: 627500000
 (+) Video --vid=1 (h264 720x576 25.000fps)
 (+) Audio --aid=1 (aac_latm 2ch 48000Hz)
File tags:
 Title: 7flix(Seven)
AO: [pulse] 48000Hz stereo 2ch float
VO: [gpu] 720x576 => 1047x576 yuv420p
[progressbar] Playing: "7flix(Seven)" 
[osd/libass] fontselect: Using default font family: (Source Sans Pro, 400, 0) -> /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf, 0, DejaVuSans
[osd/libass] fontselect: Using default font family: (Source Sans Pro, 700, 0) -> /usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf, 0, DejaVuSans-Bold
AV: 00:12:54 / 00:13:15 (97%) A-V:  0.000 Cache: 20s/4MB

This is not a very hard trick after all. This allows easy viewing of the accessible DVB channels. I cannot find the me-tv package anymore, but MPV does work very well to view Digital Television.

Watching Digital TV with MPV on Linux.
Watching Digital Television with MPV on Linux.

Use the lsdvb utility to list all DVB devices in your Linux system.

┌──[jason@11000000.10101000.00000001.00000010][~]
└──╼  ╼ $ lsdvb 
 
		lsdvb: Simple utility to list PCI/PCIe DVB devices
		Version: 0.0.4
		Copyright (C) Manu Abraham
 
usb (0:0 0:0) on PCI Domain:0 Bus:0 Device:0 Function:0
	DEVICE:0 ADAPTER:0 FRONTEND:0 (DiBcom 7000PC) 
		 FE_OFDM Fmin=45MHz Fmax=860MHz

It is very good that modern kernel releases support this hardware out of the box. it is getting easier to use anything you wish with Linux.


Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.