A microservice approach to creating a video event notification system
- Connects to a movie that is currently playing on a device
- Microservice approach
- Host application contains a database with the movie name, time, and events
- Video modules send the current movie and time to host
- host notifies communication modules a list of movies playing, and events for each movie
- Communication modules subscribes to host and a specific movie
- Use pub/sub MQTT, with JSON payloads
- Host contains a storage which contains movies, times, and events
- For each movie, there is a list of times and events
- Host subscribes to an update topic which will send the movie name, time, and events
- NOTE: May not need, reconsider
- On start-up the host parses rules
- By using time as the indicator for the events, the rules can be generated by any number of methods. So long as a CSV is generated
- Subscribes to:
- a topic that provides currently playing movies, the current time, and if it is playing or paused.
- a topic that provides new rules at runtime
- Publishes to:
- topic which provides a list of currently playing movies
- a separate topic for each movie, which provides the events
- Parse new rules on start-up and store locally
- Connects to a video service (VLC, Chromecast, PleX, etc.)
- Retrieves the currently playing movie, elapsed time, and play status (paused, playing)
- only sends update when play status changes, and periodic time sync messages
- Sends retrieved information to the host module through agreed-upon topic
- Provides a human interface for the game
- Gives some sort of indication for events occurring
- Connects to topic to retrieve list of movies
- Subscribes to movie of interest
<div class="text-muted text-small">
<div class="entity-meta">
<a href="http://10.0.0.5:6875/books/video-event-notifier/page/general-ideas/revisions"> <svg class="svg-icon" data-icon="history" role="presentation" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M0 0h24v24H0z" fill="none"/>
<path d="M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9zm-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8H12z"/>
Revision #9
Created Fri, Jun 28, 2019 5:39 PM by Spencer Delcore
<br>
<svg class="svg-icon" data-icon="edit" role="presentation" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"/>
<path d="M0 0h24v24H0z" fill="none"/>
Updated Fri, May 8, 2020 7:21 PM by Spencer Delcore
</div>