dennis povshedny.mediamosa intro.drupalcamp kyiv 2011
DESCRIPTION
TRANSCRIPT
1
Mediamosa: Drupal—based open source video backend
Gold Sponsor ofDrupalCamp Kyiv 2011
Silver Sponsors ofDrupalCamp Kyiv 2011
4
Topics
What is it? How is works What about client side? Key features Past and future Opportunities
5
What is Mediamosa
Mediamosa is a video storage back-end
User
MediaMosaVideo frontend
REST calls:POST, GET
XML
6
Why build own 'youtube'?
Security Transcoding Metadata … and more -> ...
7
Key features
REST is an engine Scalable, service-oriented architecture (SOA) Using and implementing open standards
(Dublin core, CQL, SOLR) ACL: access limitations, f.e. domain and user
level Transcoding with FFMpeg Distributed job processing architecture
8
Key features, II
Supports Open standards Using Open protocols Code is self-documented Is Open source (GPL2) by itself Using open source software and approach —
trac, etc
9
Mediamosa is ...
Media Asset Management System (MAMS) Digital Asset Management System (DAMS)
10
Asset
Mediafile: Video(Original)
Asset
TitleDescription
Mediafile: Video(Transcoded FLV)
Mediafile: Video(Transcoded MPEG4)
DC/QDC fields like creation date, copyright, etc
11
Collection
Collection'Biology'
Asset 'Flowers'
Asset 'Human Body'
Asset 'Surgery'
Collection'Medicine'
Asset 'Sample Data'
Asset 'Animals'
12
Scalability
Tasks can be split up to dedicated servers:
Upload/download Job Streaming Still (Thumbnails)
13
Server Administration page
14
Drupal frontend: Mediamosa CK Several Drupal modules are available WLE (White Label Enduser Application) Mediamosa CK for Drupal 6 Mediamosa CK for Drupal 7, based on 'Media' module
– based on nice PHP/Drupal 7 feature called streams
– allows to refer to mediamosa files in the same way as to YouTube, Flickr, etc.
– youtube:// flickr:// mediamosa://
15
Front-end applications
Drupal modules Just create anything you like on any platform in
any language, REST is the key
16
REST sample
REST calls as a MediaMosa communication interface
Example: /mediafile/$mediafile_id [GET]
<items>
<item id="1">
<mediafile_id>V1XjsW9ojjpmUeLcH88QT53w</mediafile_id>
<asset_id>oDGgukVLA6bVQeLjSWZYV7a0</asset_id>
<app_id>14</app_id>
<owner_id>admin</owner_id>
<is_original_file>TRUE</is_original_file>
....
</item>
17
Implementation
Drupal 7 multisite installation with a lot of custom classes.
Every REST call, internal or external, is a class.
Drupal 7 with lazy loading is very important.
Developer experience: dive-in time.
18
Human/machine friendly standards
CQL, Contextual Query Language:dc.title any fish
dc.title any fish or dc.creator any sanderson
dc.title any fish sortBy dc.date/sort.ascending
RDF, Resource Description Framework:<rdf:Description rdf:about="http://www.example.org/index.html"><rdf:Description rdf:about="http://www.example.org/index.html">
<dc:creator rdf:resource="http://www.example.org/staffid/85740"/><dc:creator rdf:resource="http://www.example.org/staffid/85740"/>
</rdf:Description></rdf:Description>
19
Drupal front-end sample
20
What mediamosa is NOT
No fancy streaming solutions at the moment; basic HTTP
Videola
21
What is good for you in MM
Developer / system integrator An enterpreneur A representative from *.edu Current development contest
22
History/ Future
Development started in 2008 First release made in June 2009
Trends: video / eLearning is quite on demand Q4 2011: Mediamosa 3.5 planned
23
Video data today and tomorrow
24
Useful links
http://mediamosa.org
http://mediamosa.org/api
http://drupal.org/project/media
http://www.loc.gov/standards/sru/specs/cql.html