Разработчики проекта Popcorn Time задались целью создания простого для конечных пользователей интерфейса, позволяющего просматривать видео, размещённое в существующих BitTorrent-сетях, не дожидаясь окончания загрузки файлов. Программа рассчитана на непросвещённых пользователей, не разбирающихся в BitTorrent, и предоставляет простой интерфейс, предлагающий каталог фильмов, сформированный на основе индексации популярных BitTorrent-ресурсов. Воспроизведение начинается сразу после выбора фильма, напоминая сервисы потокового вещания, подобные Netflix.

По мере просмотра пользователь участвует в раздаче для других пользователей, выступая полноценным участником сети BitTorrent. При этом, после окончания просмотра загруженный файл сохраняется во временной директории и продолжает оставаться в раздаче. Чистка загруженных файлов осуществляется после перезагрузки. В настоящее время разработка Popcorn Time находится на стадии бета-тестирования, сборки доступны для Linux, Windows и OS X.

Проект написан на языке JavaScript. Для организации работы Popcorn Time в форме самодостаточного GUI-приложения применяется инструментарий node-webkit, основанный на компонентах браузера Chromium и платформе Node.js. Node-webkit позволяет формировать нативные сборки программ, созданные с использованием web-технологий (HTML5, CSS3, JavaScript и WebGL). Декодирование видео осуществляется при помощи библиотеки ffmpeg. Для загрузки информации с torrent-сайтов используется API YIFY. При отображении в интерфейсе фильмы снабжаются примечаниями и обложками, полученными на основе метаданных сервиса TheMovieDB. При просмотре поддерживается загрузка и отображение внешних субтитров, загружамых через OpenSubtitles.

Источник: http://www.opennet.ru/opennews/art.shtml?num=39276