Local video hosting. Part 0. Determining the rules

Background

We all love movies, TV shows and other videos on the Internet. After some deliberation, the idea came to write a small and very simple server with the ability to watch videos on different devices.





Main features

  • View on different devices





  • Automatic collection update by scanning directories





  • Ability to continue viewing from the same place where you left off





  • Ability to add new videos to the collection





  • Make the service as lightweight as possible so that it can run even on a weak Raspberry Pi





  • Refusal of unnecessary services / dependencies for the sake of saving RAM





  • Maximum supported number of formats, without re-encoding and segmentation





Stack

As the first solution, I want to take Python and FastApi for the Backend, it's hard to say what will be the main Frontend solution, but it will definitely support external video players, for example, VLC. In the future, a built-in player will probably be added to the web page, but I anticipate problems with codecs and so on. I will consider Frontend solutions in more detail in the next parts.





Outcome

We have roughly decided on the task, in the process I think that it will become more complicated and acquire new features. As for analogs, I know perfectly well at least about Kodi for the same Raspberry Pi, and it all looks like creating a bicycle, but this is just an idea that maybe someone will pick up as a pet project or an IT student will need a project for a coursework work :)





Leave your ideas related to libraries / features / tools and others in the comments, in the next part I will try to expand the list of features and roll out Backend with a description.








All Articles