I am looking for a developer who has good understanding of python and linux .
The Application is to develop a video player which can play video saved in local drive or live video as per user settings .
The system will have 2 parts
1. The host / server part
2. Remote player .
The user will be allowed to upload videos using the host application and create a plan on how to play this video . on uploading the video the system should make out the time the file will play .
The supported file extensions will be the ones which are supported by VLC player / player agreed between the developer and myself.
The content to display on the screens can be
1. Video files
2. live video feeds from camera using OBS / VLC server
3. GIF / JPEG/ other static and animations
4. Audio file
5. text / HTML file
each of the above can be used as a resource for planning purpose .
A typical plan will be
1. Play video [login to view URL] , them 2. mp4 , [login to view URL] and continuously loop from 9.00 Am to 10.29. AM
2. Play video [login to view URL] from 10.30 AM to 11.30 AM and continuously loop it .
3. Play video [login to view URL] from 11.31 AM to 12.30 AM and continuously loop it .
4. Start Video feed from 12.31 AM to 1.00 PM
5. Play video [login to view URL] from 1.00 PM to 1.30 AM and continuously loop it .
6. Play [login to view URL] from 1.31 to 5.00 PM
The user should create any plan group(as above ) and save it with a name also so that he can use it later as reference. each plan group will have a validity in terms of start date and time and end data and time.
So if a user create a plan for all the 24 hours and makes marks it validity for next 30 days each day the exact same videos will play as given in the plan.
The system should not allow the user to create plans with the conflicting time for 2/N resource.
A plan group created can be played at any one of the screen or all the selected screens . There can be N number of active plans in the system any number of plan can be assigned to a screen until they do not have conflicting times .
for example there is a plan which is from 4 PM to 6 PM and another program which is from 6.01 to 9.00 Pm both can be assigned to a single screen . But a plan which starts at 8.00 PM and ends at 10.00 Pm cannot be provided to this screen as there is a time conflict.
The server can reset the old plan for a screen and provide a new plan. when a reset is done any new plan can assigned to it . if a reset is done in between the plan time , the next video as per the new plan will be played.
As soon as the user saves the plan , a job must sync the plan with all the screens .
The list of screens and their IP address will be stored in the database .
The Remote player component will have
1. a database which will be storing the plans , so even if the server is not available the videos can be played.
2. A video folder which will be in sync with the host folder , it can be done using Rsync or some thing similar.
3. A plan sync system which will accept the plan whenever the host calls this function . using JSon the host will share the plan to the remote
4. Video player rapped in python application which will be responsible for playing the videos as per the plan and ensuring that if the application crashes , it can be auto started without any human intervention.
This application has to run in a local intranet environment any dependency post deployment on internet is not possible as the local network does not allow internet connectivity .
The developer has to provide a fully working application along with source code so that we can further develop the application.