B.RemoteView — удалённое переключение каналов BeholdTV

B.RemoveView v.1.5.28.0 (2016.03.03)

Назначение этой программы — просмотр ТВ/радио с BeholdTV удалённо через TCP-протокол, с возможностью переключения каналов через плейлисты.

Таким образом клиенту не нужен никакой специализированный софт для переключения каналов у ТВ-тюнера (смотреть через TCP можно и так, у BeholdTV штатные средства это позволяют, но вот переключение каналов у BeholdTV реализуется только сторонними решениями). Принцип работы — перехватывает в HTTP-запросе команду, останавливает вещание в BeholdTV v5.28, переключает режимы и каналы в BeholdTV v5.28, затем возобновляет вещание и отправляет клиенту HTTP-редирект на порт BeholdTV. Разумеется, удалённый клиент может быть только 1 (поскольку он имеет право выбора каналов).

В качестве клиентов на Windows могут быть например VLC, MPC, и наверно почти любые другие плееры. На Android — успешно работает VLC for Android вместе с клиентом IPTV (туда playlist.xspf загружается).

Скриншот B.RemoteView

Клиент просто открывает поток через HTTP указав в строке HTTP режим TV/DVB/FM/AV и номер канала, например:
http://192.168.1.2:81/srcATVch5 — будет выбрано аналоговое ТВ, канал5;
http://192.168.1.2:81/srcDTVch11 — будет выбрано DVB-TV канал 11;
http://192.168.1.2:81/srcAFMch2 — будет выбрано FM-радио, канал 2;
http://192.168.1.2:81/srcDFMch1 — будет выбрано DVB-Radio, канал1;
http://192.168.1.2:81/srcSVHS — будет выбран SVideo-вход;
http://192.168.1.2:81/srcCVBS — будет выбран композитный вход;
http://192.168.1.2:81/srcYPbPr — будет выбран YPbPr вход;
http://192.168.1.2:81/srcRGB — будет выбран RGB вход;
http://192.168.1.2:81/ch7 — будет просто выбран 7 канал в текущем режиме.

Для удобства встроен генератор плейлистов и HTTP-сервер который эти плейлисты раздаёт. Можно сгенерировать плейлиcты в формате XSPF, M3U, M3U8, HTML. Для плейлистов поддерживаются расширения групп совместимые с клиентами IPTV и VLC.
Плейлист можно экспортировать в файл, и раздавать с другого сервера, если нужна его модификация.

Во всех режимах BeholdTV должны быть установлены профили настроек записи по умолчанию для вещания в сеть (HTTP unicast).
Для аналогового ТВ: — способ MPEG.
Для FM: — способ MPEG Audio.
Для DVB TV/Radio: — Transport Stream *.ts.
BeholdTV должен по умолчанию устанавливать соответствующие пресеты.

Пресеты AVI,ASF,WMV — не поддерживаются многими плеерами на андроиде (например у MX Player с ними проблема). Так что надо добится работы MPEG InterVideo.

Некоторые известные проблемы из-за ограниченного функционала во внешнем API BeholdTV:
— надо следить за тем чтобы по умолчанию все пресеты (для тв, радио, нч) были правильные (для вещания), ибо API не позволяет выбрать нужный. Надо бы в WMBH_RECVSTART и WMBH_RECASTART добавить указание имени используемого пресета.
— поддержка только версии 5.28, потому что API не позволяет узнавать текущее состояние (FM/TV/AV1-AV4/DTV/DRD) и не позволяет включать режимы DVB TV или DVB RD явным образом (приходится использовать недокументированные решения завязанные на конкретную версию).
— генерация плейлистов работает только если конфиги BeholdTV размещены в профиле пользователя (иначе — сообщит о проблеме с StoreInUsersFolder). Не очень понятно где и как искать конфиги если StoreInUsersFolder=0 а BeholdTV установлен не в %programfiles%.

Несмотря на мнение некоторых антивирусов — никакого вредоносного функционала тут нет (просто некоторые так называемые антивирусы заранее бояться программ имеющих какие-либо сетевые функции).

История развития программы:
v.1.5.28.0 (2016.03.03) Мелкие доработки, стыковка с современной версией BeholdTV 5.28.
v.1.0.0.0 (2015.03.04) Первая публичная версия, только для BeholdTV 5.25;

Скачать “BRV_v20160303.rar” – 13,26 КБВерсия 1.5.28.0, 2016-03-03 17:24