Ignore:
Timestamp:
06/07/10 06:36:10 (3 years ago)
Author:
jeroen
Message:

rewritten playlists/mediaformats/options guides and fixed crosslinks, references to 'type' and pdf rendering.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/fl5/doc/publishers/playlistformats.rst

    r1102 r1104  
    1 .. _playlists: 
     1.. _playlistformats: 
    22 
    3 ============= 
    4 XML Playlists 
    5 ============= 
     3Playlist Support 
     4================ 
    65 
    7 The JW Player for Flash supports several XML-based playlist formats.  They are listed in the table below. 
     6First, note that playlist XML files are subject to the :ref:`crossdomain` of Flash. This means that a videoplayer on one domain cannot load a playlist from another domain. It can be fixed by placing a *crossdomain.xml* file at the server the playlist is loaded from.  
    87 
    9 First, note that playlist XML files are subject to the :ref:`crossdomain security restrictions <crossdomain>` of Flash. This means that a videoplayer on one domain cannot load a playlist from another domain. It can be fixed by placing a :ref:`crossdomain.xml <crossdomain>` file at the server the captions are loaded from. That said, the following playlist formats are supported: 
     8If your playlist and player.swf are hosted on the same domain, these restrictions don't apply. 
    109 
    1110 
    12 Supported Playlist Formats 
    13 ========================== 
    1411 
    15 The following XML-based playlist formats are supported by the JW Player: 
     12Supported XML Formats 
     13--------------------- 
    1614 
    17 .. _XSPF: http://xspf.org/specs 
    18 .. _ASX: http://msdn2.microsoft.com/en-us/library/ms910265.aspx 
    19 .. _ATOM: http://code.google.com/apis/youtube/2.0/developers_guide_protocol.html#Understanding_Video_Entries 
    20 .. _RSS: http://cyber.law.harvard.edu/rss/rss.html 
    21 .. _iTunes: http://apple.com/itunes/store/podcaststechspecs.html 
    22 .. _MediaRSS: http://search.yahoo.com/mrss 
     15That said, the following playlist formats are supported: 
     16 
     17* `ASX <http://msdn2.microsoft.com/en-us/library/ms910265.aspx>`_ feeds 
     18* `ATOM <http://code.google.com/apis/youtube/2.0/developers_guide_protocol.html#Understanding_Video_Entries>`_ feeds with `Media <http://search.yahoo.com/mrss>`_ extensions 
     19* `RSS <http://cyber.law.harvard.edu/rss/rss.html>`_ feeds with `iTunes <http://apple.com/itunes/store/podcaststechspecs.html>`_ extensions and `Media <http://search.yahoo.com/mrss>`_ extensions 
     20* `XSPF <http://xspf.org/specs>`_ feeds 
     21 
     22Here is an overview of all the tags of each format the player processes, and the entry in the JW Player playlist they correspond to: 
     23 
     24==============  ==============  ==============  ==============  ==============  ==============  ============== 
     25JW Player       XSPF            RSS             itunes:         media:          ASX             ATOM           
     26==============  ==============  ==============  ==============  ==============  ==============  ============== 
     27author          creator         (none)          author          credit          author          (none)         
     28date            (none)          pubDate         (none)          (none)          (none)          published      
     29description     annotation      description     summary         description     abstract        summary        
     30duration        duration        (none)          duration        content         duration        (none)         
     31file            location        enclosure       (none)          content         ref             (none)         
     32link            info            link            (none)          (none)          moreinfo        link           
     33image           image           (none)          (none)          thumbnail       (none)          (none)         
     34provider        (none)          (none)          (none)          (none)          (none)          (none)         
     35start           (none)          (none)          (none)          (none)          starttime       (none)         
     36streamer        (none)          (none)          (none)          (none)          (none)          (none)         
     37tags            (none)          category        keywords        keywords        (none)          (none)         
     38title           title           title           (none)          title           title           title          
     39==============  ==============  ==============  ==============  ==============  ==============  ============== 
     40 
     41All **media:** tags can be embedded in a **media:group** element. A **media:content** element can also act as a container. 
    2342 
    2443 
    25  * ASX_ feeds (`ASX example <http://developer.longtailvideo.com/player/testing/files/asx.xml>`_) 
    26  * ATOM_ feeds with MediaRSS_ extensions (`ATOM example <http://developer.longtailvideo.com/player/testing/files/atom.xml>`_) 
    27  * RSS_ feeds with iTunes_ (`iTunes RSS example <http://developer.longtailvideo.com/player/testing/files/irss.xml>`_) extensions and MediaRSS_ extensions (`MRSS example <http://developer.longtailvideo.com/player/testing/files/mrss.xml>`_) 
    28  * XSPF_ feeds (`XSPF example <http://developer.longtailvideo.com/player/testing/files/xspf.xml>`_) 
     44 
     45JWPlayer Namespace 
     46------------------ 
     47 
     48In order to enable all JW Player file properties for all feed formats, the player contains a **jwplayer** namespace. By inserting this into your feed, properties that are not supported by the feed format itself (such as the **streamer**) can be amended without breaking validation.  Any of the entries listed in the above table can be inserted. Here's an example, of a video that uses :ref:`rtmpstreaming`: 
     49 
     50.. code-block:: html 
     51 
     52   <rss version="2.0" xmlns:jwplayer="http://developer.longtailvideo.com/"> 
     53     <channel> 
     54       <title>Example RSS feed with jwplayer extensions</title> 
     55       <item> 
     56         <title>Big Buck Bunny</title> 
     57         <jwplayer:file>videos/nPripu9l-60830.mp4</jwplayer:file> 
     58         <jwplayer:streamer>rtmp://myserver.com/myApp/</jwplayer:streamer> 
     59         <jwplayer:duration>34</jwplayer:duration> 
     60       </item> 
     61     </channel> 
     62   </rss> 
     63 
     64**Pay attention to the top level tag, which describes the JW Player namespace with the xmlns attribute. This must be available in order to not break validity.** 
    2965 
    3066 
    31 Here is an overview of all the tags for each playlist format the player processes, and the :ref:`Playlist Item <options-playlist>` property they correspond to: 
     67 
     68Mixing namespaces 
     69----------------- 
     70 
     71You can mix **jwplayer** elements with both the regular elements of a feed and elements from the mRSS and iTunes extensions. If multiple elements match the same playlist entry, the elements will be prioritized: 
     72 
     73* Elements that are defined by the feed format (e.g. the *enclosure* in RSS)  get the lowest priority. 
     74* Elements defined by the *itunes* namespace rank third. 
     75* Element defined by the *media* namespace (e.g. *media:content*) rank second. 
     76* Elements defined by the *jwplayer* extension always gets the highest priority. 
     77 
     78This feature allows you to set, for example, a specific video version or streaming features for the JW Player, while other feed aggregators will pick the default content. In the above example feed, we could insert a regular *enclosure* element that points to a download of the video. This would make the feed useful for both the JW Player and text-oriented aggregators such as Feedburner. 
    3279 
    3380 
    34 ======================================  =========== ==============  ==========  ==============  ==========  ========== 
    35 Property                                XSPF_       RSS_            iTunes_     MediaRSS_       ASX_        ATOM_ 
    36 ======================================  =========== ==============  ==========  ==============  ==========  ========== 
    37 :ref:`author <options-playlist>`        creator     (none)          author      credit          author      (none) 
    38 :ref:`date <options-playlist>`          (none)      pubDate         (none)      (none)          (none)      published 
    39 :ref:`description <options-playlist>`   annotation  description     summary     description     abstract    summary 
    40 :ref:`duration <options-playlist>`      duration    (none)          duration    content         duration    (none) 
    41 :ref:`file <options-playlist>`          location    enclosure       (none)      content         ref         (none) 
    42 :ref:`link <options-playlist>`          info        link            (none)      (none)          moreinfo    link 
    43 :ref:`image <options-playlist>`         image       (none)          (none)      thumbnail       (none)      (none) 
    44 :ref:`start <options-playlist>`         (none)      (none)          (none)      (none)          starttime   (none) 
    45 :ref:`streamer <options-playlist>`      (none)      (none)          (none)      (none)          (none)      (none) 
    46 :ref:`tags <options-playlist>`          (none)      category        keywords    keywords        (none)      (none) 
    47 :ref:`title <options-playlist>`         title       title           (none)      title           title       title 
    48 :ref:`provider <options-playlist>`      (none)      (none)          (none)      (none)          (none)      (none)     
    49 ======================================  =========== ==============  ==========  ==============  ==========  ========== 
    5081 
    51 All **media:** tags can be embedded in a **media:group** element. A **media:content** element can also act as a container. Additionally, iTunes_ and MediaRSS_ tags can be mixed in one RSS_ feed. The player will pick the last matching element for each property. 
     82Adding properties 
     83----------------- 
    5284 
    53 JWPlayer Namespace 
    54 ================== 
    55  
    56 In order to enable all JW Player file properties for all feed formats, the 4.4 player introduced a **jwplayer** namespace. By inserting this into your feed, file properties that are not supported by the feed format itself (such as the **provider** or **duration** in an RSS feed) can be amended without breaking validation.  Any of the flashvars listed in the above table can be inserted. Here's an example: 
     85Certain plugins (e.g. *captions* and *hd*) and providers (:ref:`http <httpstreaming>` and :ref:`rtmp <rtmpstreaming>`) support item-specific configuration options. These are placed inside **jwplayer** tags as well, and are inserted like this: 
    5786 
    5887.. code-block:: xml 
    5988 
    60         <rss version="2.0" xmlns:jwplayer="http://developer.longtailvideo.com/trac/wiki/FlashFormats"> 
    61           <channel> 
    62             <title>Example RSS feed with jwplayer extensions</title> 
    63             <item> 
    64               <title>FLV Video</title> 
    65               <link>http://www.bigbuckbunny.org/</link> 
    66               <description>Big Buck Bunny is a short animated film by the Blender Institute, part of the Blender Foundation.</description> 
    67               <enclosure url="../../testing/files/bunny.flv" type="video/x-flv" length="1192846" /> 
    68               <jwplayer:author>the Peach Open Movie Project</jwplayer:author> 
    69               <jwplayer:provider>http</jwplayer:provider> 
    70               <jwplayer:duration>34</jwplayer:duration> 
    71             </item> 
    72           </channel> 
    73         </rss> 
    74  
    75 Pay attention to the top level tag, which describes the JW Player namespace with the **xmlns** attribute. This must be available in order to not break validity. 
    76  
    77 You can mix **jwplayer** elements with both the regular elements of a feed and elements from other extensions (mrss/itunes). If multiple elements match the same property, the elements will be prioritized: 
    78  
    79  * Elements defined by the **jwplayer** extension always gets the highest priority. 
    80  * Element defined by the **media** namespace (e.g. **media:content**) rank second. 
    81  * Elements defined by the **itunes** namespace rank third. 
    82  * Elements that are defined by the feed format (e.g. the **enclosure** in RSS_)  get the lowest priority. 
    83  
    84 This feature allows you to set, for example, a specific video version or streaming **provider** for the JW Player, while other feed aggregators will pick the default content. 
    85  
    86 Adding Additional Properties 
    87 ============================ 
    88  
    89 Certain plugins, and some media-related player options, support item-specific configuration options.  These are placed inside **jwplayer** tags as well, and are inserted like this: 
    90  
    91 .. code-block:: xml 
    92  
    93         <rss version="2.0" xmlns:jwplayer="http://developer.longtailvideo.com/trac/wiki/FlashFormats"> 
    94           <channel> 
    95             <title>Example RSS feed with playlist item extensions</title> 
    96             <item> 
    97               <title>First Video</title> 
    98               <link>http://www.bigbuckbunny.org/</link> 
    99               <description>Big Buck Bunny is a short animated film by the Blender Institute, part of the Blender Foundation.</description> 
    100               <enclosure url="../../testing/files/bunny.flv" type="video/x-flv" length="1192846" /> 
    101               <jwplayer:provider>http</jwplayer:provider> 
    102               <jwplayer:http.startparam>start</jwplayer:http.startparam> 
    103               <jwplayer:captions.file>testing/files/captions_1.xml</jwplayer:captions.file> 
    104             </item> 
    105             <item> 
    106               <title>Second Video</title> 
    107               <link>http://www.bigbuckbunny.org/</link> 
    108               <description>Big Buck Bunny is a short animated film by the Blender Institute, part of the Blender Foundation.</description> 
    109               <enclosure url="../../testing/files/bunny.mp4" type="video/mp4" length="1192846" /> 
    110               <jwplayer:provider>http</jwplayer:provider> 
    111               <jwplayer:http.startparam>offset</jwplayer:http.startparam> 
    112               <jwplayer:captions.file>testing/files/captions_2.xml</jwplayer:captions.file> 
    113             </item> 
    114           </channel> 
    115         </rss> 
    116          
    117 Notice that the **<jwplayer:http.startparam>** and **<jwplayer:captions.file>** properties are set differently for each of the playlist items. 
     89   <rss version="2.0" xmlns:jwplayer="http://developer.longtailvideo.com/"> 
     90     <channel> 
     91       <title>Example RSS feed with playlistitem extensions</title> 
     92       <item> 
     93         <title>First video</title> 
     94         <enclosure url="/files/bunny.flv" type="video/x-flv" length="1192846" /> 
     95         <jwplayer:provider>http</jwplayer:provider> 
     96         <jwplayer:http.startparam>start</jwplayer:http.startparam> 
     97         <jwplayer:captions.file>/files/captions_1.xml</jwplayer:captions.file> 
     98       </item> 
     99    
     100       <item> 
     101         <title>Second Video</title> 
     102         <enclosure url="/files/bunny.mp4" type="video/mp4" length="1192846" /> 
     103         <jwplayer:provider>http</jwplayer:provider> 
     104         <jwplayer:http.startparam>starttime</jwplayer:http.startparam> 
     105         <jwplayer:captions.file>/files/captions_2.xml</jwplayer:captions.file> 
     106       </item> 
     107     </channel> 
     108   </rss> 
     109    
     110Notice that the **<jwplayer:http.startparam>** and **<jwplayer:captions.file>** properties are set differently for each of the playlist items.  
Note: See TracChangeset for help on using the changeset viewer.