# DVB - TOOLS

## SetUp
1. ./setup
2. ./getVersion <ip_address_of_Pi_target_device>
3. make
4. ./deploy <ip_address_of_Pi_target_device>

## Usage
All the dvb-applications are deployed on the Desktop of the pi device
in the following maner:

/home/pi/Desktop
            ├── lib
            ├── test
            ├── util

Use SSH in order to use the applications:
ssh pi@<ip_address_of_Pi_target_device>

The default passowrd is:
raspberry

*Note*
The TVHeadend service can be accessed the following way:
<ip_address_of_Pi_target_device>:9981
user:   pass:
admin   admin

Before start using the dvb-apps stop the tvheadend service
since it is also using the /dev/dvb/adapter0 interfaces:

$ cd /etc/init.d
$ sudo ./tvheadend stop


## Linux DVB API applications and utilities.
**Libraries**
libdvbapi - Interface library to digital TV devices.
libdvbcfg - Library to parse/create digital TV channel configuration files.
libdvbsec - Library for Satellite Equipment Control operations.
**libucsi - Fast MPEG2 Transport Stream SI table parsing library.**
libdvben50221- Complete implementation of a CENELEC (European Committee for Electrotechnical Standardization) EN 50221 CAM stack.
libdvbmisc - Miscellaneous utilities used by the other libraries.

**Utils**
- Main User Applications:
        **scan: the original frequency scanning tool used to generate channel lists**
        **dvbscan: another frequency scanning tool used to generate channel lists .... some distro package managers have rebranded this as "scandvb" ... also note that "atscscan", if included, is simply a copy of dvbscan. The DVB or ATSC protocol is determined by a tuning file feed to these programs. Tuning files are kept in the scan/atsc, scan/dvb-[csth] directories. This program discovers carriers on candidate frequencies and also determines sub-channels. sub-channels may be the main program at a lower data rate or completely new content. With the output produced, a short name can be used to identify the frequency and the streams needed to get a channel.**
        **czap, szap, tzap: tuning utilities for DVB-C, DVB-S, DVB-T. These change the channel/sub-channel as identified by the file output by scan above.
        azap: tuning utility for ATSC.**
        util/gnutv - Tune, watch and stream TV. I.e. a DVB UI.
- General Utilities:
        util/dvbdate - Read date time information from the currently tuned multiplex.
        util/dvbnet - Control digital data network interfaces. DVB network interface manager (IP over DVB).
        util/dvbtraffic - Monitor traffic on a digital device. PID analysis of currently tuned multiplex.
        **util/femon - Frontend (fe) monitor. Monitor the tuning status on a digital TV device.**
        util/zap - *Just* tunes a digital device - really intended for developers. Note that this is a seperate app then those *zap utilities listed above.
        util/atsc_epg - Recent versions of dvb-apps include a program to print out the next three hours worth of programs on a given frequency (for ATSC only).
- Hardware Specific Utilities:
        util/av7110_loadkeys - A utiltity to load IR remote keymaps into an av7110 based card using the /proc/av7110_ir interface
        util/dib3000-watch - Monitor DIB3000 demodulators
        util/dst-utils/dst-test - Utilities for DST based cards.
        util/ttusb_dec_reset - Reset a TechnoTrends TTUSB DEC device.


**test**
    diseqc: Sends various diseqc sequences on a SAT frontend.
    set22k: Legacy tone switching for SAT frontends.
    setvoltage: Legacy voltage switching for SAT frontends.
    setpid: Set video and audio PIDs in the demux (only for hardware MPEG decoder)
    video: tiny video watching application
    **test_sections: Hex dump of section data from stream.**
    test_sec_ne: Like test_sections, but also test Not-Equal filter mode.
    **test_pes: Hex dump of PES data from stream.**
    test_tt: Demonstrate teletext decoding from PES data.
    test_av: Test audio and video MPEG decoder API.
    test_vevent: Test VIDEO_GET_EVENT and poll() for video events
    test_stc: Test DMX_GET_STC.
    test_stillimage: Display single iframes as stillimages
    test_dvr: Record a partial transport stream of selected PIDs to a file or a full stream if supported by the hardware

## Aditional information
https://www.linuxtv.org/wiki/index.php/Testing_your_DVB_device
https://www.linuxtv.org/wiki/index.php/LinuxTV_dvb-apps
