Digital Television over IP Multicast

advertisement
Digital Television via IP
Multicast
Group 15M
Lee Howes (Group Leader)
James Robinson (Group Secretary)
Ashley Brown
Jay Cornwall
Simon Fothergill
Lyndon 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 Brown
Lee 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.
Only one copy of the
data is sent to the next
level down in the tree,
reducing network
traffic
IP Multicast
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.
Structure of Proposed
Solution
Transmission (Slave) Server
Config
Hardware
Interface
DVB Mux
Other
Sources
DVB
Main Transmission Server
Client Software
MPEG
Demux/
Display
Main UI
Listings
Display
Master Server
Master
Configuration
Listings
Source
Stats
Database
Listings
Server
Statistics
Listings Data
Transmission Server
Ashley Brown
TX Server – Architecture
HTTP, STORED FILES
NETWORK
TRANSMISSION
SERVER
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
Configuration - Demo
Listings Server
Lee Howes
Listings Server
XMLTV
XML Source
XMLTV
XML Parser
Schedule
Tree
Internal
Structure
System
Config.
XML Source
docTV
XML Parser
XML Source
Channel
Selection
Web Server
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 Decoder
Java 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
Stats Manager
Stats Collector
HTTP
CGI
PHP
SQL
Stats Database
PHP
SQL
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)
V id e o L A N
D igiT V
docTV
OS
DVB
UDP
M PEG
E n co d er
S to red
M PEG
PS
TS
A u d io
H TTP
S o u rces
Y es
No
Y es
No
No
No
Y es
No
No
Y es
Y es
N ot Y et 1
N ot Y et 2
Y es
N ot Y et 2
No
Y es
No
Y es 3
Y es
No
No
Y es 3
Y es
No
No
N early 4
Y es
No
No
Y es 3
Y es
Y es
Y es
Y es 3
Y es
Y es
Y es
Y es 3
Y es
Y es
Y es
Download