Wednesday, June 17, 2015

Смотрим потоковое торрент-видео в Ubuntu

Существует такая замечательная программка - Ace Stream, которая может воспроизводить видео из торрентов прямо в процессе их загрузки. До недавнего времени у нее была версия для Ubuntu, которую я, к слову, использую в качестве основной системы на личном нетбуке. Но 2-3 месяца назад мне пришлось удалить установленную версию подчистую, а когда стал переустанавливать выяснилось, что репозиторий Ace Stream для Linux показывает 403 Forbidden. Найти установочные deb-пакеты я не смог, все мои письма разработчикам и на форумах были проигнорированы. 

Ну и черт с ними! То же самое можно сделать через open-source приложение peerflix. Причем стабильность получившегося решения значительно превосходит вышеупомянутую программу. И это не говоря о гибкости, присущей всем open-source программам.


Установка

Установка подробно описана в статье блога Linux для всех Peerflix: BitTorrent стрим клиент, или смотрим видео из торрент файла без скачивания. Но мало ли что может случиться, поэтому я без зазрения совести приведу здесь необходимые действия с моими корректировками. 
В первую очередь нам нужен nodejs с npm. Проще всего установить через ppa:
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs vlc npm env nodejs-legacy -y


После чего необходимо установить peerflix с помощью npm:
sudo npm install -g peerflix
В принципе это уже можно использовать. 
Peerflix понимает как локальные торрент файлы:
peerflix some_torrent_file.torrrent
Так и ссылки на торрент файлы:
peerflix http://torrentsite.ru/video-file.torrent
После запуска, peerflix немного призадумается, после чего покажет:
Для просмотра видео необходимо скопировать ссылку и открыть в видео проигрывателе поддерживающего интернет вещание (Totem, VLC, SMPlayer, MPlayer, etc..). Либо, это может сделать сам peerflix:
peerflix some_torrent_file.torrrent --vlc # Запускает видео в VLC
peerflix some_torrent_file.torrrent --mplayer # Запускает видео в MPlayer
Но для удобство использования можно провести еще немного автоматизации.

Автоматизация

Мы создадим скрипт, который позволит открывать торрент-файлы сразу через peerflix с заранее заданными параметрами. В директории /usr/bin/ создайте текстовый файл torrent-video-player следующего содержания:
#!/bin/bash
# запускаем peerflix с параметрами: v - открыть в VLC, clean - очистить после завершения
peerflix "$1" -v --clean
# ждем 1 секунду
sleep 1
# удаляем кэш
rm -rfv /tmp/torrent-stream/*
Сохраняем и делаем файл исполняемым, тут уже лучше через терминал:
sudo chmod +x /usr/bin/torrent-video-player
 Осталось всего-ничего, создать ярлык запуска нашего приложения torrent-video-player. Для этого в директории ~/.local/share/applications создаем файл TorrentVideo.desktop следующего содержания:
[Desktop Entry]
Name=TorrentVideo
Comment=Play Torrent Video
Exec=torrent-video-player %f
Terminal=false
Type=Application
Icon=vlc
Categories=AudioVideo;Player;Recorder;P2P;
StartupNotify=true
MimeType=application/x-bittorrent;
Сохраняем.
Теперь у нас есть приложение TorrentVideo с иконкой от VLC
Запустить не пытайтесь - не получится. Оно не для этого предназначено. А вот для чего.
TorrentVideo позволяет открыть любой торрент-файл сразу через peerflix и немедленно начать воспроизводить его в VLC. Но вы должны убедиться, что в торренте именно видео-файл, а не что-то иное. Также я не проверял, как ведет себя плеер, если в торренте смешанный контент и несколько видео-файлов. Буду благодарен, если кто-то протестирует и отпишется.

Как это работает

При открытии торрент-файла с некоторое задержкой (пока не будет загружен достаточный кэш) открывается окно VLC и начинет проигрывать видео. Да, так все просто.

По-моему супер удобно. Единственное что расстраивает, так то что TorrentVideo может открывать так же хорошо открывать ссылки. Поэтому если бы удалось прямо из браузера открыть ссылку через приложение, то не пришлось бы загружать торрент-файл на диск. Но такой возможности я пока не нашел, разве что написать свое расширение для браузера. Так что буду тоже очень рад, если кто-то предложить решение этой проблемы.

Всем приятно просмотра!

P.S. Есть еще проприетарные программы, для стриминга торрентов - Popcorn Time. Есть версия для Linux (которую я так и не смог скачать с сайта, почему-то). Так что если не хочется возиться с терминалом и скриптами, то может этот вариант подойдет вам больше.



No comments:

Post a Comment