Skip to content

thegooglecodearchive/video-tester

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Video Tester - Video Quality Assessment Tool
============================================

Video Tester is a framework for the video quality assessment over a real or simulated IP network. Parameter extraction is performed on the three levels involved in the video processing and transmission ---packet level, bitstream level and picture level--- in order to gather as much information as possible. Therefore, it's suitable to implement any kind of metric: data metrics, picture metrics, packet-based metrics, bitstream-based metrics or hybrid metrics; with full-reference, reduced-reference or no-reference.

It's a Linux application programmed in Python with the aim of promoting extensibility, and the election of the GStreamer framework for video processing is due to its broad support in this area. Video Tester covers EvalVid <http://www.tkn.tu-berlin.de/research/evalvid/> features and adds further improvements in terms of usability, extensibility, codec support, support of transmission methods and reliability in case of losses.

Features
--------

* Codec support: H.263, H.264, MPEG-4 part 2, Theora.
* Implemented metrics:

 * QoS metrics: latency, delta, jitter, skew, bandwidth, packet loss rate, packet loss distribution.
 * Bitstream metrics: stream eye, reference stream eye, gop size, I-frame loss rate.
 * Video quality metrics: PSNR, SSIM, ITU-T G.1070, MOS (PSNR to MOS mapping from EvalVid), MIV (from EvalVid).

Dependencies
------------

Video Tester has the following dependencies:

* Python 2.7.
* GStreamer 0.10 with bindings for Python.
* GStreamer plugins: base, good, ugly, bad.
* GStreamer FFmpeg plugins.
* GStreamer RTSP server 0.10.8 (at least). 
* Scapy 2.0.
* Matplotlib 1.0.1.
* Numpy 1.4.1.
* WxPython 2.8.11 with backend for Matplotlib.
* OpenCV 2.1 with bindings for Python.

This dependencies can be installed with the following command (only for Fedora):

	$ yum install gstreamer gstreamer-plugins-base gstreamer-plugins-good gstreamer-plugins-ugly \
		gstreamer-plugins-bad-free gstreamer-plugins-bad-nonfree gstreamer-python gstreamer-ffmpeg \
		gstreamer-rtsp scapy numpy python-matplotlib python-matplotlib-wx wxpython opencv-python

Installation
------------

	$ tar xzf VideoTester-0.2.tar.gz
	$ cd VideoTester-0.2
	$ sudo python setup.py install

During the installation, you'll be asked for two configuration parameters:

* The server interface (default: ``eth0``).
* The server port (default: ``8000``).

The documentation will be placed at ``/usr/share/doc/VideoTester-0.2``.

Usage
-----

NOTE: the current working directory MUST contain the ``VT.conf`` file.

VT in server mode:

	$ VT server

VT in client mode:

	$ VT client

VT in client mode specifying another configuration file:

	$ VT client -c another.conf

VT in client mode with GUI:

	$ VT client -g

About

Automatically exported from code.google.com/p/video-tester

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published