doc/integration.en.md
author veltr
Thu, 30 Aug 2012 15:00:21 +0200
changeset 947 ec4e9ddf9fba
parent 929 a39ff507b050
child 960 9a278b9e3b05
permissions -rw-r--r--
Docs now refer to default branch
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
     1
# Integrating the Metadataplayer in an HTML page #
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
     2
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
     3
WARNING !
947
ec4e9ddf9fba Docs now refer to default branch
veltr
parents: 929
diff changeset
     4
This documentation refers to the latest version of Metadataplayer, available in the **default** branch in our repository
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
     5
http://www.iri.centrepompidou.fr/dev/hg/metadataplayer
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
     6
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
     7
## Loading the script ##
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
     8
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
     9
The *LdtPlayer-core.js* must be declared in the HTML header.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    10
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    11
    <head>
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    12
        <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    13
        <title>Metadataplayer integration test</title>
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    14
        <script type="text/javascript" src="metadataplayer/LdtPlayer-core.js" type="text/javascript"></script>
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    15
    </head>
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    16
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    17
## Declaration of a container HTML element ##
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    18
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    19
    <body>
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    20
        <div id="Metadataplayer"></div>
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    21
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    22
The script for configuring and loading the Metadataplayer must be executed after this element is declared either by :
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    23
    - Adding a <*script*> element at the bottom of the page
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    24
    - Using an event such as *body.onload*
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    25
    - Using jQuery's *$(function(){})* syntax or an equivalent in your favorite framework
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    26
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    27
    <script type="text/javascript">
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    28
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    29
## Interface language configuration ##
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    30
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    31
Language is defined ISO 639-1 (e.g., "es" pour l’Espagnol, "ja" pour le Japonais, "eu" pour le Basque). As of July 2012, only English ("en") and French ("fr") are available.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    32
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    33
    IriSP.language = "fr";
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    34
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    35
## Library location configuration ##
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    36
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    37
By default (as defined in *defaults.js*), librairies are loaded from either a CDN (Content Distribution Network) or from the *js/libs* directory.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    38
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    39
Configuration is done by overriding the properties of *IriSP.libFiles*
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    40
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    41
To use the CDN:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    42
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    43
    IriSP.libFiles.useCdn = true;
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    44
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    45
To change the location of the library directory:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    46
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    47
    IriSP.libFiles.defaultDir = "/path/libs";
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    48
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    49
To change individual locations or to point to files outside the default directory:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    50
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    51
    IriSP.libFiles.locations.jQueryUI = "libs/jquery-ui-1.8.16.custom.min.js";
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    52
    IriSP.libFiles.locations.jwPlayerSWF = "libs/jwplayer/player.swf";
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    53
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    54
## Configuration of metadata source ##
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    55
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    56
A metadata source is defined by its url and file type (which defines the *serializer* to use).
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    57
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    58
Example:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    59
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    60
    var metadataSource = {
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    61
        url: "data/mydata.json",
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    62
        type: "ldt"
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    63
    };
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    64
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    65
Metadata sources are then used to configure both the video player and the widgets.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    66
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    67
## Configuration of the video player ##
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    68
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    69
The video player is configured through an object having the following properties:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    70
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    71
- **metadata**: Metadata source.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    72
- **type**: Video player type :
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    73
    - **"jwplayer"**: Uses flash-based jwPlayer, compatible with many video and audio formats, including MP3 audio, MP4 video and RTMP streams.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    74
    - **"html5"**: Uses the Popcorn.js library to play HTML5 videos. Supported formats : OGG and WebM on Firefox and Chrome, H.264 on Internet Explorer, Safari and Chrome.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    75
    - **"youtube"**: Uses Popcorn's Youtube plugin.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    76
    - **"dailymotion"**
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    77
    - **"auto"**: Replaced by *Youtube* or *Dailymotion* for a video hosted on one of these platform, or *jwPlayer* in other cases.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    78
- **width** and **height** of the video player.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    79
- **video**: Video URL. Optional: If present, it overrides the video URL defined in the metadata source.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    80
- Player-specific options, such as **provider** or **streamer** for JwPlayer
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    81
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    82
Example:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    83
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    84
    var playerConfig = {
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    85
        metadata: metadataSource,
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    86
        type: "jwplayer",
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    87
        height: 350,
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    88
        width: 620,
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    89
        provider: "rtmp"
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    90
    };
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    91
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    92
## User Interface Configuration ##
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    93
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    94
L’interface se configure par un objet GUI, contenant les propriétés suivantes:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    95
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    96
- **container**: l’ID de l’élément HTML dans lequel le player sera instancié.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    97
- **width** et **height**: largeur et hauteur de l’interface (*height* est optionnel).
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    98
- **default\_options**: des options de configuration communes à tous les widgets, par exemple, comme ci-dessous, une source de métadonnées communes.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    99
- **css**: l’URL du fichier CSS de base (LdtPlayer-core.css)
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   100
- **widgets**: la liste des widgets, sous la forme [ { type: *Type du widget*, option_1: *Valeur de l’option 1* } ]. Pour les options des widgets, se référer au document *Architecture générale*
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   101
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   102
Exemple:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   103
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   104
    var guiConfig = {
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   105
        container : "Metadataplayer",
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   106
        default_options: {
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   107
            metadata: metadataSource
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   108
        },
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   109
        css : "metadataplayer/css/LdtPlayer-core.css",
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   110
        widgets: [
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   111
            {
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   112
                type: "Slider"
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   113
            },{
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   114
                type: "Controller",
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   115
                disable\_annotate\_btn: true
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   116
            },{
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   117
                type: "Segments",
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   118
                annotation\_type: "Chapters"
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   119
            },{
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   120
                type: "AnnotationsList",
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   121
                container: "AnnotationsListContainer"
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   122
            }
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   123
        ]
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   124
    };
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   125
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   126
## Instanciation du player ##
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   127
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   128
Le player s’instancie en créant un objet de type **IriSP.Metadataplayer**.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   129
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   130
Exemple:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   131
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   132
    var config = {
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   133
        player: playerConfig,
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   134
        gui: guiConfig
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   135
    };
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   136
    var monPlayer = new IriSP.Metadataplayer(config);