Project for CSC 463
Documentation can be found under the docs/ directory. Various documentation resources are available.
This project will be a portion of a larger media management system designed to facitlitae the organization and playback of media. It will in esscence be a Plex-like system as a whole. Architechturally it is planned to operate in a psuedo service-oriented fashion, where each service operates with in a docker container, and a docker-compose setup will allow an easy deployment for the end user. The level of granularity and the decison of orchestration or choreogrophy are yet to be determined, but are also beyond the scope of this project.
This project will be focused on the service(s) responsible for the actual playback of media. For scope reasons it will be limited to video files. This service will be able to play videos over the network in real-time. It should respect standard commands like stop, pause, seek. It should be able to transcode the video to various codecs, tonemap, change bitrate, transcode audio, etc. If a standard media server can do it, this system should be able to as well. FFMPEG will be the tool of choice for heavy lifting.
Typically a client device would tell the server that playback capabilities, for this project it will be mocked as the development of the client side player is not in scope. Additionaly for testing purposes a standand video player like VLC will likely be used. Additionaly any metadata management associated with the videos is beyond the scope of this project. This assumes a video file has already been provided to the service.