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)
Andrey Dyldin

Астра-4 тестирование

Recommended Posts

Nightik20, запускается старая астра: #!/usr/bin/astra надо заменить на #!/usr/bin/astra-4.0 (она заменяет /usr/bin/astra только если запустить make link , чтобы текущую рабочую версию не затирала)

Share this post


Link to post
Share on other sites
#!/usr/bin/astra-4.0

 

package.path = "/dvb/astra/scripts/?.lua"

 

require("stream")

 

log.set({ filename = "/var/log/astra/astra0.log", stdout = false })

pidfile("/var/run/astra/astra0.pid")

 

cam_1 = newcamd({

    name = "Test1",

    host = "127.0.0.1", port = 34020,

    user = "root", pass = "rjpfyjcnhf",

    disable_emm = true,

    key = "0102030405060708091011121314"

})

 

adapter_0 = dvb_tune

({

    type = "S",

    adapter = 0,

    tp = "11881:L:27500",

    lnb = "10750:10750:11700",

    caid = 0500

})

make_channel({

    name = "NanoTv",

    input = {

    "dvb://adapter_0#pnr=906&cam=cam_1",

    "file:///root/matras.m2ts#loop"

    },

    output = {

    "udp://239.195.2.33:1234",

    }

})

 

 

вот 


root@Stream2:~# Jul 24 17:14:21: INFO: Starting Astra v.3.9

PANIC: unprotected error in call to Lua API ([main] /dvb/astra/scripts/stream.lua:130: loop in gettable)

 

[1]+  Aborted                 /usr/bin/astra0 /etc/astra/adapter0.conf

 

Share this post


Link to post
Share on other sites

сервер тестовый поэтому нужно убрать все кроме астры 4(предыдущую версию затереть либо удалить полностью)

Share this post


Link to post
Share on other sites

Pasha_49, попробуй пожалуйста вот эту версию https://bitbucket.org/cesbo/astra/get/AS-145.tar.bz2 она не должна отбрасывать клиентов на медленном канале (по HTTP), будут потери пакетов, но коннект с клиентом сохранится.

Share this post


Link to post
Share on other sites

Объясните мне пожалуйста, разжуйте как это работает

 

input = {
    "dvb://adapter_0#pnr=17101&cam=NTV",
    "dvb://adapter_0#pnr=17101&cam=NTV_reserve",
    },
 
в логах вот такую штуку выдает.
 
ERROR: [core/socket 10]recv() failed [111: Connection refused]
ERROR: [newcamd RESERVE] newcamd_login_1(): len=-1 [Connection refused]
ERROR: [newcamd RESERVE] failed to read from socket [Connection refused]
 
 
завел два кама
 
NTV = newcamd({
name = "11938_v_27500",
host = "ip1",
port = ****,
user = "****",
pass = "****",
disable_emm = true,
key = "0102030405060708091011121314",
})
 
NTV_reserve = newcamd({
name = "RESERVE",
host = "ip2",
port = ****,
user = "*****",
pass = "*****",
disable_emm = true,
key = "0102030405060708091011121314",
})

Share this post


Link to post
Share on other sites

mad_antoxa, NTV_reserve - не может подключиться, скорей всего фаерволом закрыто , можно попробовать "telnet ip2 port" посмотреть, подключится или нет (если подключится выдаст в консоль несколько символов случайных.

Share this post


Link to post
Share on other sites

Андрей, проясните пожалуйста про работу cam в линуксе.

​Конкретнее про то что вы писали "если cam на отдельной дополнительно подключаемой плате, то он видится как отдельное устройство"

Означает ли это, что если я найду любое устройство с CI-модулем, которое имеет драйвера под линукс и видится как отдельный CAM , то я смогу с использованием этого устройства запустить astra в режиме "принимаем MPEG-TS/UDP из сети , декодируем через CAM , выплевываем в сеть?

​или на данный момент это не поддерживается и не готово?

​Если имеющаяся у меня плата имеет в своем составе /dev/dvb/adapter0/ca0  это "отдельный cam" или "в составе адаптера"?

​Можно ли загнать в такой поток из сети?

Share this post


Link to post
Share on other sites

mad_antoxa, NTV_reserve - не может подключиться, скорей всего фаерволом закрыто , можно попробовать "telnet ip2 port" посмотреть, подключится или нет (если подключится выдаст в консоль несколько символов случайных.

 

да в том то и дело что если оставить только резерв то оно начинало работать, но сейчас я еще раз попробовал и блин мистика заработало оба кама.... и даже переключаются)

спишем на необъяснимое)))

 

 

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

 

 

[newcamd 11938_v_27500] login failed [0x00]
[newcamd 11938_v_27500] failed to read from socket [Operation now in progress]
[newcamd 11938_v_27500] Timeout. Reconnect
[newcamd 11938_v_27500] recv: failed to read the length of message [Operation now in progress]
 
после перезагрузки подключился нормально... смотрю дальше

Share this post


Link to post
Share on other sites

потребление cpu на тестовом компьютере (один транспондер, 10 раскодируемых каналов, 1 процессор)

astra 3.10 без http - 17%

astra 3.10 с http - 19%

astra 4(билд 189) без http - 17%

astra 4(билд 189) с http - 100% - делает его неюзабельным

astra 4(билд 188) без http - 17%

astra 4(билд 188) с http - 26%

 
http клиентом выступает astra4(билд 188 с другого компьютера), хотя не думаю, что это важно.
 

AS-145 как-то совсем плохо сказывается на процессоре.

Share this post


Link to post
Share on other sites

 

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

 

 

[newcamd 11938_v_27500] login failed [0x00]
[newcamd 11938_v_27500] failed to read from socket [Operation now in progress]
[newcamd 11938_v_27500] Timeout. Reconnect
[newcamd 11938_v_27500] recv: failed to read the length of message [Operation now in progress]

 

У вас через оскам подключено? Если да, то не жаловался-ли он (оскам) на попытки анонимного входа в это время?

Share this post


Link to post
Share on other sites

добрый день. 

 INFO: Starting Astra 4.0 dev:190

 

завершается:

Jul 27 09:37:32: INFO: [newcamd Reader_1_4] CaID=0x0000 au=NO UA=0000000000000000
Jul 27 09:37:32: ERROR: modules/softcam/decrypt.c:162: failed assertion `mod->__decrypt.cas != NULL'
Jul 27 09:37:32: ERROR: CAS with CAID:0x0000 not found
Jul 27 09:37:32: ERROR: [main] abort execution. Lua backtrace:
Aborted (core dumped)
 
сервер вроде как настроен нормально, caid верный, на нем работает несколько различных тюнеров. подскажите куда копать?

Share this post


Link to post
Share on other sites

Андрей, проясните пожалуйста про работу cam в линуксе.

​Конкретнее про то что вы писали "если cam на отдельной дополнительно подключаемой плате, то он видится как отдельное устройство"

Означает ли это, что если я найду любое устройство с CI-модулем, которое имеет драйвера под линукс и видится как отдельный CAM , то я смогу с использованием этого устройства запустить astra в режиме "принимаем MPEG-TS/UDP из сети , декодируем через CAM , выплевываем в сеть?

​или на данный момент это не поддерживается и не готово?

​Если имеющаяся у меня плата имеет в своем составе /dev/dvb/adapter0/ca0  это "отдельный cam" или "в составе адаптера"?

​Можно ли загнать в такой поток из сети?

Вот про подобный девайс: http://www.digitaldevices.de/Octopus_CI.html

В системе этот девайс определяется как отдельный адаптер, /dev/dvb/adapterX у этого адаптера есть два устройства ca0 и sec0 (ca0 для управления, sec0 для дешифрования)

Сейчас я сам плохо понимаю как оно должно работать, по информации из драйверов (ngene-octopus) должно быть всё просто, но пока не получается, на выходе с sec0 получаю всё что угодно, только не расшифрованный поток. Если это подтвердится, то да, можно принять поток по UDP и отдать в на CAM для расшифровки.

Также видел информацию, что такие девайсы смогут работать только в связке с принимающим DVB-адаптером.

Где правда, сейчас не понятно. Продолжаю разбираться :-)

 

Если на DVB-адаптере установлен интерфейс для подключения CAM, то он будет работать только с dvb-адаптером.

 

потребление cpu на тестовом компьютере (один транспондер, 10 раскодируемых каналов, 1 процессор)

astra 3.10 без http - 17%

astra 3.10 с http - 19%

astra 4(билд 189) без http - 17%

astra 4(билд 189) с http - 100% - делает его неюзабельным

astra 4(билд 188) без http - 17%

astra 4(билд 188) с http - 26%

 
http клиентом выступает astra4(билд 188 с другого компьютера), хотя не думаю, что это важно.
 

AS-145 как-то совсем плохо сказывается на процессоре.

Поправил, проверил. Сейчас должно нормально работать. (уже объеденил с веткой astra-4 : http://cesbo.com/download/astra-dev4.tar.gz

Share this post


Link to post
Share on other sites

ariman, скорей всего неправильно настроен account в oscam.user . CaID не должен быть нулевым

 

шаровод утверждает что все прописано верно, говорит у них mgcamd и без caid не может быть вообще. могут быть еще варианты? 

Share this post


Link to post
Share on other sites

Поправил, проверил. Сейчас должно нормально работать. (уже объеденил с веткой astra-4 : http://cesbo.com/download/astra-dev4.tar.gz

Спасибо, http сейчас в этой конфигурации дополнительно не нагружает процессор, astra с http - 17%, потрясающий результат.

 

Но если http используется и в input и в output, то появились segfault:

#0  0x0000000000442601 in on_ts (arg=0x7f6f4b8cb010, ts=0x6d36f8 "G") at modules/http/server.c:511
511	    memcpy(&client->buffer[client->buffer_skip], ts, TS_PACKET_SIZE);
(gdb) bt
#0  0x0000000000442601 in on_ts (arg=0x7f6f4b8cb010, ts=0x6d36f8 "G") at modules/http/server.c:511
#1  0x0000000000430bfc in __module_stream_send (stream=0x6ab2a0, ts=0x6d36f8 "G") at modules/astra/module_stream.c:39
#2  0x000000000044e342 in on_ts (mod=0x6ab298, ts=0x6d36f8 "G") at modules/mpegts/transmit.c:34
#3  0x0000000000430bfc in __module_stream_send (stream=0x6d31f0, ts=0x6d36f8 "G") at modules/astra/module_stream.c:39
#4  0x0000000000444399 in on_read (arg=0x6d31e8) at modules/http/request.c:348
#5  0x00000000004065c5 in __asc_socket_on_read (arg=0x6bad00) at core/socket.c:241
#6  0x000000000040536a in asc_event_core_loop () at core/event.c:171

#0  0x0000000000442601 in on_ts (arg=0x59d97e0, 
    ts=0x8b0f18 "G\004\355\026Ή\223\350\070YG5\230v\213\205E\232\207M\341\347\353\263\024\300^\254\207\221#_g\vӕ\r\016\004;:\022\207\217F\352\323\016M\201\071\233IX\214e`>Ϸ\355\322@M/\022\361\242.*C\034;C\001\016\067\204U\036X)\001א{N\227C@\245\233\211V\375_\263[}5\367\326X\024\025~\344\314\032\302ҩ\303\351H\"\217\237\307\v1]\325d`\215&c\306;\264؟\026&w\304\371\206\200,\211\337A{\366\305\354\b\371Qh\214\353z3\326ڥ\250\313\003R\300\225:z\f\300\325},\346\062Cm", <incomplete sequence \343>) at modules/http/server.c:511
511	    memcpy(&client->buffer[client->buffer_skip], ts, TS_PACKET_SIZE);
(gdb) bt
#0  0x0000000000442601 in on_ts (arg=0x59d97e0, 
    ts=0x8b0f18 "G\004\355\026Ή\223\350\070YG5\230v\213\205E\232\207M\341\347\353\263\024\300^\254\207\221#_g\vӕ\r\016\004;:\022\207\217F\352\323\016M\201\071\233IX\214e`>Ϸ\355\322@M/\022\361\242.*C\034;C\001\016\067\204U\036X)\001א{N\227C@\245\233\211V\375_\263[}5\367\326X\024\025~\344\314\032\302ҩ\303\351H\"\217\237\307\v1]\325d`\215&c\306;\264؟\026&w\304\371\206\200,\211\337A{\366\305\354\b\371Qh\214\353z3\326ڥ\250\313\003R\300\225:z\f\300\325},\346\062Cm", <incomplete sequence \343>) at modules/http/server.c:511
#1  0x0000000000430bfc in __module_stream_send (stream=0x8fe750, 
    ts=0x8b0f18 "G\004\355\026Ή\223\350\070YG5\230v\213\205E\232\207M\341\347\353\263\024\300^\254\207\221#_g\vӕ\r\016\004;:\022\207\217F\352\323\016M\201\071\233IX\214e`>Ϸ\355\322@M/\022\361\242.*C\034;C\001\016\067\204U\036X)\001א{N\227C@\245\233\211V\375_\263[}5\367\326X\024\025~\344\314\032\302ҩ\303\351H\"\217\237\307\v1]\325d`\215&c\306;\264؟\026&w\304\371\206\200,\211\337A{\366\305\354\b\371Qh\214\353z3\326ڥ\250\313\003R\300\225:z\f\300\325},\346\062Cm", <incomplete sequence \343>) at modules/astra/module_stream.c:39
#2  0x000000000044e342 in on_ts (mod=0x8fe748, 
    ts=0x8b0f18 "G\004\355\026Ή\223\350\070YG5\230v\213\205E\232\207M\341\347\353\263\024\300^\254\207\221#_g\vӕ\r\016\004;:\022\207\217F\352\323\016M\201\071\233IX\214e`>Ϸ\355\322@M/\022\361\242.*C\034;C\001\016\067\204U\036X)\001א{N\227C@\245\233\211V\375_\263[}5\367\326X\024\025~\344\314\032\302ҩ\303\351H\"\217\237\307\v1]\325d`\215&c\306;\264؟\026&w\304\371\206\200,\211\337A{\366\305\354\b\371Qh\214\353z3\326ڥ\250\313\003R\300\225:z\f\300\325},\346\062Cm", <incomplete sequence \343>) at modules/mpegts/transmit.c:34
#3  0x0000000000430bfc in __module_stream_send (stream=0x8afe50, 
    ts=0x8b0f18 "G\004\355\026Ή\223\350\070YG5\230v\213\205E\232\207M\341\347\353\263\024\300^\254\207\221#_g\vӕ\r\016\004;:\022\207\217F\352\323\016M\201\071\233IX\214e`>Ϸ\355\322@M/\022\361\242.*C\034;C\001\016\067\204U\036X)\001א{N\227C@\245\233\211V\375_\263[}5\367\326X\024\025~\344\314\032\302ҩ\303\351H\"\217\237\307\v1]\325d`\215&c\306;\264؟\026&w\304\371\206\200,\211\337A{\366\305\354\b\371Qh\214\353z3\326ڥ\250\313\003R\300\225:z\f\300\325},\346\062Cm", <incomplete sequence \343>) at modules/astra/module_stream.c:39
#4  0x0000000000444399 in on_read (arg=0x8afe48) at modules/http/request.c:348
#5  0x00000000004065c5 in __asc_socket_on_read (arg=0x7b62f0) at core/socket.c:241
#6  0x000000000040536a in asc_event_core_loop () at core/event.c:171

Share this post


Link to post
Share on other sites

 

Спасибо, http сейчас в этой конфигурации дополнительно не нагружает процессор, astra с http - 17%, потрясающий результат.

 

И как работает http вещание? Лучше, чем udpxy ? Есть какие-нибудь преимущества?

Share this post


Link to post
Share on other sites

И как работает http вещание? Лучше, чем udpxy ? Есть какие-нибудь преимущества?

Работает хорошо. Основное преимущество перед udpxy в настраивамости: можно реализовать basic авторизацию для клиентов, красивые ссылки. Там же на этом уровне у меня сделан и уровень мониторинга/ограничения, шлет мне смс если какой-то канал падает, пользователь может смотреть только два канала одновременно, в базу пишется кто, что и какое время смотрел для статистики. В качестве источника сигнала может быть не только мультикаст, но и http, у меня не все каналы берутся со спутника, поэтому это важный момент, и он полностью исключает использование udpxy.

Share this post


Link to post
Share on other sites

через пару минут после старта астры в лог выписывается такое:

Jul 28 15:14:11: ERROR: [core/socket 6]recv() failed [104: Connection reset by peer]
Jul 28 15:14:11: ERROR: [http_server #айпи:порт#] failed to read a request [Connection reset by peer]
Jul 28 15:14:19: ERROR: [core/socket 51]recv() failed [104: Connection reset by peer]
Jul 28 15:14:19: ERROR: [http_server #айпи:порт#] failed to read a request [Connection reset by peer]

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

 

Извиняюсь, вылетает с ошибкой:

Jul 28 16:12:50: WARNING: [http_server #айпи:порт#] failed to send ts (65656 bytes) to client:42
Segmentation fault

gdb выдала это:

Program received signal SIGSEGV, Segmentation fault.
0x000000000043aa14 in on_ts (arg=0x7ffff50cf010,
    ts=0x6e5438 "G\004\223\026Z4Y\200{\271\026\317\220Y\337Q\276V{\030u\254\016\265\200\326\266\305\242\204YChH\016S\020\203\rU\370\064\\\232(2\244\301\340h\322``F\222t\033N\r\206'\336\305H\247\003\024\247\223\060L\235Z\a\202p:\023\244Q\364u\242\350F%p([\310\260=&\275\340z\301O%52\330\026\207@\300f\026\030\203\002\220\300\220b$\311\256t\215\\\v\203\212O\274 .\016\252\207\001JCd\305\022\027$\331\063Q\251\261\"\335&:PzV\251\211\066\360\361\303^{\200\241\374\232$P\340\347\346")
    at modules/http/server.c:511
511         memcpy(&client->buffer[client->buffer_skip], ts, TS_PACKET_SIZE);
(gdb) bt
#0  0x000000000043aa14 in on_ts (arg=0x7ffff50cf010,
    ts=0x6e5438 "G\004\223\026Z4Y\200{\271\026\317\220Y\337Q\276V{\030u\254\016\265\200\326\266\305\242\204YChH\016S\020\203\rU\370\064\\\232(2\244\301\340h\322``F\222t\033N\r\206'\336\305H\247\003\024\247\223\060L\235Z\a\202p:\023\244Q\364u\242\350F%p([\310\260=&\275\340z\301O%52\330\026\207@\300f\026\030\203\002\220\300\220b$\311\256t\215\\\v\203\212O\274 .\016\252\207\001JCd\305\022\027$\331\063Q\251\261\"\335&:PzV\251\211\066\360\361\303^{\200\241\374\232$P\340\347\346")
    at modules/http/server.c:511
#1  0x0000000000430a50 in __module_stream_send (stream=0x6eb9a0,
    ts=0x6e5438 "G\004\223\026Z4Y\200{\271\026\317\220Y\337Q\276V{\030u\254\016\265\200\326\266\305\242\204YChH\016S\020\203\rU\370\064\\\232(2\244\301\340h\322``F\222t\033N\r\206'\336\305H\247\003\024\247\223\060L\235Z\a\202p:\023\244Q\364u\242\350F%p([\310\260=&\275\340z\301O%52\330\026\207@\300f\026\030\203\002\220\300\220b$\311\256t\215\\\v\203\212O\274 .\016\252\207\001JCd\305\022\027$\331\063Q\251\261\"\335&:PzV\251\211\066\360\361\303^{\200\241\374\232$P\340\347\346")
    at modules/astra/module_stream.c:39
#2  0x00000000004456b6 in on_ts (mod=0x6eb998,
    ts=0x6e5438 "G\004\223\026Z4Y\200{\271\026\317\220Y\337Q\276V{\030u\254\016\265\200\326\266\305\242\204YChH\016S\020\203\rU\370\064\\\232(2\244\301\340h\322``F\222t\033N\r\206'\336\305H\247\003\024\247\223\060L\235Z\a\202p:\023\244Q\364u\242\350F%p([\310\260=&\275\340z\301O%52\330\026\207@\300f\026\030\203\002\220\300\220b$\311\256t\215\\\v\203\212O\274 .\016\252\207\001JCd\305\022\027$\331\063Q\251\261\"\335&:PzV\251\211\066\360\361\303^{\200\241\374\232$P\340\347\346")

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×