# How to add MJPEG Stream Viewer package to Scheduled Player

**URL:** <https://community.info-beamer.com/t/how-to-add-mjpeg-stream-viewer-package-to-scheduled-player/1369>\
**Category:** Help\
**Created:** [October 13, 2025, 7:23pm UTC](https://community.info-beamer.com/t/how-to-add-mjpeg-stream-viewer-package-to-scheduled-player/1369 "2025-10-13T19:23:38Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![alifeee](https://community.info-beamer.com/user_avatar/community.info-beamer.com/alifeee/32/851_2.png) [@alifeee](https://community.info-beamer.com/u/alifeee)\
**Post date:** [October 13, 2025, 7:23pm UTC](https://community.info-beamer.com/t/how-to-add-mjpeg-stream-viewer-package-to-scheduled-player/1369/1 "2025-10-13T19:23:39Z")

</div>

I have used the [MJPEG Stream Viewer](https://info-beamer.com/raspberry-pi-digital-signage-mjpeg-stream-viewer-8464.html) (MSV) package successfully for viewing MJPEG streams.

I’ve used the [Scheduled Player](https://info-beamer.com/raspberry-pi-digital-signage-scheduled-player-4765.html) (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:

 ![image](https://community.info-beamer.com/uploads/default/original/1X/83ef550d12277bd852a68eb53393d21e986a05c1.png)

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 :]

---

<div class="post-metadata">

**Author:** ![alifeee](https://community.info-beamer.com/user_avatar/community.info-beamer.com/alifeee/32/851_2.png) [@alifeee](https://community.info-beamer.com/u/alifeee)\
**Post date:** [October 13, 2025, 7:25pm UTC](https://community.info-beamer.com/t/how-to-add-mjpeg-stream-viewer-package-to-scheduled-player/1369/2 "2025-10-13T19:25:30Z")

</div>

I see in [Streaming package as plugin of scheduled player package](https://community.info-beamer.com/t/streaming-package-as-plugin-of-scheduled-player-package/962) 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 ;]

---

<div class="post-metadata">

**Author:** ![infobeamer-fw](https://community.info-beamer.com/user_avatar/community.info-beamer.com/infobeamer-fw/32/3_2.png) [@infobeamer-fw](https://community.info-beamer.com/u/infobeamer-fw)\
**Post date:** [November 6, 2025, 2:02pm UTC](https://community.info-beamer.com/t/how-to-add-mjpeg-stream-viewer-package-to-scheduled-player/1369/3 "2025-11-06T14:02:16Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![alifeee](https://community.info-beamer.com/user_avatar/community.info-beamer.com/alifeee/32/851_2.png) [@alifeee](https://community.info-beamer.com/u/alifeee)\
**Post date:** [November 6, 2025, 2:37pm UTC](https://community.info-beamer.com/t/how-to-add-mjpeg-stream-viewer-package-to-scheduled-player/1369/4 "2025-11-06T14:37:26Z")

</div>

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](https://github.com/info-beamer/package-mjpeg-viewer). 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 !

---

<div class="post-metadata">

**Author:** ![alifeee](https://community.info-beamer.com/user_avatar/community.info-beamer.com/alifeee/32/851_2.png) [@alifeee](https://community.info-beamer.com/u/alifeee)\
**Post date:** [December 19, 2025, 1:29pm UTC](https://community.info-beamer.com/t/how-to-add-mjpeg-stream-viewer-package-to-scheduled-player/1369/5 "2025-12-19T13:29:22Z")

</div>

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:

- [https://github.com/info-beamer/package-scheduled-player/tree/master/weather](https://github.com/info-beamer/package-scheduled-player/tree/master/weather)
- [https://github.com/info-beamer/package-scheduled-player/tree/master/frab](https://github.com/info-beamer/package-scheduled-player/tree/master/frab)
- [https://github.com/info-beamer/package-scheduled-player/tree/master/scroller](https://github.com/info-beamer/package-scheduled-player/tree/master/scroller) (broken… no `tile.js`?)
- [https://github.com/info-beamer/package-scheduled-player/tree/master/twitter](https://github.com/info-beamer/package-scheduled-player/tree/master/twitter)

* * *

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:

- dev info: [https://info-beamer.com/doc/building-packages](https://info-beamer.com/doc/building-packages)
- some info on `tile.lua`: [https://community.info-beamer.com/t/documentation-on-creating-scheduled-player-plugins/1035/4](https://community.info-beamer.com/t/documentation-on-creating-scheduled-player-plugins/1035/4) and [https://community.info-beamer.com/t/infoscreen-for-sports-club/959/4](https://community.info-beamer.com/t/infoscreen-for-sports-club/959/4)

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…
