Skip to main content

Python bindings for Linux DVB API

Project description

This is a Python binding for the Linux DVB API. It is based on the headers from
kernel 2.6.35, and should work with any kernel implementing DVB API version 5.1
or higher.

All API features are implemented, but only the frontend and demux code has been
tested, and only on DVB-S and ATSC hardware. Other hardware should work but I
have no way of confirming this myself.

Tested on CPython 2.6.5 and 3.1.2.

Some code has been cribbed from the Python v4l2 binding.

Usage example:

::

>>> import linuxdvb
>>> import fcntl
>>>
>>> fefd = open('/dev/dvb/adapter0/frontend0', 'r+')
>>> feinfo = linuxdvb.dvb_frontend_info()
>>> fcntl.ioctl(fefd, linuxdvb.FE_GET_INFO, feinfo)
0
>>> feinfo.name
'Genpix 8psk-to-USB2 DVB-S'
>>> for bit, flag in linuxdvb.fe_caps.items():
... if (feinfo.caps & bit) > 0:
... print(flag)
...
FE_CAN_INVERSION_AUTO
FE_CAN_FEC_1_2
FE_CAN_FEC_2_3
FE_CAN_FEC_3_4
FE_CAN_FEC_7_8
FE_CAN_FEC_AUTO
FE_CAN_FEC_5_6
FE_CAN_QPSK
FE_CAN_QAM_16
>>> fefd.close()

::

Support for DigiCipher II modes on Genpix DVB-S tuners is implemented. Get the
driver patch from:

http://updatelee.blogspot.com/2010/09/genpix-skywalker-1-linux-driver-mods.html

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page