Mediamosa: Drupal—based open
     source video backend



                    1
Gold Sponsor of
DrupalCamp Kyiv 2011
Silver Sponsors of
DrupalCamp Kyiv 2011
Topics

    What is it?

    How is works

    What about client side?

    Key features

    Past and future

    Opportunities



                               4
What is Mediamosa
Mediamosa is a video storage back-end



                               REST calls:
                               POST, GET

                                 XML




User

              Video frontend                 MediaMosa

                                         5
Why build own 'youtube'?

    Security

    Transcoding

    Metadata

    … and more -> ...




                             6
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

                                       7
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



                                      8
Mediamosa is ...

    Media Asset Management System (MAMS)

    Digital Asset Management System (DAMS)




                                  9
Asset

Asset                                     Mediafile: Video
                                            (Original)


Title                                     Mediafile: Video
Description                              (Transcoded FLV)



                                           Mediafile: Video
                                        (Transcoded MPEG4)




DC/QDC fields like creation date, copyright, etc


                                                        10
Collection
                     Asset 'Animals'



Collection
                     Asset 'Flowers'
 'Biology'


Collection
                   Asset 'Human Body'
'Medicine'



                     Asset 'Surgery'




                   Asset 'Sample Data'

                                   11
Scalability
Tasks can be split up to dedicated servers:


    Upload/download

    Job

    Streaming

    Still (Thumbnails)



                                     12
Server Administration page




                     13
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://




                                                  14
Front-end applications

    Drupal modules

    Just create anything you like on any platform in
    any language, REST is the key




                                       15
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>
                                                    16
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.

                                          17
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">
<dc:creator rdf:resource="http://www.example.org/staffid/85740"/>
</rdf:Description>


                                                  18
Drupal front-end sample




                   19
What mediamosa is NOT

    No fancy streaming solutions at the moment;
    basic HTTP

    Videola




                                     20
What is good for you in MM

    Developer / system integrator

    An enterpreneur

    A representative from *.edu

    Current development contest




                                    21
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




                                      22
Video data today and tomorrow




                      23
Useful links
http://mediamosa.org
http://mediamosa.org/api
http://drupal.org/project/media
http://www.loc.gov/standards/sru/specs/cql.html




                                    24
Questions?

    +38 096 2323 346

    dennis.povshedny@gmail.com




                     25

Dennis Povshedny.Mediamosa intro.DrupalCamp Kyiv 2011

  • 1.
    Mediamosa: Drupal—based open source video backend 1
  • 2.
  • 3.
  • 4.
    Topics  What is it?  How is works  What about client side?  Key features  Past and future  Opportunities 4
  • 5.
    What is Mediamosa Mediamosais a video storage back-end REST calls: POST, GET XML User Video frontend MediaMosa 5
  • 6.
    Why build own'youtube'?  Security  Transcoding  Metadata  … and more -> ... 6
  • 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 7
  • 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 8
  • 9.
    Mediamosa is ...  Media Asset Management System (MAMS)  Digital Asset Management System (DAMS) 9
  • 10.
    Asset Asset Mediafile: Video (Original) Title Mediafile: Video Description (Transcoded FLV) Mediafile: Video (Transcoded MPEG4) DC/QDC fields like creation date, copyright, etc 10
  • 11.
    Collection Asset 'Animals' Collection Asset 'Flowers' 'Biology' Collection Asset 'Human Body' 'Medicine' Asset 'Surgery' Asset 'Sample Data' 11
  • 12.
    Scalability Tasks can besplit up to dedicated servers:  Upload/download  Job  Streaming  Still (Thumbnails) 12
  • 13.
  • 14.
    Drupal frontend: MediamosaCK  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:// 14
  • 15.
    Front-end applications  Drupal modules  Just create anything you like on any platform in any language, REST is the key 15
  • 16.
    REST sample REST callsas 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> 16
  • 17.
    Implementation Drupal 7 multisiteinstallation 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. 17
  • 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"> <dc:creator rdf:resource="http://www.example.org/staffid/85740"/> </rdf:Description> 18
  • 19.
  • 20.
    What mediamosa isNOT  No fancy streaming solutions at the moment; basic HTTP  Videola 20
  • 21.
    What is goodfor you in MM  Developer / system integrator  An enterpreneur  A representative from *.edu  Current development contest 21
  • 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 22
  • 23.
    Video data todayand tomorrow 23
  • 24.
  • 25.
    Questions?  +38 096 2323 346  dennis.povshedny@gmail.com 25