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

53
© 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

Upload: herbert-tate

Post on 29-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 2011 AmberFin Limited

Loose Coupling for Multipurpose Distribution

Bruce DevlinChief Technical Officer

Page 2: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief 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

Page 3: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 2011 AmberFin Limited

File Based Workflows

•Why?

Page 4: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 2011 AmberFin Limited

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

Tight coupling …

4

Loose Coupling … what ??

Page 5: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 2011 AmberFin Limited

Start easy … Simple Business Web Page

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

.html

Page 6: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 7: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 8: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 9: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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!

Page 10: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 11: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 12: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 13: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 14: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 15: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 2011 AmberFin Limited

Time passes …

Page 16: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 17: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

$$

Page 18: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 2011 AmberFin Limited

Tight coupling alert !

Page 19: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 20: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

$$$

Page 21: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 2011 AmberFin Limited

Even tighter coupling alert !

Page 22: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 23: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 24: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 25: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 2011 AmberFin Limited

System diagram view

OtherB

Transcode

API

Work orders

Page 26: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 27: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 28: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 2011 AmberFin Limited

Transcode()

• transcode( param )

• This section describes param

Page 29: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 2011 AmberFin Limited

AbstractTranscode API

• Transcode Request Structure

Input Specification

Segment List Specification

Transcode Output Override

Page 30: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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>

Page 31: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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>

Page 32: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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>

Page 33: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 2011 AmberFin Limited

Audio Channel Alignment example

Aligned

Audio Lead (+offset)

Audio Lag (-offset)

Page 34: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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>

Page 35: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 2011 AmberFin Limited

Closed Caption (CC) Streams

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

<captions type=”SAMI”>

<stream>Spanish</stream>

<stream>English</stream>

</captions>

</output>

Page 36: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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>

Page 37: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 2011 AmberFin Limited

Output Scaling

width

height

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

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

</display>

Page 38: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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>

Page 39: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 40: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 41: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 2011 AmberFin Limited

Watermarking

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

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

/></output>

Page 42: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 43: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 2011 AmberFin Limited

Interlace is Evil – why broadcast this?

Page 44: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 2011 AmberFin Limited

Interlace is Evil – when you can broadcast this?

Page 45: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 46: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 47: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 48: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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?

Page 49: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 50: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 51: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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)

Page 52: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 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

Page 53: © 2011 AmberFin Limited Loose Coupling for Multipurpose Distribution Bruce Devlin Chief Technical Officer

© 2011 AmberFin Limited

Stay Loose!

Bruce Devlin

CTO, AmberFin