Application Development Jon Billings BBC
Application Development Jon Billings BBC
Jon Billings
Head of Development, A&M & Mobile
British Broadcasting Corporation
Presentation summary
•Channel/day and
category list views on
TV & Radio tabs
•Search gives
radio/tv filterable list
views
What is mobile iPlayer?
2. Initiate content
6. Make available acquisition
5. Move to
distribution
HTTP 3GP
distribution streaming
server server
What we built:
Commissioned new AV encodes from BBC iPlayer
team
Radio: AAC+ 56kbps stereo
Radio: re-use Real Audio G2 streams
TV: 70kbps 176x96 12.5fps H.264 baseline 1, 32kbps 32khz AAC-LC
TV: 128kbps 320x176 25fps H.264 baseline 1, 56kbps 48khz AAC-LC
D:\fz\3g_5390716962194362924.3gp
D:\fz\wifi_5390716962194362924.3gp
Javascript/WRT application
MVC application that:
Hits config service to get its entitlement
Checks its own version against the upgrade service
Sets CSS attributes from config service (so has CSS customisation per model)
Maintains internal state – e.g. crumb trail outstanding XHR requests etc
Xhr request to Dynamite feed engine for each section in the UI –
Filtered by view type (e.g. “featured”, “most popular” etc) and device specific availability
Markup from dynamite template, styling from app CSS
On item selection, another request to iPlayer systems for details of the item
Full metadata, and auth controlled acccess to stream
Putting it together:
Get entitlement
/con/device.shtml
/featured/service_type/tv/limit/10/media_set/n-series/
/episodedetail/episode/b00nfl3z/
{ "content" : true,
pids" : { "b00nc9w0" :
{ "result" : "ok",
"media_file_size" : 209945796,
"iplayer_streaming_n95_wifi" :
"http://www.bbc.co.uk/mediaselector/4/sdp/b00nc9w0/iplayer_
streaming_n95_wifi"
}
}
}
Parse out stream URL=> destination for onclick action
Tricky stuff