© 2011 amberfin limited loose coupling for multipurpose distribution bruce devlin chief technical...

Post on 29-Dec-2015

213 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

© 2011 AmberFin Limited

Loose Coupling for Multipurpose Distribution

Bruce DevlinChief Technical Officer

© 2011 AmberFin Limited

Some Words …

• Wrapper• MXF, GXF, QuickTime, AVI

• Codec• Encoder, Transcoder

• Format Conversion• Up conversion, Down conversion, Cross Conversion

• Standards Conversion• Frame rate conversion 50Hz 60Hz, 60Hz 50Hz

• API• Some programming interface like web services, C++, Java

• SOA• Service Oriented Architecture – a methodology

© 2011 AmberFin Limited

File Based Workflows

•Why?

© 2011 AmberFin Limited

• The best way to explain Loose Coupling is to look at …

Tight coupling …

4

Loose Coupling … what ??

© 2011 AmberFin Limited

Start easy … Simple Business Web Page

• Let’s make a web page• It will say “Hello World”• Nicely(ish) styled

.html

© 2011 AmberFin Limited

Tightly coupled web page

<html> <head> <title>Tight Coupling</title> <script type="text/javascript">function img(){ document.body.background="smpte.png" };</script> </head> <body onload="img();"> <table border="2"> <tr><td font face="arial bold">Message</td></tr> <tr><td>Hello World</td></tr> </table> </body></html>

.html

© 2011 AmberFin Limited

Time passes ...

• Requirements change• Someone invents

– iPhone, gPhone, iPad, gPad, dPad

• Our business grows– Spanish, Italian, French, German, British English etc.

• Our web page must change with our business

© 2011 AmberFin Limited

Tightly coupled web page

<html> <head> <title>Tight Coupling</title> <script type="text/javascript">function img(){ document.body.background="smpte.png" };</script> </head> <body onload="img();"> <table border="2"> <tr><td font face="arial bold">Message</td></tr> <tr><td>Hello World</td></tr> </table> </body></html>

Business Rules

Language SensitiveContentLook & Feel

Language Insensitive

Content

Structure

.html

© 2011 AmberFin Limited

Tightly coupled web page

• Quick to develop• Quick to deploy• A pain to update• A pain to maintain• A pain to scale

• Tight Coupling makes change expensive!

© 2011 AmberFin Limited

Loosely coupled web page

• Structure is defined in HTML• Styling in CSS• Logic in some language• Data in some database

.html

.css

.js.dB

.java

.php

.asp

© 2011 AmberFin Limited

Loosely coupled web page

• Change language but don’t touch styling• Change styling but don’t touch structure• Add new content safely• Replicate and scale using existing

IT tools (database replication etc)

.html

.css

.js.dB

.java

.php

.asp

© 2011 AmberFin Limited

How loose is loose?

• This stuff ain’t trivial• Explore probabilities of change• Explore consequences of change• Explore costs of change• Explore system stability of change

© 2011 AmberFin Limited

Business Layer

Pg:13Pg:13

Generic State of the Art Facility

• SD Playout

HD

CDN

Delivery • CDN

• HD Playout

SD

• Multi-rate Web Streaming

• IPTV

• Versioning

• International

• Captioning Accessibility

© 2010 AmberFin Limited

MAM, DAM, BPM, frys?

Web Services

© 2011 AmberFin Limited

Day #1 – it goes live

• Business Process system• Manages which jobs to run

• Media Management system• Manages where the content is and which transcoder to use

• Transcoder• Has profiles configured for all the deliverables• Receives instructions from above and just works

© 2011 AmberFin Limited

Time passes …

© 2011 AmberFin Limited

Day #n – it gets fun

• The business enters a new territory• A new language needs to be added• The new Avocado zPad is selling well …• Every asset is needed in a new transcode profile …• Many assets need new language and captions adding …• What needs to change?

• Plan A• Update existing system with a new profile

© 2011 AmberFin Limited Pg:17Pg:17

Generic State of the Art Facility

© 2010 AmberFin Limited

Business Layer

• SD Playout

HD

CDN

Delivery • CDN

• HD Playout

SD

• Multi-rate Web Streaming

• IPTV

• Versioning

• International

• Captioning Accessibility

Business Layer

New format

New profile

New API parameter

New MAM move rule

New MAM process

New BPM rule

$$

© 2011 AmberFin Limited

Tight coupling alert !

© 2011 AmberFin Limited

Day #n – it gets fun

• The business enters a new territory• A new language needs to be added• The new Avocado zPad is selling well …• Every asset is needed in a new transcode profile …• Many assets need new language and captions adding …• What needs to change?

• Plan B• Throw in a new brand of transcoder

© 2011 AmberFin Limited Pg:20Pg:20

Generic State of the Art Facility

© 2010 AmberFin Limited

Business Layer

• SD Playout

HD

CDN

Delivery • CDN

• HD Playout

SD

• Multi-rate Web Streaming

• IPTV

• Versioning

• International

• Captioning Accessibility

Business Layer

New format

New profile structure

Brand New API

New MAM integration

New MAM process

New BPM rule

$$$

© 2011 AmberFin Limited

Even tighter coupling alert !

© 2011 AmberFin Limited

Wouldn’t it be nice …

• To have a standard Transcode API• Change friendly – it expects system change over time

• Codec neutral – cheaply add a new codec variant

• Vendor neutral – add a new vendor to the mix cheaply

• Loosely coupled – tries to localise the impacts of change

© 2011 AmberFin Limited

AmberFin Proposal to FIMS & VCOForum

• Focussed on …• How a job is described

• What stays constant between jobs

• What changes job by job

• Ignores the compute complexity of the job

• Assumes existence of …• transcode() function via RPC, SOAP, RESTful

© 2011 AmberFin Limited

Wake up, it’s Quiz time

• Which of the following are transcodes?• MPEG2 to MPEG4 conversion• Rewrap MXF to QuickTime• IMX50 to Long GOP SD VoD• IMX50 to XDCAM50• Motion Compensated Standards convert from

720x576 @ 50i to 1920x1080 @ 60i

© 2011 AmberFin Limited

System diagram view

OtherB

Transcode

API

Work orders

© 2011 AmberFin Limited

The Work Order Layer

Business Layer

(Business Process Management paradigm)

Media Asset Management

(Media Logistics Management)

Media Manipulation / Transform

(Media Manipulation Paradigm)

Work orders KPIs

© 2011 AmberFin Limited

The Work Order Interface

• Goals• Allow a MAM / business system to make business decisions• Allow a MAM / Automation system to make logistics decisions• Pass those decisions to the Transcoder• Don’t rely on 2 transcoders having the same capabilities• Don’t make it company specific• Orient the API towards the Business System needs

• The API• is an abstract transcode API• provides a Work Order Interface• enables the creation of a SOA Media Manipulation Service

© 2011 AmberFin Limited

Transcode()

• transcode( param )

• This section describes param

© 2011 AmberFin Limited

AbstractTranscode API

• Transcode Request Structure

Input Specification

Segment List Specification

Transcode Output Override

© 2011 AmberFin Limited

Simple Example

<transcodeparameters template=”Default”>

<inputs>

<input id=”asset”><file name=”z:/examples/asset1.mxf” /></input>

</inputs>

<segments style=”in(inclusive),out(exclusive)”>

<segment>

<input>asset</input>

</segment>

</segments>

<output conversion=”MXF Op1a MPEG2”>

<attributes>

<attribute name=“videobitrate” value=“50000000” />

</attibutes>

</output>

</transcodeparameters>

© 2011 AmberFin Limited

Simple Splice Example

<inputs>

<input id=”feature”><file name=”z:/examples/feature1.mxf” /></input>

<input id=”trailer”> <file name=”z:/examples/trailer1.mxf” /> </input>

</inputs>

<segments style=”in(inclusive),out(exclusive)”>

<segment>

<input>trailer</input>

</segment>

<segment>

<input>feature</input>

</segment>

</segments>

© 2011 AmberFin Limited

Cut and Splice Example

<inputs>

<input id=”asset”><file name=”z:/examples/asset1.mxf” /> </input>

<input id=”black”><file name=”d:/library/black/black.mxf” /> </input>

</inputs>

<segments style=”in(inclusive),out(exclusive)”>

<segment>

<input>asset</input>

<out>00:15:00:00</out>

</segment>

<segment>

<input>black</input>

</segment>

<segment>

<input>asset</input>

<in>00:15:00:00</in>

</segment>

</segments>

© 2011 AmberFin Limited

Audio Channel Alignment example

Aligned

Audio Lead (+offset)

Audio Lag (-offset)

© 2011 AmberFin Limited

Closed Caption (CC) Streams

<inputs>

<input id=”feature1”>

<file name=”AmberFin:\examples\feature1.mxf”>

<file name=“Feature1English.scc”>

<stream id=”English” />

</file>

<file name=”Feature1Spanish.scc”>

<stream id=”Spanish” />

</file>

</input>

<inputs>

© 2011 AmberFin Limited

Closed Caption (CC) Streams

<output conversion=”Windows Media (VC1)”>

<captions type=”SAMI”>

<stream>Spanish</stream>

<stream>English</stream>

</captions>

</output>

© 2011 AmberFin Limited

Input Cropping

top

bottomleft

right

4:3

<inputs><input id=”feature1”>

<file name=”AmberFin:\examples\feature1.mxf”> <crop>2,2,1,1</crop>

</file>

© 2011 AmberFin Limited

Output Scaling

width

height

<output conversion=”MXF Op1a MPEG2”> <display>

<size width=“320” /><aspectratio>16/9</aspectratio>

</display>

© 2011 AmberFin Limited

Output Positioning

voffset

hoffset

width

height

<output conversion=”MXF Op1a MPEG2”> <containersize>240,500</containersize><display>

<size width=“320”><offset hoffset=“100” voffset=“100”>

</display>

© 2011 AmberFin Limited

Output Blanking

top

bottom

<output conversion=”MXF Op1a MPEG2”> <containersize>240,500</containersize><display>

<size width=“320”><offset hoffset=“100” voffset=“-100”><border>10,10,10,10</border>

</display>

left right

© 2011 AmberFin Limited

Encoding Attributes

<attribute name="Mode" value=""> audio mode<attribute name="BitRate" value=""> in bps<attribute name="Passes" value=""><attribute name="MinimumBitRate" value=""> in bps<attribute name="AverageBitRate" value=""> in bps<attribute name="MaximumBitRate" value=""> in bps<attribute name="GOPLength" value=""><attribute name="AudioBitRate" value=""> in bps<attribute name="AudioSampleRate" value=""> in Hz<attribute name="KeyFrameInterval"> in s <attribute name="BufferSize"> in s

© 2011 AmberFin Limited

Watermarking

<output conversion=”MXF Op1a MPEG2”><watermarking

type=“civolution”index=“2”payload=“1379”

/></output>

© 2011 AmberFin Limited

But it’s more than just codecs

High Energy video Encodercompressedvideo

1% of incoming bitrate is

“good energy”

99% of incoming bitrate isdiscarded

© 2011 AmberFin Limited

Interlace is Evil – why broadcast this?

© 2011 AmberFin Limited

Interlace is Evil – when you can broadcast this?

© 2011 AmberFin Limited

Loosely coupled APIs allow Business Quality choices

High Energy video Encodercompressedvideo

Interlace pollutes outputs

Use API to select quality based on Business Need

© 2011 AmberFin Limited

The Work Order Layer

•Stable, abstracted business oriented communications•Independent of transcoder vendor•Independent of delivery specification

•Transcoder specific comms•One or more transcoders behind interface

© 2011 AmberFin Limited

Stay loose!

• This stuff ain’t trivial• Explore probabilities of change• Explore consequences of change• Explore costs of change• Explore system stability of change

• Play “What if …” with the business folk before designing

© 2011 AmberFin Limited

Business Layer

• SD Playout

HD

CDN

Delivery • CDN

• HD Playout

SD

• Multi-rate Web Streaming

• IPTV

• Versioning

• International

• Captioning Accessibility

Business Layer

What do I store here?

© 2011 AmberFin Limited

What do I store here?

• SD

• HD

• What are you trying to optimise (the caching strategy problem)?• Playout centric

• Edit centric

• Acquisition centric

• Facilities house – bit of everything

© 2011 AmberFin Limited Pg:50

extra

asset

media

asset.mxf

asset_v0.mxf

asset_a0.mxf

asset_a3.mxf

asset_vanc0.mxf

Media is forward referenced from the version file

version file

Loosely coupled essence – AS02, IMF

© 2011 AmberFin Limited

Loose Coupling – a joy

•Stable, abstracted business oriented communications•Independent of transcoder vendor•Independent of delivery specification

•Transcoder specific comms•One or more transcoders behind interface

http://www.amwa.tv (FIMS)

http://www.vcoforum.org (profiles)

http://www.smpte.org (IMF)

© 2011 AmberFin Limited

Stay loose!

• This stuff ain’t trivial• Explore probabilities of change• Explore consequences of change• Explore costs of change• Explore system stability of change

• Play “What if …” with the business folk before designing

© 2011 AmberFin Limited

Stay Loose!

Bruce Devlin

CTO, AmberFin

top related