Jump to content
Cesbo Community
  • Announcements

    • RadioSintetica

      Information   10/21/18

      Registration on the forum temporarily closed! For support requests, please contacat us: https://cesbo.com/help
      Our community in Telegram: @cesbo_en (English language) , @cesbo_ru (Russian language) , @cesbo_es (Spanish Language)
hack

AvProxy

Recommended Posts

I checked streams yesterday via VLC on PC. 

Now I can see in tcpdump igmp v2 report is send and on iptraf-ng I can see eth1 stats increase for ~4Mb/s after enabling AvProxy.

Trace is like below. Strange think at the end. There is no IFace: addr 10.10.192.1 for second input. Anyhow both test stream does not work. 

ubuntu@home:~/avproxy$ sudo ./AvProxy-x64 -HttpPort 8080 -Trace
[AvProxy]       Build=[Oct  7 2018 23:01:19 (host_x64.r1)]
[Main]  Build=[Oct  7 2018 23:02:48 (host_x64.r1)]
[BaseLib]       Build=[Oct  7 2018 23:02:48 (host_x64.r1)]
[Arg 0-0]       [./AvProxy-x64]
[Arg 1-2]       [-HttpPort 8080]
[Arg 3-3]       [-Trace]
[NetLib]        Host=home
[NetLib]        IFace=lo        Ip=[127.0.0.1]
[NetLib]        IFace=eth0      Ip=[192.168.77.1]
[NetLib]        IFace=eth1      Ip=[10.10.192.1]
[NetLib]        IFace=docker0   Ip=[172.17.0.1]
[NetLib]        IFace=  Ip=[0.0.0.0]
[NetLib]        IFace=eth1      Mac=[00:02:9B:CA:DE:3A]
[NetLib]        IFace=lo        Mac=[00:00:00:00:00:00]
[NetLib]        IFace=docker0   Mac=[02:42:0B:7E:20:76]
[NetLib]        IFace=eth0      Mac=[90:1B:0E:1E:AC:98]
[HttpServer]    Build=[Oct  7 2018 23:02:13 (host_x64.r1)]
[HttpServer]    [Open] Tcp=8080
[AvProxy]       Url is invalid, use local configuration file [AvProxy.xml]
[TaskThread]    [13474] Began operating
[AvProxy]       Synchronization XML [0 -> 1]
[AvProxy]       Open Input=[udp://239.239.1.4:1234?&IFace=10.10.192.1]
IFace: addr 10.10.192.1
[AvProxy]       Open Input=[udp://239.239.1.5:1234&IFace=10.10.192.1]

Share this post


Link to post
Share on other sites

Tested with IFcase config and without it. In both cases I cannot get the output. I shrink xml to only one stream and still cannot get the output even that I can see stream is received.

I also tested with astra:

ubuntu@home:~/avproxy$ astra --analyze udp://eth1@239.239.1.4:1234
Nov 13 13:58:45: INFO: [main] Starting Astra v.5.64-test [commit:4a42071d date:2018-10-10]
Nov 13 13:58:46: ERROR: [core/socket 8] setsockopt(SO_BINDTODEVICE) failed [Operation not permitted]
Nov 13 13:58:46: INFO: Expiration date: 2018-11-18 (Trial version)
Nov 13 13:58:47: INFO: Bitrate: 0 Kbit/s
Nov 13 13:58:48: INFO: Bitrate: 0 Kbit/s

What does these mean? With it's 0 Kbit/s if iptrack show's me Incoming rates:    4112.95 kbps  

 

<?xml version="1.0"?>
<AvProxy Ver="1">
<Input Url="udp://239.239.1.4:1234?&amp;IFace=10.10.192.1" />
        <Output Name="test"></Output>
</AvProxy>

Share this post


Link to post
Share on other sites

Hello, 

<?xml version="1.0"?>
<AvProxy Ver="1">

<Input Url="udp://239.255.0.154:5500?&amp;IFace=172.16.1.3">
        <Output Name="test"/>
</Input>
 

Works fine for 1 stream, but only with fixed url: http://x.x.x.x:8000/live/test

'live' is important & constant. Documentation confirms this.

Do i manage to make my own url, without necessary string - 'live'

My task is to form output link from input stream:  udp://239.255.0.154:5500 -> http://x.x.x.x:8000/udp/239.255.0.154:5500 for each input stream, which populate about 150.

Share this post


Link to post
Share on other sites

ваша задача звучит иначе, лив здесь не причем

вы хотите аналог udpxy, при котором входной урл можно конфигурировать с исходящего урла

 это есть в туду

Share this post


Link to post
Share on other sites

можно конечно

сроков нет

у меня сейчас приоритет на dvb/rtsp/webrtc и коммерциализацию

на такого рода функций прокси, вы второй за 3 года кому это понадобилось

Share this post


Link to post
Share on other sites

в каком смысле ограничения ?

память там активно используется поскольку все чанки там

ну и миллион пользователей точно не потянет, народ выходы балансирует через кеш проксики

Share this post


Link to post
Share on other sites

hello Hack.

Great job with AvProxy.

I am testing it again and using nginx on front to protect content with temporary url's. Everything works fine.

Looking for additional security I thought to protect key files as well, but having trouble with that. If I let nginx to proxy keyfile requests directly to avproxy, then everything works. If I rewrite those requests to run local php script, which validate and then request key from avproxy and send it to client - nothing works. Why? I did notice, that key files change every time, but do not understand how keys are made or requests get validated. Is there some special http headers or something else to bind key files to specific client? Something what will be lost if php curl is requesting them instead of actual client.

 

There is not much point to having AES when everyone can freely request key file together with the stream.

Thanks again.

 

Share this post


Link to post
Share on other sites

Доброго дня.

Фидбэк )

У меня стоит майская версия (номер не помню). Как в мае запустил,так и работает до сих пор. На входе 200 каналов,из них 40 HD и один UHD, все с полноценным битрейтом - в сервер вливается 1.2 гбит трафика. Клиентов немного - разово был пик под 300 подключений - проблем не было. Итого 8 гб памяти, кушается проксей 4.2 гб.

Единственная проблема которая вылезла,к проксе не имеющая отношения - самсунги для своих смарт-теликов сделали обновление прошивки, и в итоге сейчас у них проблемы с HLS. Там где каналы с телетекстом - гарантированно не работает, где нету - рандом.

Не знаю планов автора по развитию этого замечательного проксика, но было бы круто еще запилить фильтр на вход, чтобы иметь возможность отфильтровать лишнее, тот же телетекст например ) 

Share this post


Link to post
Share on other sites

а как бы в этом на 100% убедится что именно на тех потоках где есть телетекст ?

ffmpeg или астрой пробовали отфильтровать телетекст и пустить на самс ?

лог avproxy с входящего потока где не работает на самсунге, покажите, может там и не телетекст проблема

Share this post


Link to post
Share on other sites
2 hours ago, hack said:

а как бы в этом на 100% убедится что именно на тех потоках где есть телетекст ?

ffmpeg или астрой пробовали отфильтровать телетекст и пустить на самс ?

лог avproxy с входящего потока где не работает на самсунге, покажите, может там и не телетекст проблема

Проблема с телетекстом, после июньской чтоли прошивки, поэтому телетекст надо вырезать.

Share this post


Link to post
Share on other sites

пересмотрел код

телетекст стрим режется

но из PMT не удаляется его пид

может из за этого и зависает самсунги ?

стрим надо пустить

Share this post


Link to post
Share on other sites

А скажите а можно как то регулировать временной интервал проверки конфига, или как то принудительно его перечитать, не перезапуская бинарник? Хочу сделать чтобы потоки подключались по требованию, когда ни одного клиента нет чтоб канал и не качало.

Share this post


Link to post
Share on other sites

нельзя

он там статический, но даже если вытянуть в настройки я не представляю как это вам поможет с деманд режимом

подумаю над опцией кил юзер хап для релоада конфига без перезапуска

но все равно не понимаю как вам это поможет

Share this post


Link to post
Share on other sites

Ну например, я фиксирую через фронтенд ip  порт и юзер агент клиента и веду список кто, что смотрит в данный момент. А раз в пару минут крон отключает потоки на которых больше никого нет. Соответсвенно, когда подключается опять новый клиент, надо, чтобы канал для него включился сразу же. Вот тут и пригодилось бы управление через kill или веб интефейс. А вообще если бы он деманд был бы в самом приложении, то конечно это было бы шоколадно, ведь такой режим там прямо простится.

Share this post


Link to post
Share on other sites

это в TODO есть на гитхабе

а если бы мне за это еще и деньги платили, не шоколадно но тоже не плохо было бы

Share this post


Link to post
Share on other sites

Да не вопрос как бы, даже в таком виде прога наверное лучшее из того что есть бесплатно, спасибо вам огромное :)

Share this post


Link to post
Share on other sites

поигрался на тестовом билде

kill -SIGUSR1 pid

релоадит локальный конфиг

номер версии только надо в конфиге увеличивать

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×