Jump to content

creating plugins/channels


canucks

Recommended Posts

Hi,

 

I am a long time user of Plex and XBMC and I have a few channels/plugins for both these system.  each has it's flaws and annoyances.  plex is great, i really like the server and client idea, where i can develop a channel and it is available to all my devices...it's just that channels don't support subtitles, which is a necessity for me.  xbmc on the other hand will perfectly handle subtitles from a streaming source (m3u8) via an external srt file and its support for eHLS, but it's not a server & client model :(

 

Media Browser has the server & client model similar to Plex that I really like.  My question to the community and other developers are;

 

  1. does MB support development of channels/plugins, ie has an API that i can use to pull in m3u8 sources?
  2. given a m3u8 stream and srt file, can MB browser and it's client play the stream w/ the srt file? with or without transcoding is fine as long as it display the subtitles
  3. can it play eHLS streams that are AES-128 encrypted and to get the key a cookie/authentication is passed along?

Thanks for answering my questions!  Hoping to jump on the MB bandwagon :)

 

Cheers,

Link to comment
Share on other sites

Redshirt

Hi, and welcome.

 

In answer to your questions, 

 

  1. Yes. There is a feature rich api available. If you install the server, you can view the api documentation by right-clicking the server icon in the system tray. There's also a wiki and the code is public on the github repo. https://github.com/MediaBrowser
  2. Various clients are capable of consuming HLS streams. The server can generate them on the fly for web sources. There are some plugins in the repo above that can provide source examples of retrieving a stream for client viewing. Vimeo is a good example.
  3. I don't know for sure, but I'm going to say yes. The plugin infrastructure is robust enough that it should be possible.
Link to comment
Share on other sites

snazy2000

There are tonnes of channel plugins that i have created which are opensource if you look at the mediabtowser channel plugins repo on github you will find them all there :)

  • Like 1
Link to comment
Share on other sites

thank you for the response. I will now go read some code and setup my environment to attempt writing a channel. if all goes well expect a nhl, nfl amd nba channel soon (require appropriate subscription). this will test mb's ability to play ehls content.

  • Like 2
Link to comment
Share on other sites

i'll take up for offer :), i've been reading some code and samples off the github repo (note I have yet to setup vs express ide and download the other sources).  just reading off github to get a feel of the api.  here's what i've concluded and below are some questions.

 

  1. create Plugin.cs, PluginConfiguration.cs as the base classes...nothing interesting here
  2. MyChannel.cs which implements IChannel - for api to create the channel hierarchy
  3. MyChannel.cs *optionally* implements IRequiresMediaInfoCallback - this will provide proper call back if i need to resolve/compute the final url to a m3u8. the m3u8 link is created on the server side, which has a TTL of 5mins before the link expire. So, if my video feed is "TEAM1 vs TEAM2", clicking on it would make a call back to this method? also, i would need to pass a cookie to it, i assume this can be accomplished with RequiredHttpHeaders in ChannelMediaInfo class?
  4. looking at https://github.com/MediaBrowser/MediaBrowser/blob/master/MediaBrowser.Controller/Channels/ChannelMediaInfo.cs i don't see the property to set an external SRT file, how can it be set?  is there another method to do so?

Cheers and thanks for all the info so far!

Link to comment
Share on other sites

yea that's not supported yet. we haven't needed it up to this point. if you get everything done to the point where that is the last remaining item, then i'll look into it.

Link to comment
Share on other sites

  • 2 weeks later...

since this isn't a blocking issue, let's get the channel release and then i'll schedule the necessary core work sometime soon

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...