Digital Television via IP Multicast Group 15M Lee Howes (Group Leader) James Robinson (Group Secretary) Ashley Brown Jay Cornwall Simon Fothergill Lyndon Leggate
Jan 31, 2016
Digital Television via IP Multicast
Group 15M
Lee Howes (Group Leader)James Robinson (Group Secretary)
Ashley BrownJay Cornwall
Simon FothergillLyndon Leggate
Project Summary
• Allow networked PCs in the Department of Computing to receive and display television programmes.
• Take Television channels from a Digital Terrestrial Television (DVB-T) reception card.
DVB is a registered trademark of the DVB Project. It is used with kind permission of the DVB Project and does not indicate full compliance with the relevant standards.
Background Information
Ashley BrownLee Howes
MPEG-2 Transport Streams
• Consists of a number of sub-streams, each identified by a number (its PID).
• Can contain audio, video and other data for a single programme, synchronised to one time base (a Single Programme TS or SPTS).
• Transport Streams can be multiplexed together to form a Multi-Programme TS (or MPTS).
• Each Transport Stream contains information about the PIDs and types of each audio, video or data stream.
Digital Television (DVB)
• Digital Terrestrial Television in the UK follows the DVB-T standard.
• Multiple channels are broadcast on a particular frequency, in the form of an MPEG-2 Transport Stream.
• The entire Transport Stream is processed by the receiver and the required channel extracted.
• Additional information is included in the Transport Stream to provide channel names, subtitles, digital teletext etc.
IP MulticastOnly one copy of the data is sent to the next level down in the tree, reducing network traffic
Data is only sent where it is required
Existing Solutions
• VideoLAN– Streaming of DVB channels, MPEG files,
MPEG encoder card feeds.
• DigiTV– Streaming of DVB channels.
• Digiguide– Provides 2 weeks listings and scheduled
reminders on a subscription basis. Co-operates with other programmes to allow scheduled recordings.
Our Solution
Lee Howes
Our Feature List
• Distribution of Digital Terrestrial TV channels over IP multicast.
• Selection of channels to broadcast.• Multiple TV cards.• Client Programme Guide.• Accumulation of usage statistics.• Programme recording and pausing of live
TV• Programme reminders.
Client Software
Listings Display
Main UIMPEGDemux/Display
Structure of Proposed Solution
Listings Data
Config
DVB MuxDVB Other
Sources
Main Transmission Server
Transmission (Slave) Server
Master Server
Listings Source
Listings Server
Master Configuratio
n
Stats Database
Statistics
HardwareInterface
Transmission Server
Ashley Brown
TX Server – Architecture
TRANSMISSIONSERVER
HTTP, STORED FILES
NETWORK
DVB Hardware Interface
• The server uses a Java wrapper around the C LinuxTV API for DVB devices.
• The API allows the card to be tuned and MPEG2 data (in particular a full DVB Multiplexed Transport Stream) to be read from a device.
• Support for hardware acceleration of MPEG-2 TS demultiplexing has been included, although is not used at present.
• A similar interface could be provided under Windows.
Configuration
James Robinson
Configuration• What configuration?
– Schedule– Permissions– etc.
• Required for various modules• Publish on web server
– Can use Apache authentication and SSL security
• XML Files• Configuration tool
– Creates main configuration files– Web based
Listings Server
Lee Howes
Listings Server
XML Source
XML Source
docTV
XML Parser
Web Server
Schedule Tree
Internal Structure
XMLTV
XML Parser
XMLTV
XML Source
System Config.
Channel Selection
MPEG Decoder
Jay Cornwall
MPEG Decoder
• Java Media Framework (JMF) provides audio/visual playback support.
• MPEG 2 video decoding not supported.
• Lack of documentation and examples.• A different approach to audio/visual
decoding was taken.
MPEG DecoderJava Client
Decoding Component(Java AWT widget)
Video Decoder Audio Decoder
LibMPEG2(native library)
FFMPEG(native library)
MPEG Decoder
• 720 x 576 x 32 bit: ~30% load on an Athlon XP-M 2400+.
• Supports MPEG 2 video and MPEG 1 / 2 audio.
• Potential for further codec support.• But a loss of portability.• Restrictions on native access prevent
aspect ratio correction under Linux.
Client
Lyndon Leggate
Client
• Features– Watch live TV (if available & permitted)– Pause live feeds & resume from that point– Record programmes (scheduled or live)– Playback pre-recorded programmes– Programme reminders & auto-tune– View full TV programme listings– Usage statistics
Statistics
Simon Fothergill
Statistics
• General reasons and motivation for statistics
• Within this project: Simply, but extensibly
• When’s popular?• What’s popular?
Client
HTTP CGI
PHP SQL
PHP SQL
Stats DatabaseStats Manager Stats Collector
Putting it Together
Lee Howes
Integration and Testing
• Tested interfaces between interacting components
• Tested and integrated in stages as components developed (using VideoLAN Client initially to test the server)
• Transmission test to VLC in mid November
Integration and Testing 2
• Multiple DVB cards• General tests of listings such as
behaviour with bad date formats• Long distance unicast radio feed
to home ADSL from Transmission Server
A Few Problems…
• Initially IP multicast appeared not to work on all switches.
• A change of multicast address range solved this.
• Towards the end of the project, some faulty code resulted in the server saturating its connection.
• A faulty switch flooded the network with traffic, upsetting other services.
Evaluation
• A good start for further progress• System is flexible in design
allowing for future expansion• Substantial problems with
Java/Native interface for video could be avoided with a purely native client
Shortcomings
• Control channel not encrypted, anyone could refresh server.
• Java event thread overcrowding causing lack of GUI responsiveness.
• Current reliance on XML TV – radiotimes.com changed website format shortly before the presentation.
General Future Improvements
• DVB streaming under Windows• Digital Radio streaming (DAB)• Streaming from an MPEG encoder• Server time-shifting of channels• More configuration options• Fast, Native client, possibly using GTK to
keep cross platform• Full use of JMF to make Java client work
efficiently – not a problem in Windows, more of an issue in Linux
Feature Comparison Matrix (Server)
VideoLAN DigiTV docTV OS
DVB Yes No Yes Yes Not Yet2 No UDP No No No Yes Yes Yes MPEG Encoder
Yes No No Not Yet1 Not Yet2 No
Stored MPEG
PS Yes3 Yes3 Nearly4 Yes3 Yes3 Yes3 TS Yes Yes Yes Yes Yes Yes Audio No No No Yes Yes Yes
HTTP Sources
No No No Yes Yes Yes