The following features are currently implemented in dvbsnoop:
Yes | No | Remark | dvbsnoop-options | |
ISO/DVB Basic Sections (PSI/SI/etc.) | ISO/IEC 13818-1, ETSI EN 301 468 | -s sec | ||
BAT | x | Bouquet Allocation Table | ||
CAT | x | Conditional Access Table | ||
DIT | x | Discontinuity Information Table | ||
EIT | x | Event Information Table | ||
EMM/ECM | x | DVB CA message section, hexdump only | ||
NIT | x | Network Information Table | ||
PAT | x | Program Association Table | ||
PMT | x | Program Map Table | ||
RST | x | Running Status Table | ||
SDT | x | Service Description Table | ||
SIT | x | Selection Information Table | ||
ST | x | Stuffing Table | ||
TDT | x | Time Date Table | ||
TOT | x | Time Offset Table | ||
TSDT | x | Transport Stream Description Table, ISO/IEC 13818-1 / ITU H.222.0 | ||
ISO_IEC_14496_section | x | ISO/IEC 13818-1 / ITU H.222.0, 2.11.3.8 | ||
MT | x | Metadata Table (H.222.0 AMD 1) | ||
IPMP_Control_Information_section | x | ISO/IEC 13818-11 | ||
User defined tables | x | To decode user defined tables of a provider , known to dvbsnoop, use cmd option -privateprovider <name> | -privateprovider <provider-name> | |
CRC check | x | if supported by hardware, firmware or driver (demux level) | -crc, -nocrc | |
Soft CRC check | x | calculate & check CRC by dvbsnoop | -softcrc, -nosoftcrc | |
Section filter/-mask (section table id's) |
x | if supported by hardware, firmware or driver (demux
level) Filter/mask format: e.g. 0x4E or 0xFF.12.34.5A.7F or... Filter applies to Section Bytes: 0, 3-n |
-f <filter> -m <mask> <pid> |
|
Soft Section filter/-mask (section table id's) |
when section stream input is <file> (-if <file>) | -f <filter> -m <mask> |
||
recursive PID snoop | x | PID spider mode, follows referenced PIDs (currently sections only) | -spiderpid | |
input device | -demux <device> -if <file> |
|||
DSM-CC (sections) | ISO/IEC 13818-6, ETSI EN 301 192, ETSI TS 102 006 | -s sec | ||
Basic | x | |||
INT | x | IP/Notification Table, EN 301 192 | ||
UNT | x | Update Notification Table, TS 102 006 | ||
Datagram | x | e.g. TCP/IP packets, multicasts,... | ||
MPE_FEC | x | Multi-Protocol-Encapsulation, EN 301 192 v 1.4.1 | ||
DDB | x | DownloadDataBlock | ||
DSI | x | DownloadServerInitiate | ||
DII | x | DownloadInfoIndication | ||
DownloadCancel | x | |||
Descriptor List | x | |||
BIOPs | x | ... startedTODO | ||
IOR | x | TODO | ||
MHP (sections) | -s sec | |||
AIT | x | Application Information Table, ETSI TS 102 812 | ||
ATSC | Advanced Television Systems Committee | |||
Basic | x | (currently no plans --> I cannot test these streams) | ||
TV Anytime (sections) | ETSI TS 102 323 | -s sec | ||
CT | x | Container Table TODO |
||
RCT | x | Related Content Table TODO |
||
CIT | x | Content Identifier Table TODO |
||
RNT | x | Resolution provider Notification Table |
||
Testdata (sections) | -s sec | |||
measurement signalling channel | x | TODO, basic started | ||
Transport Stream (TS) | -s ts | |||
Basic | x | ISO/IEC 13818-1 / ITU H.222.0 | ||
MIP | x | Mega-Frame Initialization Packet (TS 101 191) and functions | ||
TS packet sync | x | optional software sync | -sync, -nosync | |
PES/SECTION start identify | x | tries to identify stream id or table id | ||
decode TS content | x | collect TS packets and do PES/Section subdecoding | -tssubdecode | |
input device | -demux <device> -dvr <device> -if <file> |
|||
pid filter | x | <pid> | ||
full transport stream | x | if supported by hard-/firmware! | -tsraw | |
Packetized Elementary Stream (PES) Program Stream (PS) |
-s pes, -s ps | |||
Basic | x | ISO/IEC 13818-1 / ITU H.222.0 | ||
PES packet sync | x | optional software sync | -sync, -nosync | |
DSM-CC Control | x | ITU H.222.0 Annex B | ||
DSM-CC ACK | x | ITU H.222.0 Annex B | ||
EMM/ECM | x | Hexdump only | ||
PES Data (synchron, synchronized) | x | |||
PES EBU data (teletext, VPS, WSS, etc.) | x | EN 300 472, EN 300 706, EN 301 775 (basic decoding), EN 300 231 | ||
PES DVB subtitling | x | TODO | ||
Program_stream_descriptorlist | x | |||
Program_stream_map | x | H.222.0, 2.5.4 | ||
Program Stream directory | x | ISO/IEC 13818-1 / ITU H.222.0 , 2.5.5.1 | ||
non-system header | x | ISO/IEC 13818-2, GOP, Slice, etc. | ||
pack_header | x | |||
system_header | x | |||
input device | -demux <device> -if <file> |
|||
Descriptors | ||||
DVB descriptors | x | ETSI EN 301 468, EN 301 192, TR 102 006, .. | ||
MPEG descriptors | x | ISO/IEC 13818-1 / ITU H.222.0 | ||
DSM-CC INT/UNT descriptors | x | |||
DSM-CC (Module) descriptors | x | |||
DSM-CC Stream descriptors | x | ISO/IEC 13818-6 | ||
MHP AIT descriptors | x | ETSI TS 102 812 v 1.2.1 | ||
TV Anytime RNT descriptors | x | ETSI TS 102 323 | ||
User defined descriptors | To decode user defined descriptors of a provider, known to dvbsnoop, use cmd option -privateprovider <name> | -privateprovider <provider-name> | ||
Bandwidth-Statistics | based on transport stream | -s bandwidth | ||
PID-based | x | TS - scan | ||
all PIDs on Transport Stream | x | if supported by hard-/firmware! | -tsraw | |
Packet/Time based calculation | x | TODO | ||
PCR based calculation | ||||
Poll timeout | x | Poll timeout in msec. | -timeout <ms> | |
input device | -demux <device> -dvr <device> |
|||
MPEG-2 | ||||
basic mpeg frame information | x | ISO 13818-2, Slice, GOP, etc. | ||
Frame rates | x | Not planned for dvbsnoop. Please use mpeg video or audio analyzers, which offer in-depth analyzing of video or audio bit streams. (e.g. vk_tools) |
||
Motion vector analyze | x | |||
PCR analyze | x | |||
Macro blocks | x | |||
Audio stream rates | x | |||
Bitrate statistics video | x | |||
Bitrate statistics audio | x | |||
PID-SCAN | -s pidscan | |||
all PIDs on Transponder | x | result may depend on demux firmware | ||
try to identify PID content | x | result may depend on demux firmware | ||
input device | -demux <device> -dvr <device> -maxdmx <n> |
|||
Frontend Signal Status | -s signal | |||
SIG | x | signal strength | ||
BER | x | bit error rate | ||
SNR | x | signal-noise-ratio | ||
Status | x | frontend status | ||
UBLCK | x | uncorrected blocks | ||
capability check | x | |||
input device | x | -frontend <device> | ||
Poll timeout | x | Signal poll timeout in msec. | -timeout <ms> | |
Frontend Info | x | Show information about the frontend of your STB or DVB card (only > DVB-API 3) | -s feinfo | |
show capabilities | x | Basic capabilities of your frontend | ||
current parameters | x | |||
Output Modes | ||||
Hexdump Modes | x | several dump modes | -ph <n> | |
ASCII-Dump Modes | x | several dump modes | -ph <n> | |
Hexdump buffer data | x | print read data as hex/ascii-dump prior to decoding | -nph -hexdumpbuffer -nohexdumpbuffer |
|
Binary | x | -b | ||
Binary to file | x | using output redirection to file... | -b > <file> | |
Human readable output | x | serveral verbosity levels to select decoding info. | -pd <n>, -npd | |
Translating values to text | x | |||
time stamp output | x | different display modes [no, delta, full] (only in life stream mode) | -tn , -td, -tf | |
limit packet decoding | x | decode max. <n> packets (see also -n) | -N <n> | |
output text filter | x | ... use Unix tools like grep, perl, nawk, gplot, MRTG, etc. to filter or tweak output | ||
XML output | x | TODO | ||
Input Modes | ||||
live stream input | x | from device (demux, dvr) | -demux <device> -dvr <device> -frontend <device> |
|
adapter/card selection | x | shortcut selection for -demux, -dvr, -frontend e.g. /dev/dvb/adapterN/... |
-adapter <n> | |
dvb device nr. selection | x | shortcut selection for -demux, -dvr, -frontend e.g. /dev/dvb/adapter0/demuxN |
-devnr <n> | |
set demux buffer size | x | set own demux buffersize in KBytes. overwrites internal buffer settings. (PES, TS and SECTION mode) |
-buffersize <KBytes> | |
binary file input (offline mode) | x | saved stream file | -if <file> | |
limited packet read | x | packet counter | -n <count> | |
input filter | x | when reading from live stream | .... | |
OS Signal handling | x | SIGHUP, SIGQUIT, SIGTERM, SIGABRT | ||
remote sniffing over network | x | Using tools like netcat (nc) or dvbstream... e.g.: dvbstream .... --> dumprtp | dvbsnoop -s ts -if - ... |
||
Tuning | ||||
DVB-T | x | please use dvbtune, szap, neutrino, enigma, VDR or any other tool for tuning into a frequency | ||
DVB-C | x | |||
DVB-S | x | |||
DVB-S2 | x | |||
DVB-H | x | |||
DVB-API | ||||
API 1 | x | Does anyone still needs this API?? | ||
API 2 | x | never released (?) | ||
API 3 | x | current API, linux kernel 2.6.0 | ||
API 4 | x | |||
runtime API selection | x | API will be determined at compile time... | ||
Documentation | ||||
x | x | documentation is not sufficient, good documenation still to be done... - especially the website sucks... | ||
man page | x | Unix compliant old style man page documentation (man dvbsnoop) | ||
Bugs | ||||
x | Interaction between standards organizations (ETSI, ITU, ISO, ...) and also between standards itself sometimes is very complex, especially when standards are enhanced or collide with other drafts. So bugs are very likely (also programming bugs...). Due to missing or proper test streams, some features are implemented without possible real life testing... So please report any bug or odd behavior and also check latest source from cvs. |
The feature list reflects the status of the
CVS. This list may not be
complete...
Some features do not work using DVB-API 1.