Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fast MPEG2 Transport Stream Analyzer, based on Netfilter kernel module
Perl C PHP JavaScript HTML CSS Other
Latest commit 3ba89fe @netoptimizer Release: Version 0.9.4.
It has been quite some time since the last release.

This release primarily contains adjustments to adapt for changing
kernel APIs over time.  Did a small labtest of kernel 3.18.6.

Signed-off-by: Jesper Dangaard Brouer <>

Table of Contents


The IPTV-Analyzer is a continuous/real-time tool for analyzing the contents of MPEG2 Transport Stream (TS) packets, which is commonly used for IPTV multicast signals.

The main purpose is continuous quality measurement, with a focus on detecting MPEG2 TS/CC packet drops.

It scales to hundreds of IPTV channels, even on small ATOM based CPUs.

Private vs. Enterprise users

Private users can also take advantage of this software, as you can now document IPTV problems towards your provider, without having to buy commercial analyzer tools that are way to expensive to home users.

Enterprise users can save a lot of money, as alternative commercial analyzer tools are extremely expensive. The IPTV-Analyzer is mostly target for enterprise usage, with several probes/measurement-points at strategic points in your network.

Elements / Architecture

iptables-module: mpeg2ts

The core component is an iptables (Linux) kernel module, named "mpeg2ts". This kernel module performs the real-time deep packet inspection of the MPEG2-TS packets. Its highly performance optimized, written for parallel processing across CPU cores (via RCU locking) and hash tables are used for handling large number of streams. Statistics are exported via the proc filesystem (scalability is achieved via use of the seq_file proc API).


The statistics are collected by a iptv-collector daemon, and stored in a MySQL database.


If you agree to contribute back fixes, improvements, bug-reports, insults etc., then its FREE, as its Licensed under GPL.

Something went wrong with that request. Please try again.