Jump to content
Cesbo Community
  • Announcements

    • RadioSintetica

      News!   12/10/17

      If you have any questions related to installation and purchase, please check our documentation https://cesbo.com/en/astra/docs/ and terms of service https://cesbo.com/en/terms/
      Also, we have an official Telegram chat: https://t.me/cesbo_en  you can ask any questions or share your experience with colleagues Если у вас возникли вопросы по установке и покупке, ознакомьтесь пожалуйста с документацией по адресу https://cesbo.com/ru/astra/docs/ и условиями использования https://cesbo.com/ru/terms/
      Так же, обращаю внимание, что у нас есть официальный Телеграмм чат: https://t.me/cesbo_ru в котором можно задать вопросы - или поделиться своим опытом с коллегами
hack

AvProxy

Recommended Posts

hex    7

попробовал , все ок работает, ровно то что и заявлено..

только не пойму зачем астра делает тоже самое..

Share this post


Link to post
Share on other sites

Ну как зачем)) что бы зарабатывать деньги.

Могу еще RTSP input/output добавить,

ffmpeg нативно прикрутить, что бы там изображение и звук не расползались через некоторое время работы

ну и транскодинг на ffmpeg

поддержку DVB пока не планирую, разве что поддержку MPTS на input

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

а если нет, отложу в копилку, и без этого есть чем заниматься 

Share this post


Link to post
Share on other sites

чанки в памяти

64 можно, но нет пока времени настроить виртуалку что бы собрать

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

Share this post


Link to post
Share on other sites

чанки в памяти

64 можно, но нет пока времени настроить виртуалку что бы собрать

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

толще - то неважно) зато либы не надо подбирать)

и еще, если можно, чанки нумеровать <random>.ts

где <random> любой мусор, хоть md5(time())

Share this post


Link to post
Share on other sites

Думаю можно будет добавить рандомные имена в чанки, посмотрим. 

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

Даже сами чанки практически не нарезаются на сегменты, просто берется определенный ts кусочек для отдачи.

 

В следующем hls будет правильно нарезанный на фреймы по синхрону.

Резать каждый чанк как полноценный ts h264 кей фрейм -  такого пока наверное не будет, только в todo

 

Так же надеюсь добавить rtsp input,

и исправить мелкий баг по rtp input если там rtpextension как c пчелайном было у астры.

 

Еще надеюсь добавлю запись лога в файл но имени канала в Entry, на каждое имя свой лог.

И выбор выбранной программы с MPTS input

 

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

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

Share this post


Link to post
Share on other sites
>./AvProxy-x32-2() [0x804d406]

[Heap]  p=0xff823138 Size=962560 Exp=[] [:0] []

>./AvProxy-x32-2() [0x8052685]

>./AvProxy-x32-2() [0x808265b]

>./AvProxy-x32-2() [0x8082a99]

>./AvProxy-x32-2() [0x8082df0]

>./AvProxy-x32-2() [0x8077f97]

>./AvProxy-x32-2() [0x806cade]

>./AvProxy-x32-2() [0x807e141]

>./AvProxy-x32-2() [0x80719de]

>./AvProxy-x32-2() [0x8061bdb]

>./AvProxy-x32-2() [0x806234d]

>./AvProxy-x32-2() [0x8062bef]

>./AvProxy-x32-2() [0x804d2d2]

>/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0xf74964d3]

>./AvProxy-x32-2() [0x804d406]

[Heap]  p=0xff923008 Size=962560 Exp=[] [:0] []

>./AvProxy-x32-2() [0x8052685]

>./AvProxy-x32-2() [0x808265b]

>./AvProxy-x32-2() [0x8082a99]

>./AvProxy-x32-2() [0x8082df0]

>./AvProxy-x32-2() [0x8077f97]

>./AvProxy-x32-2() [0x806cade]

>./AvProxy-x32-2() [0x807e141]

>./AvProxy-x32-2() [0x80719de]

>./AvProxy-x32-2() [0x8061bdb]

>./AvProxy-x32-2() [0x806234d]

>./AvProxy-x32-2() [0x8062bef]

>./AvProxy-x32-2() [0x804d2d2]

>/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0xf74964d3]

>./AvProxy-x32-2() [0x804d406]

[Heap]  p=0xffa0f008 Size=962560 Exp=[] [:0] []

>./AvProxy-x32-2() [0x8052685]

>./AvProxy-x32-2() [0x808265b]

>./AvProxy-x32-2() [0x8082a99]

>./AvProxy-x32-2() [0x8082db1]

>./AvProxy-x32-2() [0x8077f97]

>./AvProxy-x32-2() [0x806cade]

>./AvProxy-x32-2() [0x807e141]

>./AvProxy-x32-2() [0x80719de]

>./AvProxy-x32-2() [0x8061bdb]

>./AvProxy-x32-2() [0x806234d]

>./AvProxy-x32-2() [0x8062bef]

>./AvProxy-x32-2() [0x804d2d2]

>/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0xf74964d3]

>./AvProxy-x32-2() [0x804d406]

[Heap]  p=0xffbae008 Size=962560 Exp=[] [:0] []

>./AvProxy-x32-2() [0x8052685]

>./AvProxy-x32-2() [0x808265b]

>./AvProxy-x32-2() [0x8082a99]

>./AvProxy-x32-2() [0x8082db1]

>./AvProxy-x32-2() [0x8077f97]

>./AvProxy-x32-2() [0x806cade]

>./AvProxy-x32-2() [0x807e141]

>./AvProxy-x32-2() [0x80719de]

>./AvProxy-x32-2() [0x8061bdb]

>./AvProxy-x32-2() [0x806234d]

>./AvProxy-x32-2() [0x8062bef]

>./AvProxy-x32-2() [0x804d2d2]

>/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0xf74964d3]

>./AvProxy-x32-2() [0x804d406]

[Heap]  p=0xffc9a008 Size=962560 Exp=[] [:0] []

>./AvProxy-x32-2() [0x8052685]

>./AvProxy-x32-2() [0x808265b]

>./AvProxy-x32-2() [0x8082a99]

>./AvProxy-x32-2() [0x8082db1]

>./AvProxy-x32-2() [0x8077f97]

>./AvProxy-x32-2() [0x806cade]

>./AvProxy-x32-2() [0x807e141]

>./AvProxy-x32-2() [0x80719de]

>./AvProxy-x32-2() [0x8061bdb]

>./AvProxy-x32-2() [0x806234d]

>./AvProxy-x32-2() [0x8062bef]

>./AvProxy-x32-2() [0x804d2d2]

>/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0xf74964d3]

>./AvProxy-x32-2() [0x804d406]

[Heap]  p=0xffd86008 Size=962560 Exp=[] [:0] []

>./AvProxy-x32-2() [0x8052685]

>./AvProxy-x32-2() [0x808265b]

>./AvProxy-x32-2() [0x8082a99]

>./AvProxy-x32-2() [0x8082df0]

>./AvProxy-x32-2() [0x8077f97]

>./AvProxy-x32-2() [0x806cade]

>./AvProxy-x32-2() [0x807e141]

>./AvProxy-x32-2() [0x80719de]

>./AvProxy-x32-2() [0x8061bdb]

>./AvProxy-x32-2() [0x806234d]

>./AvProxy-x32-2() [0x8062bef]

>./AvProxy-x32-2() [0x804d2d2]

>/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0xf74964d3]

>./AvProxy-x32-2() [0x804d406]

[Heap]  p=0xffe72008 Size=962560 Exp=[] [:0] []

>./AvProxy-x32-2() [0x8052685]

>./AvProxy-x32-2() [0x808265b]

>./AvProxy-x32-2() [0x8082a99]

>./AvProxy-x32-2() [0x8082df0]

>./AvProxy-x32-2() [0x8077f97]

>./AvProxy-x32-2() [0x806cade]

>./AvProxy-x32-2() [0x807e141]

>./AvProxy-x32-2() [0x80719de]

>./AvProxy-x32-2() [0x8061bdb]

>./AvProxy-x32-2() [0x806234d]

>./AvProxy-x32-2() [0x8062bef]

>./AvProxy-x32-2() [0x804d2d2]

>/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0xf74964d3]

>./AvProxy-x32-2() [0x804d406]

[Heap]  Active=4335(4150769924) Total=6662(4267469912) Max=4335(4150769924)

[OnExit]        ?????

 

 

примерно через 10 минут работы, что на хттп, что на удп

Share this post


Link to post
Share on other sites

Это при скольки входящих потоков и активных смотрящих клиентов ?  :)

я оставлял ограничение на то что чанки не удаляются из памяти, на 32 битах она израсходовалась 4,150,769,924

но что бы съесть 4 гига нужно очень постараться, она израсходуется не так активно даже на 3 инпутах и пару смотрящих

Share this post


Link to post
Share on other sites

один инпут и один клиент ВЛЦ, спецом для теста ставил

система Linux coder2 3.8.0-23-generic #34~precise1-Ubuntu SMP Wed May 29 21:12:31 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Share this post


Link to post
Share on other sites

Ограничение на старый хлс сниму, пост обновлю, в новом хлс когда соберу, с мд5 чанками, чанки с памяти в демо версии удаляться не будут.

 

гуд, проверим может где то баг закрался.

Share this post


Link to post
Share on other sites

Обновил v0.3 память должна очищаться, 4 гига не должно больше утечь

если что трейс под спойлер прячте

Share this post


Link to post
Share on other sites
>./AvProxy-x32-3() [0x8083e59]
>./AvProxy-x32-3() [0x80841b0]
>./AvProxy-x32-3() [0x8080df2]
>./AvProxy-x32-3() [0x806231b]
>./AvProxy-x32-3() [0x8062a8d]
>./AvProxy-x32-3() [0x806333f]
>./AvProxy-x32-3() [0x804d2d2]
>/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0xf74354d3]
>./AvProxy-x32-3() [0x804d406]
[Heap]  p=0xfff47008 Size=192512 Exp=[alloc] [:28] [GetAppleBlock]
>./AvProxy-x32-3() [0x8052775]
>./AvProxy-x32-3() [0x8083a1b]
>./AvProxy-x32-3() [0x8083e59]
>./AvProxy-x32-3() [0x80841b0]
>./AvProxy-x32-3() [0x8080df2]
>./AvProxy-x32-3() [0x806231b]
>./AvProxy-x32-3() [0x8062a8d]
>./AvProxy-x32-3() [0x806333f]
>./AvProxy-x32-3() [0x804d2d2]
>/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0xf74354d3]
>./AvProxy-x32-3() [0x804d406]
[Heap]  p=0xfff77008 Size=192512 Exp=[alloc] [:28] [GetAppleBlock]
>./AvProxy-x32-3() [0x8052775]
>./AvProxy-x32-3() [0x8083a1b]
>./AvProxy-x32-3() [0x8083e59]
>./AvProxy-x32-3() [0x80841b0]
>./AvProxy-x32-3() [0x8080df2]
>./AvProxy-x32-3() [0x806231b]
>./AvProxy-x32-3() [0x8062a8d]
>./AvProxy-x32-3() [0x806333f]
>./AvProxy-x32-3() [0x804d2d2]
>/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0xf74354d3]
>./AvProxy-x32-3() [0x804d406]
[Heap]  Active=114(17533300) Total=41223(4224334508) Max=134(21383540)
[OnExit]        ?????

походу не помогло, попроьую еще х64 версию попозже

Share this post


Link to post
Share on other sites

Это баг где то, буду искать, память то не утекла, 21 мег это пустяги

С 64 будет тоже самое скорее всего

Share this post


Link to post
Share on other sites

где то похоже баг на TS парсере

 

давайте на AvRelay-x32, запущенным без режима демона и без форегрануд, прямо руками с консоли

AvRelay-x32 -Log Log

он создаст папку с записью лога всего, лог если можно тоже мне с коре файлом

 

после того как упадет, он не выйдет, будет ждать действий, не надо нажимать Ctrl+C

в том же каталоге создается файл debug_AvProxy_****

в другой консоли, в этой же папке где запущен AvProxy, запустите этот файл debug_AvProxy_*** с параметром g

запустится gdb, если не установлен то установите предварительно gdb

в консоли gdb выполните команду generate-core-file

создастся core.*** файл который мне нужен для анализа

потом можно запустить этот же файл debug_AvProxy_** с параметром t

AvProxy-x32 завершится, и файл debug_AvProxy_** удалится

 

если есть возможность то хотелось бы ts файл этого стрима продолжительностью после которой происходит падение

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

либо допишу возможность записи потоков в файл в самом прокси

Share this post


Link to post
Share on other sites

Набросал мини тулзу для записи raw ts прямо с udp/rtp мультикаста, добавил в шапку

 

 

запишите еще у кого есть MPTS с мультикаста, а то мне негде взять ))

 

добавил в шапку еще версию TsRecord которая поддерживает и http stream и udp/rtp

что бы сразу raw ts писала в файл, может кому пригодится ))

hls она не поддерживает

Share this post


Link to post
Share on other sites

Запись астрой не пойдет, она же пишет sync поток ?

мне нужен raw с сокета

поэтому только TsRecord

Share this post


Link to post
Share on other sites

Будем считать халява на этом закончилась  :)

Обновил версию 2.0 без ограничений в шапке.

Она будет поддерживаться в этом виде без улучшений и введения нового функционала какое то время на шару.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×