How to add MJPEG Stream Viewer package to Scheduled Player

I have used the MJPEG Stream Viewer (MSV) package successfully for viewing MJPEG streams.

I’ve used the Scheduled Player (SP) package for making playlists, and added the Web Browser (WB) package.

It doesn’t seem possible to “add” the MJPEG Stream Viewer package to the Scheduled Player setup, see this image:

What edits to the MJPEG Stream Viewer would be required to make it able to be added to the Scheduled Player? I am technically able to consider some amount of development/configuration, if it is possible.

Thanks :]

I see in Streaming package as plugin of scheduled player package this quote:

Most packages cannot be combined as they don’t work together. I guess you’re trying to play YouTube videos from within the Schedule Player?

It is abstract what “don’t work together” means, which is why I made a new post ;]

Sorry for the delay. The package cannot be directly added as the MJPEG player only knows how to run exclusively as a top-level package. It doesn’t implement the necessary API to be embeddable into the scheduled player. In theory that would probably not be too difficult: The package service (in the file service) can remain unchanged, but it would need a new tile.lua file and tile.js. I could take a look at that next week.

That makes sense! Thanks for taking a look. I’m interested to know what it needs, so I’ll keep track of the diffs on GitHub - info-beamer/package-mjpeg-viewer: A mjpeg viewer for info-beamer hosted. If you don’t find time for it, I can have a go, for which I’d appreciate: an example of another simple package that already implements tile.lua and tile.js; any “gotchas” that the mjpeg viewer might come with when these files are created; a general link to contributing guidelines/etc. :] … otherwise, I wish you luck with it ^.^ … thanks !

I’ve had another look, and it’s difficult to see what I need to do without documentation or a dedicated development Pi on-hand.


From what I can figure:

tile.js seems to want to:

  • contain a template for the settings when you click on a scheduled player item

tile.lua seems to want to:

  • contain logic for rendering onto the screen
  • return M with
    • M.task(starts, ends, config, x1, y1, x2, y2) implemented (whatever the arguments mean)
    • maybe M.data_trigger(path, data) and other functions are supported(?)

some examples of tile.lua and tile.js are here:


can you only develop on a pi? can you develop on a raspbian virtual machine? the answer to these questions is not obvious to me.

Some links I have been reading to figure things out:

It was also not obvious whether tile.lua could re-use lua code/logic from node.lua, or if they are completely separate items (are the functions in node.lua available? I feel maybe not? I have no idea).

Finally, to be “importable”, presumably there is some sort of specification (in json?) of “this package can be used in scheduled player”.


As I said, I’m happy to do work to add scheduled player support, but it seems difficult to develop packages unless you have a dedicated Pi device for development, and you understand a lot of undocumented stuff. I would appreciate guidance, but without it: I’ll probably set up a Pi in the near future for development and just throw stuff at it until it sticks…