The Digital Media Project |
|
|
Date |
2013/02/23 |
|
No. |
1334 |
|
Source |
L. Chiariglione |
|
Title |
The OCTV implementation |
The OCTV implementation
“Connected TV” is seen by many as the means to provide the much sought-after convergence between traditional broadcast television and various new forms of video delivery. However, the largely proprietary implementations of Connected TV are a major impediment to the development of a promising new market of content, products, services and applications.
The Digital Media Project (DMP) has developed a Specification of Connected TV (dmp1317) called Open Connected TV (OCTV) and commissioned a Software Implementation of (OCTV) made available to DMP members subject to the OCTV implementation software licence (dmp1331).
The OCTV implementation refers to the following usage scenario.
Fig. 1 – OCTV Devices of the usage scenario
where
Source is an OCTV Device by means of which a Creator can
Server is an OCTV Device performing the following functions
Sink is an OCTV Device by means of which an End User can
Table 1 is the walkthrough where
Table 1 – Walkthrough and technologies
Who |
What |
How |
Creator |
Launches app in Source |
|
Source |
Presents forms |
|
Creator |
Uploads audio-visual sequence |
AVC+AAC |
Inputs metadata |
Subset of SMP |
|
Inputs licence data |
REL |
|
Source |
Creates Content |
DI, MP21 file |
Creator |
Stores Content to Server |
Store Content ES |
Server |
Stores audio-visual sequence |
MPEG21 File, DI |
Prepares audio-visual sequence for streaming |
DASH preparation |
|
Stores Digital Item |
||
Posts Digital Item |
Post Content ES |
|
End User |
Visits Server’s web page |
|
Selects Content |
||
Requests Digital Item |
Request Content ES |
|
Sink |
Presents Metadata & Licence |
DI, SMP, REL |
Plays Digital Item |
||
Verify licence |
Verify Licence ES |
|
If licence terms allow, requests video |
DASH |
|
5. Play video |
Media Framework |
|
Server |
DASH streams audio-visual sequence |
Deliver Content, DASH |
The 3 OCTV Devices in Fig. 1 conform to the 3-layer architecture of ISO/IEC 23006-1 MPEG-M Architecture.
Fig. 2 – OCTV Device Architecture
Currently the “Security” functionality is not implemented.
The OCTV Implementation provides the list of MXM Engines supporting the walkthrough described in Chapter 2.
Table 1 – Protocol and Technology Engines required
Protocol Engine |
Technology Engine |
Create Content |
DI |
Create Licence |
REL |
Media Framework |
|
Describe Content |
Metadata |
Identify Content |
|
Package Content |
MP21 |
Media framework |
Source code of Protocol and Technology Engines can be found at http://wg11.sc29.org/mxmsvn/repos/java.
The following Applications, Protocol Engines and Technology Engines are used in the 3 OCTV Devices, as follows
Table 1: Applications, Functionalities and Engines
Device |
Applications |
Protocol Engines |
Technology Engines |
Source |
App presents GUI |
||
User inputs resource URI |
|||
User inputs metadata |
MetadataTE |
||
User inputs licence |
LicenseTE |
||
App creates DI |
createContentPE |
||
App creates MP21 File |
MP21FFTE |
||
App uploads MP21 File |
|||
Server |
App1 waits for Source ES requests |
createContentPE |
MetadataTE |
LicenseTE |
|||
DigitalItemTE |
|||
identifyContentPE |
|||
App1 unpacks MP21 File |
MP21FFTE |
||
App1 creates video segments/MPD |
MediaFrameworkTE |
||
App1 posts DI |
DigitalItemTE |
||
App2 receives requests from Sink |
|||
App2 prepares page with each DI having |
|||
- some metadata |
MetadataTE |
||
- licence data |
LicenseTE |
||
- upload date |
DigitalItemTE |
||
- DI URI |
|||
Sink |
App lets User requests page from Server |
||
User selects a Digital Item |
|||
App parses Digital Item, metadata, license |
DigitalItemTE |
||
MetadataTE |
|||
LicenseTE |
|||
If authorised à play |
MediaFrameworkTE |
The table shows that total of 4 Applications, 3 Protocol Engines and 5 Technology Engines.
The following table gives a technology walkthrough.
Table 2: Source-Server-Sink walkthrough
Device |
Function |
Source |
CREATOR user uses MyCLIENT1APP to
|
Server |
Source-Server App
|
Server |
Server-Sink App When requested, creates HTML page with a list of DIs each with
|
Sink |
CONSUMER user uses web-browser to
|
Sink |
CONSUMER user uses MyCLIENT2APP to
|
Sink |
MEDIAFRAMEWORK
|
Fig. 2 represents the architecture of the 3 OCTV Devices.
|
|
|
Figure 2: MXM Engines for Source, Server and Sink
Wherever possible Open Source Software (OSS) packages have been employed. Table 3 gives a list of all OSS packages in the OCTV implementation.
Table 3: Open Source environments used in the Work
Name |
Licence |
Purpose |
||
Source |
Server |
Sink |
||
Hibernate |
LGPL v2.1 |
X |
||
GStreamer |
LGPL |
X |
||
Jboss |
LGPL |
X |
||
Mule |
Common Public Attribution License |
X |
||
MXM |
BSD |
X |
X |
X |
Spring |
Apache 2.0 |
X |
||
VLC |
GPL |
X |