Thoughts on the perfect HTPC


Technologies make our lives more comfortable and this cannot but rejoice. I would like to share my thoughts on organizing a comfortable movie viewing, inspired by the Automatic download of movie news post .
The article is theoretical in nature, although many of the presented points have practically realized analogues in the real world. But, unfortunately, they are all dispersed, and not integrated among themselves in the form in which this is described in the article.
The main focus of the article is on the logical-logical component of HTPC.

And so, what is the perfect movie screening? This is when you are sitting on the couch, and in front of you immediately begins the screen saver of the film corresponding to your preferences, mood, mood, and time of day.

Although there is nothing perfect in this world, I’m sure that it’s quite possible to create an HTPC as close to ideal as possible. I propose to consider the components of such an HTPC with possible implementation paths.

Stage 1: Movie Selection

The choice of film should be available to the user through:
  1. Normal movie catalog viewing
  2. Voice search (actors, title. Ideally, even by key components of the plot)
  3. Recommendations based on previously watched films + rating. Perhaps, even with analysis, how many times the film was stopped during viewing and how often it was rewound. Each stop or rewind is a small minus to the film
  4. Social component - recommendations of friends or people with similar tastes
  5. Fresh Cinema Releases (to be added to expected)
  6. Latest DVD releases (for viewing or downloading right now)
  7. Watch queue

For any selected movie should be available:
  1. Description, cast
  2. Trailer (s)
  3. Reviews

All these functions are fully feasible through close integration of XMBC, Kinopoisk, Youtube, Facebook, Google Voice Service.

The selection of films is based on the preferences of the current user. Those. multi-discipline should be supported. Profiles must support online synchronization to work on different devices. But to be able to work locally with limited functionality.

A guest profile should also be provided. Those. profile for 1 time. The system begins to “grope” guest preferences from scratch. In the future, the guest profile can be automatically deleted or transferred to a permanent one.

The social component can also help a lot with choosing a movie. If the system analyzes and finds people with similar preferences and browsing history, then it is likely to make a good recommendation.

Stage 2: Movie Cataloging

OK, the movie is selected. Next, the user can select one of the options:
  1. Ask to be notified if the movie has not yet been released
  2. Add to Watch Queue
  3. Add to download
  4. Browse online

The last 2 points can be implemented based on P2P, with support for plugins for popular resources.
The quality of online viewing depends on the number of seeds, so it is quite suitable for viewing a one-time Hollywood novelty, but for a rare or old movie, option number 2 is most likely to be preferable.

When added to the download, the system automatically selects the bitrate from the available ones that meets the user's preferences; calls the file in accordance with the adopted policy, and adds the download to the queue according to the schedule.

At the end of the download, if the movie has not yet been watched online, it will be added to the Catalog and to the Queue for viewing.

It is possible to set up automatic download of TV shows.

We implement the functionality by tight integration of XBMC, Transmission, Python scripts, Kinopoisk.

Stage 4: Watching the movie

On the support of all popular codecs and picture quality, I think it’s not worth mentioning. But what can be added on top of this?
  1. As mentioned above, tracking the progress of the viewing. Those. the more the film is paused, and the more often rewind is applied, the lower the rating the film receives
  2. At the end of the viewing, when the viewer is overwhelmed with emotions, it is proposed to rate the film, as well as write your own review. Perhaps even with voice dialing.
  3. It is also proposed to relate the film to one of the categories: Disposable or Collection. The user is prompted to indicate if he would like to see it in the future? And if so, then the minimum period before the reminder.
    In the case of a one-time movie, it disappears from the issuance in the recommendations after watching.
    In the case of a collection film, it appears in the recommendations after the specified period.
  4. Based on points 1 and 2, recommendations are given for the following films to watch

Stage 4: standby

In standby mode, the server goes into low power mode and occupies itself with the fact that:
  1. Distributes and downloads torrents
  2. Updates DVD Release Database
  3. Scans Directories
  4. Checks the availability of expected films
  5. Checks the availability of new episodes for TV shows


All the functionality presented today is fully implementable and partially already implemented by enthusiasts in home HTPCs, various players, services, social networks. But there is no single and comfortable solution. And it would be great.

What was the purpose of this article? I would like to know your thoughts and views on this decision. And who knows, maybe this article will even inspire someone to create the Ideal HTPC for themselves, and in the future we will see an article dedicated to this topic, but with a practical implementation, and our world will become even more comfortable.

Also popular now: