Автор Тема: NoxBit feature request  (Прочитано 4761 раз)

kursantkvi

  • Full Member
  • ***
  • Сообщений: 106
    • Просмотр профиля
Re: NoxBit feature request
« Ответ #15 : Март 22, 2017, 16:22:22 »
Не соображу как сабскрабера группы поймать на стороне вещателя? IGMP ловить? А на винде ?

pcap в помощь, на винде он так же есть. Могу кинуть код на перле, как я ловлю подписки.
MGTS      ->|
SevenSky ->| -> CentOS 6.5 -> NoxBit -> VLC -> Multicast 
OnLime    ->|


(Orange PI + OpenELEC) * 4

kursantkvi

  • Full Member
  • ***
  • Сообщений: 106
    • Просмотр профиля
Re: NoxBit feature request
« Ответ #16 : Март 22, 2017, 16:23:20 »
Просьба не зубудьте про интерфейс на который поток отдавать, что-нибудь типа того http://...:6689/stream?cid=...&mcast=239.x.x.x:123&eth=eth0&start
т.к. сетевух несколько бывает

да, надо указывать на какой сетевой интерфейс вещать.
MGTS      ->|
SevenSky ->| -> CentOS 6.5 -> NoxBit -> VLC -> Multicast 
OnLime    ->|


(Orange PI + OpenELEC) * 4

dr. SysMan

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1009
    • Просмотр профиля
    • NoxBit hot news
Re: NoxBit feature request
« Ответ #17 : Март 22, 2017, 16:43:12 »
Не соображу как сабскрабера группы поймать на стороне вещателя? IGMP ловить? А на винде ?

pcap в помощь, на винде он так же есть. Могу кинуть код на перле, как я ловлю подписки.
Ну шо Вы, какой-такой PCAP?! :-) Механизм должон быть универсальным и минимально зависимым от платформы. Сейчас NoxBit не требует прав SU.
Как ентот пикап осуществлять на андроеде без рута?

Как палеатив я могу себе представить такой компромисс: вкл-выкл вещания в малтикаст группу - делается внешним функционалом, как вы это уже сделали, я полагаю.
Tox ID :
4C7CA6A2C5713FB948257C63FFEB485585D5DCF9BB9DEA7FB3847DADDB7271620F73C0DB30B1
Telegram:
Tech. support : https://t.me/Darth_SysMan
Channel: https://t.me/NoxBit

kursantkvi

  • Full Member
  • ***
  • Сообщений: 106
    • Просмотр профиля
Re: NoxBit feature request
« Ответ #18 : Март 22, 2017, 18:22:57 »
Кстати, наверное есть смысл почитать код igmp-proxy, он примерно тоже самое делает
MGTS      ->|
SevenSky ->| -> CentOS 6.5 -> NoxBit -> VLC -> Multicast 
OnLime    ->|


(Orange PI + OpenELEC) * 4

dr. SysMan

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1009
    • Просмотр профиля
    • NoxBit hot news
Re: NoxBit feature request
« Ответ #19 : Март 22, 2017, 21:54:32 »
Кстати, наверное есть смысл почитать код igmp-proxy, он примерно тоже самое делает
Спсб. Ознакомлюсь. Что будем делать с PIM?
Tox ID :
4C7CA6A2C5713FB948257C63FFEB485585D5DCF9BB9DEA7FB3847DADDB7271620F73C0DB30B1
Telegram:
Tech. support : https://t.me/Darth_SysMan
Channel: https://t.me/NoxBit

kursantkvi

  • Full Member
  • ***
  • Сообщений: 106
    • Просмотр профиля
Re: NoxBit feature request
« Ответ #20 : Март 22, 2017, 22:13:50 »
Спсб. Ознакомлюсь. Что будем делать с PIM?

Имхо PIM-SSM - ибо умеет IGMP3 и совместим с IGMP2
MGTS      ->|
SevenSky ->| -> CentOS 6.5 -> NoxBit -> VLC -> Multicast 
OnLime    ->|


(Orange PI + OpenELEC) * 4

Extremal1981

  • Newbie
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: NoxBit feature request
« Ответ #21 : Март 22, 2017, 22:24:58 »
Ждём Ждём Noxbit, с multicast стримом   :) Уже мечтаю убить vlc на своём мини серваке, так как жадный он до ресурсов, особенно память пожерать любит!!!

dr. SysMan

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1009
    • Просмотр профиля
    • NoxBit hot news
Re: NoxBit feature request
« Ответ #22 : Март 22, 2017, 23:42:23 »
Ждём Ждём Noxbit, с multicast стримом   :) Уже мечтаю убить vlc на своём мини серваке, так как жадный он до ресурсов, особенно память пожерать любит!!!
На всякий случай: мы пока проговариваем (обсуждаем) ... Не факт,  что сия фича будет реализована, или что она будет сделана в ближайшее время. Всё же упирается в коммерческую целесообразность жеж. :-)
Tox ID :
4C7CA6A2C5713FB948257C63FFEB485585D5DCF9BB9DEA7FB3847DADDB7271620F73C0DB30B1
Telegram:
Tech. support : https://t.me/Darth_SysMan
Channel: https://t.me/NoxBit

sashokmc

  • Hero Member
  • *****
  • Сообщений: 928
    • Просмотр профиля
Re: NoxBit feature request
« Ответ #23 : Март 27, 2017, 11:05:59 »
Форумчане!  В этот топик кидаем ваши предложения. Стараемся обстоятельно и предметно  описать запрос.
Android Noxbit Хотелка:
Можно ли добавить wakelock на экран и интернет?
К примеру если выключаешь экран в телефоне, процессор частоту снижает. а в телевизоре глюки начинаются. (плейлист запускаю в телевизоре)
BeeLine 70 мбит
Роутер Asus RT-N56U
LG 37LM620T, LG 32LF650V
Raspberry Pi 3 model B

dr. SysMan

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1009
    • Просмотр профиля
    • NoxBit hot news
Re: NoxBit feature request
« Ответ #24 : Март 27, 2017, 12:54:51 »
Форумчане!  В этот топик кидаем ваши предложения. Стараемся обстоятельно и предметно  описать запрос.
Android Noxbit Хотелка:
Можно ли добавить wakelock на экран и интернет?
К примеру если выключаешь экран в телефоне, процессор частоту снижает. а в телевизоре глюки начинаются. (плейлист запускаю в телевизоре)
Принято. Изучают ...
Tox ID :
4C7CA6A2C5713FB948257C63FFEB485585D5DCF9BB9DEA7FB3847DADDB7271620F73C0DB30B1
Telegram:
Tech. support : https://t.me/Darth_SysMan
Channel: https://t.me/NoxBit

Ан9рей

  • Sr. Member
  • ****
  • Сообщений: 288
    • Просмотр профиля
Re: NoxBit feature request
« Ответ #25 : Март 27, 2017, 21:39:26 »
Добавлю парочку пожеланий.

1. Возможность транскодирования. Хотелось бы иметь настраиваемый транскодер. Например, в AceProxy это реализовано следующим образом:

В конфиге пользователь прописывает необходимые ему команды для транскодирования:

    transcodecmd['100k'] = 'ffmpeg -i - -c:a copy -b 100k -f mpegts -'.split()
    transcodecmd['default'] = 'ffmpeg -i - -c:a copy -c:v copy -f mpegts -'.split()
... и т.д.

Если от пользователя приходит HTTP запрос, в параметрах которого есть fmt=100k, то в конфиге находим команду, соответствующую 100k, это - 'ffmpeg -i - -c:a copy -b 100k -f mpegts -', запускаем ее, на stdin подаем поток и считываем транскодированный поток с stdout, который и отдаем пользователю.

В итоге, имеем очень простой, в плане реализации, функционал, который дает очень гибкие возможности транскодирования. Никаких зависимостей от сторонних библиотек, пользователь сам задает не только параметры транскодирования, но и выбирает транскодер - ffmpeg, vlc или еше что.

2. SSL плюс возможность добавать какой-нить маркер к ссылкам на поток. Зачем это нужно? Нередко пользователи хотят сделать свой домашний сервер доступным из большого интернета. Для этого пробрасывают порт на роутере, что делает его доступным абсолютно всем. Отсюда возникает необходимость в авторизации. Естественно, большинство IPTV клиентов никакую авторизацию делать не умеют, но ее можно, в некотором роде, сэмулировать. Идея такая - на клиенте, ко всем урлам в плейлисте, добавляется секретный параметр, например sessionid=XXXXXXX. В настройках NoxBit прописываем этот же параметр, что заставит его обрабатывать только запросы с этим параметром, а все остальные реджектить. SSL нужен для того, чтобы наш секретный параметр не заснифили.

Ну и, конечно же, главное пожелание - выйти в опенсорс.

dr. SysMan

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1009
    • Просмотр профиля
    • NoxBit hot news
Re: NoxBit feature request
« Ответ #26 : Март 27, 2017, 23:21:59 »
Добавлю парочку пожеланий.

1. Возможность транскодирования. Хотелось бы иметь настраиваемый транскодер. Например, в AceProxy это реализовано следующим образом:

В конфиге пользователь прописывает необходимые ему команды для транскодирования:

    transcodecmd['100k'] = 'ffmpeg -i - -c:a copy -b 100k -f mpegts -'.split()
    transcodecmd['default'] = 'ffmpeg -i - -c:a copy -c:v copy -f mpegts -'.split()
... и т.д.

Если от пользователя приходит HTTP запрос, в параметрах которого есть fmt=100k, то в конфиге находим команду, соответствующую 100k, это - 'ffmpeg -i - -c:a copy -b 100k -f mpegts -', запускаем ее, на stdin подаем поток и считываем транскодированный поток с stdout, который и отдаем пользователю.

В итоге, имеем очень простой, в плане реализации, функционал, который дает очень гибкие возможности транскодирования. Никаких зависимостей от сторонних библиотек, пользователь сам задает не только параметры транскодирования, но и выбирает транскодер - ffmpeg, vlc или еше что.

2. SSL плюс возможность добавать какой-нить маркер к ссылкам на поток. Зачем это нужно? Нередко пользователи хотят сделать свой домашний сервер доступным из большого интернета. Для этого пробрасывают порт на роутере, что делает его доступным абсолютно всем. Отсюда возникает необходимость в авторизации. Естественно, большинство IPTV клиентов никакую авторизацию делать не умеют, но ее можно, в некотором роде, сэмулировать. Идея такая - на клиенте, ко всем урлам в плейлисте, добавляется секретный параметр, например sessionid=XXXXXXX. В настройках NoxBit прописываем этот же параметр, что заставит его обрабатывать только запросы с этим параметром, а все остальные реджектить. SSL нужен для того, чтобы наш секретный параметр не заснифили.

Ну и, конечно же, главное пожелание - выйти в опенсорс.
1. Мысль ясна. А что сейчас мешает натравить FFMPEG на поток от пирагента?
2. Мысль тоже ясна, принята для размышлений.
Tox ID :
4C7CA6A2C5713FB948257C63FFEB485585D5DCF9BB9DEA7FB3847DADDB7271620F73C0DB30B1
Telegram:
Tech. support : https://t.me/Darth_SysMan
Channel: https://t.me/NoxBit

Ан9рей

  • Sr. Member
  • ****
  • Сообщений: 288
    • Просмотр профиля
Re: NoxBit feature request
« Ответ #27 : Март 27, 2017, 23:34:19 »
1. Мысль ясна. А что сейчас мешает натравить FFMPEG на поток от пирагента?

А как это сделать? Чтобы при переключении канала запускался новый транскодер?
Кроме того, нужна еще возможность выбора. Например, для клиентов из локальной сети транскодить не надо, а если мы хотим смотреть из внешнего мира и скорость интернета неважная, то добавляем к URL потока &fmt=100k и получаем транскодирование соответствующим транскодером. Если интернет чуточку быстрее, то добавляем &fmt=500k. В случае HLS все эти варианты можно перечислить в m3u листе и тогда "умный" плеер сам сможет подбирать нужный вариант, чтобы изображение шло без затыков.

dr. SysMan

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1009
    • Просмотр профиля
    • NoxBit hot news
Re: NoxBit feature request
« Ответ #28 : Март 27, 2017, 23:48:18 »
1. Мысль ясна. А что сейчас мешает натравить FFMPEG на поток от пирагента?

А как это сделать? Чтобы при переключении канала запускался новый транскодер?
Кроме того, нужна еще возможность выбора. Например, для клиентов из локальной сети транскодить не надо, а если мы хотим смотреть из внешнего мира и скорость интернета неважная, то добавляем к URL потока &fmt=100k и получаем транскодирование соответствующим транскодером. Если интернет чуточку быстрее, то добавляем &fmt=500k. В случае HLS все эти варианты можно перечислить в m3u листе и тогда "умный" плеер сам сможет подбирать нужный вариант, чтобы изображение шло без затыков.
Да делов-то, поставить апаш, пришпандорить скриптец на пхп/перл/питон. Поделиться им на форуме и вуаля, опенсорс готов!

Ваш случай он скорее для ретрансляторов, не уверен клиентская часть от втаскивания такого функционала (а тащить придётся FFMPEG и ещё кучу костылей)  сохранит должную надёжность (какая бы она не была сейчас). Не истина в последней инстанции, но слабо верю в рациональность траты ресурсов на этот функционал. Всё же зависит от (едрыть ево чрез коромысла)  профита .
Tox ID :
4C7CA6A2C5713FB948257C63FFEB485585D5DCF9BB9DEA7FB3847DADDB7271620F73C0DB30B1
Telegram:
Tech. support : https://t.me/Darth_SysMan
Channel: https://t.me/NoxBit

Ан9рей

  • Sr. Member
  • ****
  • Сообщений: 288
    • Просмотр профиля
Re: NoxBit feature request
« Ответ #29 : Март 28, 2017, 00:02:31 »
1. Мысль ясна. А что сейчас мешает натравить FFMPEG на поток от пирагента?

А как это сделать? Чтобы при переключении канала запускался новый транскодер?
Кроме того, нужна еще возможность выбора. Например, для клиентов из локальной сети транскодить не надо, а если мы хотим смотреть из внешнего мира и скорость интернета неважная, то добавляем к URL потока &fmt=100k и получаем транскодирование соответствующим транскодером. Если интернет чуточку быстрее, то добавляем &fmt=500k. В случае HLS все эти варианты можно перечислить в m3u листе и тогда "умный" плеер сам сможет подбирать нужный вариант, чтобы изображение шло без затыков.
Да делов-то, поставить апаш, пришпандорить скриптец на пхп/перл/питон. Поделиться им на форуме и вуаля, опенсорс готов!

Ваш случай он скорее для ретрансляторов, не уверен клиентская часть от втаскивания такого функционала (а тащить придётся FFMPEG и ещё кучу костылей)  сохранит должную надёжность (какая бы она не была сейчас). Не истина в последней инстанции, но слабо верю в рациональность траты ресурсов на этот функционал. Всё же зависит от (едрыть ево чрез коромысла)  профита .

В том-то и дело, что тащить ничего не придется. Весь труд по конфигурации транскодирования отдан на откуп пользователю. Никакие дополнительные библиотеки для этого не нужны, пользователь сам выбирает чем транскодить.
Реализация же такого функционала элементарна - найти в конфиге команду, соответствующую параметру запроса, запустить команду и пропустить через нее поток. В AceProxy весь этот функционал реализован в 10 строк - https://github.com/AndreyPavlenko/aceproxy/blob/master/acehttp.py#L493.

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