Автор Тема: P2pProxy  (Прочитано 1004089 раз)

const86

  • Разработчик
  • Hero Member
  • *****
  • Сообщений: 901
    • Просмотр профиля
P2pProxy
« : Июнь 29, 2014, 18:55:51 »
Разработка приложения прекращена. Всем пользователям активирован Премиум.

Здравствуйте. Так как мое сотрудничество с ТТВ, как разработчика, закончилось. А наработки по Локальному прокси остались так и не реализованы. Да и код переписан где-то 90%. Решил выпустить его отдельной веткой.

Чем, собственно, отличается. Чисто визуально, мало чем. А вот внутри... И так:
1. Поддержка DLNA. Весь контент прокси доступен по протоколу DLNA. По сути, потребность в плейлистах, практически отпадает.
2. Полнофункциональный менеджер записей. Все записи сделанные с помощью прокси можно будет просматривать на всех клиентских устройствах. Вещание записей происходит через протокол RTSP.
3. Поток можно перекодировать или упаковать в другой контейнер.
4. Более функциональный механизм плагинов. С его помощью можно получить не только плейлист. Но и агрегировать контент и встраивать его в прокси. Который (контент) будет доступен не только через плейлисты, но и через DLNA.
5. Присутствуют сервисные комманды. Такие как "Список комманд", с помощью которой вы можете увидеть полный список поддерживыаемых команд. И "Статистика". Здесь можно увидеть список активных трансляций (и количество подключенных клиентов) и список VoD встроенных в систему.
6. Прокси, стабильный и крепкий как скала. Ничего его не может заставить упасть, или повиснуть трансляции.
7. Совершенно иная система команд. Все команды унифицированы, и имеют схожую, более простую, структуру. Плюс доступна сортировка.
8. Восстановление функционирования всех систем после сна/гибернации компьютреа.
9. Полная поддержка Linux-систем. Никаких плясок с X-сервером. Способность работы в режиме демона.
10. Для windows пользователей есть возможность, для вещания использовать внешний VLC. Что решает проблему русско-буквенных пользователей.
11. Профили DLNA устройств.


Ну а теперь, перейду к недостаткам. Так как дальнейшее развитие (а у меня есть желание развивать его дальше) требует больших затрат во времени. Я "прошу", будущих его пользователей, поддержать финансово его разработку. Поэтому большая часть вышеописанных функций не доступна бесплатно. А именно: DLNA, транскодирование, менеджер записей и плагины. Менеджер записей ограничен лишь, частично. Бесплатно доступен только просмотр уже записанных трансляций.

Что бы полностью можно было опробовать весь функционал, в Прокси предусмотрен демо-период, на месяц. Который можно получить в меню "Справка"->"О программе". Цена полной версии 1 рубль в день.

Инсталятор можно скачать отсюда: https://yadi.sk/d/8lCzS9IEc7arb.
Для продвинутых пользователей скачать можно отсюда: https://yadi.sk/d/kPijnb4Uf7XH4. Версия 1.0.4.4

https://yadi.sk/d/MpueXhyFmMeK5 - Windows версия (2.0.0.1) с обходом блокировок сайтов Torrent-TV.

Описание формата профилей DLNA
* Version - версия формата
* Name - Имя профиля
* Rtsp - Формат для контента передаваемого через rtsp
* FileExt - Расширение файла. Описание контента по его расширению.
* MimeType - Mime типа файла
* DlnaType,Feature - описание протокола/контейнера файла
* Resolution - размер изображения
* Live - Формат для контента передаваемого по http
* SendHead - передавать dlna информация в HTTP-заголовок. Обрабатывать HEAD запрос
* SendContentLength - отправлять фиктивный размер файла

UPD.
Итак как же им пользоваться?
Полная инструкция:
Просмотр:
Весь контент доступен как с помощью обычных плейлистов так и через DLNA. Если в DLNA все понятно. Открыл приложение и пользуйся навигацией по списку. То с плейлистами придется набирать команды в ручную. А система команд отличается от таковой системы в Локальном прокси.
Вот полный перечень список стандартных команд:
1. http://127.0.0.1:8081/help - Список всех доступных команд
2. http://127.0.0.1:8081/pay - оплатить полную версию. Пока доступно только через Яндекс.Деньги
3. http://127.0.0.1:8081/login - регистрация на сайте торрент-тв
4. http://127.0.0.1:8081/stat - статистика работы прокси
5. http://127.0.0.1:8081/channels/ - плейлист каналов. Доступны следующие параметры:
    5.1. type=m3u(и другие). Тип плейлиста. Формат шаблона плейлиста, аналогичен с локальным прокси.
    5.2. group=1(и другие). Вывести плейлист конкретной группы каналов
    5.3. sort=. Сортировка плейлиста. Доступно:
           5.3.1. group/-group. Сортировка по возростанию/убыванию группы. По их ID
           5.3.2. title/-title. Сортировка по названию канала
           5.3.3. id/-id. Сортировка ID канала, она же сортирует по дате добавления каналов.
    5.4. filter=all|channel|moderation|translation|favourite. Получить полный|постоянных каналов|на модерации|трансляции|избранных плейлист
    5.5. transcode=. Сформировать плейлист с профилем транскодирования трансляции
    Например: http://127.0.0.1:8081/channels/?filter=favourite&group=1&sort=-title&type=m3u
6. http://127.0.0.1:8081/channels/play - воспроизвести канал. Доступны следующие параметры:
    6.1. id=. ID канала
    6.2. transcode=. Профиль транскодирования. Который можно создать в настройках приложения. Во вкладке VLC.
    Например: http://127.0.0.1:8081/channels/play?id=5462
7. http://127.0.0.1:8081/archive/. Получить плейлист архива. Доступны следующие параметры:
    7.1. type=. Тип плейлиста.
    7.2. sort=. Сортировка. Доступны следующие значения:
           7.2.1. channel/-channel. Сортировка по названию канала
           7.2.2. title/-title. Сортировка по названию передачи
           7.2.3. id/id. Сортировка по ID архива
           7.2.4. datetime/-dateime. Сортировка по дате/времени записи
    7.3. date=. Получить архив на конкретную дату. Формат: d-M-yyyy (30-6-2014)
    7.4. channel_id=. Получить архив по конкретному каналу
    7.5. transcode=. Сформировать плейлист с профилем транскодирования трансляции
    Например: http://127.0.0.1:8081/archive/?type=m3u&sort=datetime&date=30-6-2014&channel_id=17
8. http://127.0.0.1:8081/archive/play. Воспроизвести запись в архиве. Вещание осуществляется по протоколу HTTP. Доступны следующие параметры:
    8.1. id=. ID записи в архиве
    8.2. transcode=. Профиль транскодирования.
    Например: http://127.0.0.1:8081/archive/play?id=282375265
9. http://127.0.0.1:8081/records/. Получить плейлист локальных записей трансляций. Вещание осуществляется по протоколу RTSP. Доступны следующие параметры:
    9.1. type=. Формат плейлиста
    9.2. sort=. Сортировка. Доступные значения: channel/-channel, title/-title, datetime/-datetime.
    Например: http://127.0.0.1:8081/records/?type=m3u
10. http://127.0.0.1:8081/records/add. Добавить задание в шедулер. Доступные параметры: channel_id, start, end. Дата/время указывается в формате: ddMMyyyy_HHmmss (31122014_235959).
11. http://127.0.0.1:8081/records/del. Удалить задание из шедулера. Параметры: id (id задания)
12. http://127.0.0.1:8081/records/stop. Остановить запись трансляции. Параметры: id (id задания)

В программе имеется достаточно мощный механизм плагинов. Который позволяет не только сформировать плейлист.
Но и встроить в прокси контент из других источников. К сожалению, формат форума, не позволит подробно описать процесс их разработки. Но кратко опишу.
Что бы встроить в прокси другие источники, нужно реализовать интерфейс IPluginContainer и передать его методом GetContent, который реализуется интерфейсом IPluginProxy (объект представляющий плагин).
Для того, что продемонстрировать, как создавать плагины. Был создан плагин PluginFavourites. Посмотрев его исходники, вы можете узнать, как подключить тот или иной источник. В нем было реализовано следующие виды контента:
1. Контент самого прокси
2. Избранное, сайта Torrent-TV
3. Локальные файлы
4. Произвольные торренты
5. Ютуб

Запуск программы в консоли

Для тех систем где есть только консоль (серверные версии *nix) или использование GUI не представляется возможным, прокси можно запуск в консольном режиме. Для этого есть исполняемый файл P2pProxy_console.exe.
Если запуск приложения осуществляется в первые или требуется сменить регистрационные данные для сайта Torrent-TV.Ru, нужно в параметрах запуска указать логин/пароль пользователя. Например:
P2pProxy_console.exe -u unknown@unknown.un -p password
Возможные ошибки и их решение:
Старая версия VLC. Открывается окно консоли с сообщением: The command line options couldn't be loaded. Используется сборка AceStream со старым VLC. Установите версию 2.0.8 VLC-плеера с сайта http://www.videolan.org/vlc. И пропишите её в настройках приложения. Следующим образом:
<vlc>
...
<add key="vlcext" value="True" />
<add key="vlcpath" value="C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" />
...
</vlc>

Программа зависает при запуске. В трее выскакивает сообщение VLC-запущен и дальше программа зависает. При нажатии на значок приложения, ничего не происходит.
Вероятная причина, кривая версия VLC. В частности в версии 2.1.3 поломан telnet-интерфейс. Поэтому прокси зависает. Установите более старую версию VLC. На данный момент точно работает в 2.0.5 и 2.0.8. Пропишите эту версию в настройках программы (как описано выше). После этого прокси должен заработать.
P.S. Надеюсь пользователи найдут её полезной и интересной.


Для удобства пользователей:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Для тех у кого сложности с командами. Команды для плейлиста m3u:

http://ххх.ххх.х.хх:8081/channels/?filter=channel&type=m3u                    весь список, кроме временных и на модерации
http://ххх.ххх.х.хх:8081/channels/?type=m3u                                            весь список
http://ххх.ххх.х.хх:8081/channels/?group=3&type=m3u                            список по группам (ниже расшифровка групп)
http://ххх.ххх.х.хх:8081/channels/?filter=favourite&type=m3u                   избранное
http://ххх.ххх.х.хх:8081/channels/?filter=favourite&group=3&type=m3u   список по группам из избранного
http://ххх.ххх.х.хх:8081/channels/?filter=moderation&type=m3u               каналы на модерации
http://ххх.ххх.х.хх:8081/channels/?filter=translation&type=m3u                временные трансляции
http://ххх.ххх.х.хх:8081/archive/?filter=archive&type=m3u                        архивы

Группы: 1-детские; 2-музыка; 3-фильмы; 4-спорт; 5-общие; 6-познавательные; 7-новостные;
8-развлекательные; 9-взрослые; 10-мужские; 11-региональные; 12-религиозные

Где ххх.ххх.х.хх это IP компа

Для запуска плейлиста на смарт-тв Самсунг нужно в конце каждой ссылки добавить &ext=.m3u
Например:
было  http://ххх.ххх.х.хх:8081/channels/?type=m3u
стало http://ххх.ххх.х.хх:8081/channels/?type=m3u&ext=.m3u
----------------------------------------------------------------------------------------------------------------------------------------------------------------------

Оплатить можно через:
* Яндекс.Деньги (форма оплаты встроена в прокси http://localhost:8081/pay). Или на прямую. Номер кашелька 41001331601428.
* WebMoney. WMID: 170852124947, Номер кашелька: R348134396727. При оплате через WebMoney, в примечании следует указать ключ приложения. И оповестить по почте о совершении платежа.
* Qiwi Wallet: 9880927250
Если вы осуществляете платеж более чем на 1 месяц, действует система скидок. За каждый месяц 1%. Например:
30р. - 0% = 30 дней
60р. - 2% = 61 день
90р. - 3% = 93 дня
120 - 4% = 125 дней


----------------------------------------
Исходные коды PVR плагина для XBMC лежат по адресу https://github.com/const586/xbmc-addon-p2pproxy.
Если опубликованные мною бинарники у вас не заработают, собирайте их оттуда. Это касается прежде всего пользователей Linux. Проблем с бинарниками для Windows не возникают. Собранный клиент под Windows https://yadi.sk/d/ogq4W4ghYwwaB

Собранная версия под Android:
https://yadi.sk/d/ACgYgaqtZaXcp - Полная сборка XBMC + PVRP2pProxy. На андройде к сожалению, pvr плагины должны собираться и поставляться вместе с XBMC

(Спасибо Serge Zaporozhchenko)
« Последнее редактирование: Декабрь 25, 2015, 14:17:42 от Alekseich »

const86

  • Разработчик
  • Hero Member
  • *****
  • Сообщений: 901
    • Просмотр профиля
Re: Новый прокси
« Ответ #1 : Июль 11, 2014, 17:14:03 »
Эх... Повторюсь.
Если у кого не работает DLNA. Мне нужен лог ошибок программы если они имеются. Или если прокси не выдает ни каких ошибок, предоставить работающий вариант работы DLNA-сервера. Где ТТВ через P2pProxy работает. Так же в этом случае нужен дамп покетов (через WireShark), где трансляции работают.
Иначе помочь ни чем не смогу.

PM

  • Full Member
  • ***
  • Сообщений: 136
    • Просмотр профиля
Re: Новый прокси (P2pProxy)
« Ответ #2 : Сентябрь 01, 2014, 12:11:25 »
Подскажите из за чего может перезагружаться ТВ при входе в DLNA?

const86

  • Разработчик
  • Hero Member
  • *****
  • Сообщений: 901
    • Просмотр профиля
Re: Новый прокси (P2pProxy)
« Ответ #3 : Сентябрь 01, 2014, 12:15:38 »
Спасибо, сервер доступен. Программа появилась, проблема была как я понял в "старом" "поломанном"(возможно из-за недоступности сервера) кэше.. наверно нужно его чистить иногда.

Да такое бывает. Исправлю со временем

alexshopme

  • Newbie
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Новый прокси (P2pProxy)
« Ответ #4 : Сентябрь 01, 2014, 12:56:12 »
Вопрос про таймауты (?)
Телек самсунг иногда теряет канал, при передподключении все отлично, прокси не падает - видимо, надо увеличить буфер VOD и live в acestream? Увеличил, наблюдаю.

azharkov

  • Newbie
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Новый прокси (P2pProxy)
« Ответ #5 : Сентябрь 01, 2014, 13:54:37 »
Есть несколько вопросов/предложений:
1) Возможно ли сделать так, чтобы EPG формировался таким образом, чтобы его могли читать другие программы. К примеру, на андроиде IPTV нормально читает EPG от "Кит Интернет телепрограмма". Но если прописать http://<хост>:<port>/xbmc.pvr/epg, то телепрограмма не загружается
2) И больше ко 2 вопросу. Возможно ли сделать сжатие EPG, а то ~20 мб тянуть многовато. Просто периодически смотрю через инет имея публичный IP адрес.

const86

  • Разработчик
  • Hero Member
  • *****
  • Сообщений: 901
    • Просмотр профиля
Re: Новый прокси (P2pProxy)
« Ответ #6 : Сентябрь 01, 2014, 14:28:48 »
Формат EPG туева тьма. Потому я возвращаю ту, что дает ttv. Кому надо, может написать парсер, и сделать из неё то что нужно.
Ну "сжать" программу, в принципе можно еще на процентов 10 - 20. Можно даже воспользоваться GZip'ом, но не вижу пока целесообразности.

Shestoperd

  • Sr. Member
  • ****
  • Сообщений: 303
    • Просмотр профиля
Re: Новый прокси (P2pProxy)
« Ответ #7 : Сентябрь 01, 2014, 14:38:17 »
ИМХО. Стоит сделать запрет на запуск другой копии программы, это ведь не сложно, проверить запущена ли программа и не запускать вторую копию.

azharkov

  • Newbie
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Новый прокси (P2pProxy)
« Ответ #8 : Сентябрь 01, 2014, 15:11:41 »
Формат EPG туева тьма. Потому я возвращаю ту, что дает ttv. Кому надо, может написать парсер, и сделать из неё то что нужно.
Ну "сжать" программу, в принципе можно еще на процентов 10 - 20. Можно даже воспользоваться GZip'ом, но не вижу пока целесообразности.
Понятно. А можно попросить сделать плагин для XBMC, в котором можно указать свой EPG. А то нынешний плагин не все каналы загружает. По пути /xbmc.pvr/epg тоже не все показывает, при этом на сайте есть расписание.

const86

  • Разработчик
  • Hero Member
  • *****
  • Сообщений: 901
    • Просмотр профиля
Re: Новый прокси (P2pProxy)
« Ответ #9 : Сентябрь 01, 2014, 16:02:41 »
Исходники плагина открыты. Вперед :)

kellas

  • Newbie
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Новый прокси (P2pProxy)
« Ответ #10 : Сентябрь 01, 2014, 16:18:01 »
Понятно. А можно попросить сделать плагин для XBMC, в котором можно указать свой EPG. А то нынешний плагин не все каналы загружает. По пути /xbmc.pvr/epg тоже не все показывает, при этом на сайте есть расписание.
Просто используйте вместо него плагин PVR IPTV Simple Client, там путь к M3U указывайте на p2pproxy ( http://127.0.0.1:8081/channels/?filter=channel&type=m3u ) а к epg тот что вам нужен.

azharkov

  • Newbie
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Новый прокси (P2pProxy)
« Ответ #11 : Сентябрь 01, 2014, 16:22:43 »
Понятно. А можно попросить сделать плагин для XBMC, в котором можно указать свой EPG. А то нынешний плагин не все каналы загружает. По пути /xbmc.pvr/epg тоже не все показывает, при этом на сайте есть расписание.
Просто используйте вместо него плагин PVR IPTV Simple Client, там путь к M3U указывайте на p2pproxy ( http://127.0.0.1:8081/channels/?filter=channel&type=m3u ) а к epg тот что вам нужен.
Это понятно :) Но в p2pproxy плагине работает возможность записи
Цитировать
Исходники плагина открыты. Вперед :)
Так и знал что такой ответ будет :) В программирование я не особо, поэтому и попросил )

kellas

  • Newbie
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Новый прокси (P2pProxy)
« Ответ #12 : Сентябрь 01, 2014, 17:00:30 »
Это понятно :) Но в p2pproxy плагине работает возможность записи
Сомнительная возможность... точнее практической пользы я не вижу  учитывая что у торрент-тв есть архив..

azharkov

  • Newbie
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Новый прокси (P2pProxy)
« Ответ #13 : Сентябрь 01, 2014, 17:16:35 »
Это понятно :) Но в p2pproxy плагине работает возможность записи
Сомнительная возможность... точнее практической пользы я не вижу  учитывая что у торрент-тв есть архив..
Кому как. Мне намного удобнее использовать XBMC, ибо "все в одном". Нет необходимости либо формировать плэйлист либо вручную запускать проигрывание.
Комп с XBMC+p2pproxy+ пульт и все.
А по поводу EPG. Даже сейчас не все каналы есть в EPG от torrent-tv. Поэтому и предложил сделать либо по дефолту (с сайта ttv) либо вручную.

777zp

  • Newbie
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Новый прокси (P2pProxy)
« Ответ #14 : Сентябрь 01, 2014, 19:04:19 »
http://mytalks.ru/index.php?topic=5196.msg34985#msg34985

Тут у человека была аналогичная проблема, дальше по сообщениям идет ее решение.

ОНА НЕ РЕШЕНА (((

Вопрос 2 снимается, в задачах висел процесс VLC. После снятия - нормализовалось.
Извиняюсь.

Вопрос 1 - актуален.

VLC в диспетчере задач делал и завершить процесс и завершить дерево процессов так ничего не помогло (((
Помогите решить эту проблему -
Всем доброго времени суток! Все сделал как написано по данной ссылке http://mironenko.pp.ua/2014/08/torrent-tv-android-p2pproxy.html    Блог Сергея Мироненко. После того как запускаю плейлист на любом Андроид устройстве или на самом компьютере, P2pProxy вылетает, т.е. исчезает в трее. Я запустил P2pProxy_console, после чего запустил плейлист, у меня показало (фото прилагается), и окошко программа не работает закрыть. Подскажите что делать??? Комп Win 7, на Андроидах использую программу IPTV. Заранее благодарю за ответ!!!

Заранее благодарю за ответ!!!
« Последнее редактирование: Сентябрь 01, 2014, 19:07:18 от 777zp »