User Tools

Site Tools


servio_plugins

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

servio_plugins [2012/06/18 21:42]
ttguy [Installation] - where to find the place to configure the RSS feeds
servio_plugins [2024/06/07 18:22]
Line 1: Line 1:
-====== Serviio Plugins ====== 
- 
-Serviio plugins provide access to online sources such as Youtube or Regional Catchup TV services (e.g. BBC Iplayer).  A DLNA client will be able to browse these streams in a similar fashion to local movies and music.  
- 
-This feature was made available as part of Serviio 0.6, the plugins [[http://www.serviio.org/index.php?option=com_content&view=article&id=42|plugins announcement]] page describes the feature in some detail as well as this [[serviio_groovy_plugins_explained|wiki page]]. 
- 
-Serviio doesn't include any plugins as part of the install but you can... 
-   * browse the [[http://forum.serviio.org/viewforum.php?f=20|available plugins forum]] for plugins developed by the Serviio Team and community 
-   * make suggestions in the [[http://forum.serviio.org/viewforum.php?f=21|plugin request forum]] 
-   * read the [[http://forum.serviio.org/viewforum.php?f=22|plugin development forum]] and have a go at developing your own plugin.   
-  
-From version 0.6.1 Serviio supports plugins for **RSS/Atom feeds** and other **Web Resources**. Note some feeds that link directly to media require no plugin at all! 
- 
-Plugins help Serviio locate the exact location of the media streams as the feed often links to html pages rather than the stream. 
- 
-====== Installation ====== 
-   1. Download the plugin 
-   2. Copy the plugin to the plugins folder (eg to /usr/bin/serviio-0.6.2/plugins on linux) 
-   3. Configure Serviio with at least one url to an RSS feed.  This is done using the serviio console using the Online Source Tab which is found on the Library tab. 
- 
-After up to 5 mins the streams should be available to view.  On the DLNA client look for a new folder called "Online Sources" 
- 
-====== Development ====== 
- 
-Read the [[http://forum.serviio.org/viewtopic.php?f=22&t=3274|Guide to plugin development]] 
- 
-Online content is usually served via **http** or **rtmp** protocol. The former is very easy to consume. The latter is mostly used by Adobe Flash servers and used in many online video services and FFmpeg compiled with [[http://rtmpdump.mplayerhq.hu/|libRTMP]] is necessary for playback. Some rtmp streams require swf verification (not implementing that usually means the stream is cut after a period of time, like 1 minute). 
- 
-Feed item URLs can expire with time, if that is the case you will have to provide the expiry date so that Serviio can re-run the URL extraction when that happens and get a valid URL when necessary. You can also define whether the content is a live stream or static content. 
- 
-<note tip>    
-   * Look at existing plugins, there may be a plugins that can be adapted with only minor changes 
-   * The plugins can be largely tested outside of serviio (to speed up development).   
-      * Look at Youtube.groovy's main method, this acts like a unit test.  
-         * test1: does this plugin correctly identifies feeds it can and can't handle 
-         * test2: when given a link from an rss item, does the plugin correctly determine the media? 
-   * Once the tests above pass it's time to install the plugin and do some final testing  
-</note> 
- 
-A plugin can be tested outside of groovy by running: 
- 
-__On Windows:__ 
-groovy -cp "C:\Program Files (x86)\Serviio\lib\serviio.jar;C:\Program Files (x86)\Serviio\lib\slf4j-api.jar;C:\Program Files (x86)\Serviio\lib\slf4j-log4j12.jar;C:\Program Files (x86)\Serviio\lib\log4j.jar" "C:\Program Files (x86)\Serviio\plugins\CNN.groovy" 
- 
-I suggest to create a MS-DOS batch file (ex: "{{ :pluginstest.zip | PluginsTest.bat}}" ) with following content, then drag&drop the groovy over the batch file (%1 variable will be replaced by groovy file path): 
-<code> 
-@echo off 
-@ set ServiioPath="C:\Program Files (x86)\Serviio" 
-@echo "Testing %1 plugin" 
-%GROOVY_HOME%\bin\groovy.exe -cp "%ServiioPath%\lib\serviio.jar;%ServiioPath%\lib\slf4j-api.jar;%ServiioPath%\lib\slf4j-log4j12.jar;%ServiioPath%\lib\log4j.jar;%ServiioPath%\lib\org.restlet.jar" "%1" 
-@pause 
-</code> 
- 
- 
- 
-__On Linux:__ 
-From your serviio install folder (eg /usr/bin/serviio-0.6.2) and with a s4c.groovy file installed in plugins: 
- 
-groovy -cp lib/serviio.jar:lib/slf4j-api.jar:lib/slf4j-log4j12.jar:lib/log4j.jar:lib/org.restlet.jar plugins/S4c.groovy 
- 
-And of course you can use the [[http://forum.serviio.org/viewforum.php?f=22|Plugin development forum]] if you get stuck 
- 
-====== Logging ====== 
-Logging is configured through conf/log4j.xml.  You could change the priority of all packages to DEBUG but this is very verbose. 
- 
-I've found adding the following gives me useful additional info for plugin development: 
- 
-   <category name="org.serviio.external"> 
-      <priority value="DEBUG"/> 
-   </category> 
-   <category name="org.serviio.upnp.webserver"> 
-      <priority value="DEBUG"/> 
-   </category> 
-   <category name="org.serviio.renderer"> 
-      <priority value="DEBUG"/> 
-   </category> 
-   <category name="org.serviio.delivery"> 
-      <priority value="DEBUG"/> 
-   </category> 
-   <category name="org.serviio.library.online"> 
-     <priority value="DEBUG"/> 
-   </category> 
- 
  
servio_plugins.txt ยท Last modified: 2024/06/07 18:22 (external edit)