Ivan_83 Posted March 26, 2024 Author Posted March 26, 2024 Нет :) Но я недавно перевёл проект на логирование через syslog, не для развития а для поддержки проекта, syslog я пилил для другого проекта, просто liblcb общая. Вставить ник Quote
taf_321 Posted May 15, 2024 Posted May 15, 2024 Пытаюсь запустить msd на проксирование потоков http-to-http. Вроде как все запускается и работает, но если источник пропадает на время от нескольких десятков секунд до пары минут, то на msd вещание прекращается, и после возвращение источника из коматоза, не восстанавливается. Когда источником был multicast такой проблемы не наблюдалось, вещание и раздачи восстанавливались при возобновлении мультикаста. Конфиг msd и каналы для примера привожу. Что нужно подкрутить, чтобы msd восстанавливал прием канала уникастом от отвалившегося источника? Скрытый текст Скрытый текст Вставить ник Quote
taf_321 Posted May 15, 2024 Posted May 15, 2024 В логах вот такая картина: May 15 10:35:14 stream1 msd[115320]: /channel/TVch1.ts - 1/2: stop [1: ERROR ]... May 15 10:35:14 stream1 msd[115320]: /channel/TVch1.ts - 1/2: requesting for data [1: ERROR ]... May 15 10:35:14 stream1 msd[115320]: /channel/TVch1.ts - 1/2: waiting for data [1: ERROR ]... May 15 10:35:14 stream1 msd[115320]: /channel/TVch1.ts: switch src from 2 to 2 - backup. May 15 10:35:14 stream1 msd[115320]: /channel/TVch1.ts - 1/2: stop [1: ERROR ]... May 15 10:35:14 stream1 msd[115320]: /channel/TVch1.ts - 2/2: stop [1: ERROR ]... И что-то вообще никаких таймаутов при реконнектах не вижу. Так же в логах не вижу выхлопа от от строки syslog(LOG_INFO, "Retry %"PRIu64"/%"PRIu64" connect to %s...", conn_tcp->conn_try, conn_tcp->conn_try_count, straddr); из src/stream_src.c. Такое подозрение, что где-то что-то отрабатывает не так. Вставить ник Quote
Ivan_83 Posted May 16, 2024 Author Posted May 16, 2024 <tcp> <!-- For: tcp- and tcp-http. --> <remonteHostname>93.95.99.231:9500</remonteHostname> <connectTimeout>5</connectTimeout> <!-- Connect timeout. --> <reconnectInterval>5</reconnectInterval> <!-- Retry connect delay. --> <reconnectCount>4294967295</reconnectCount> <!-- Retry count. --> </tcp> У вас примерно так оформлен источник канала? Вставить ник Quote
taf_321 Posted May 16, 2024 Posted May 16, 2024 <tcp> <!-- For: tcp- and tcp-http. --> <connectTimeout>300</connectTimeout> <!-- Connect timeout. --> <reconnectInterval>60</reconnectInterval> <!-- Retry connect delay. --> <reconnectCount>1024</reconnectCount> <!-- Retry count. --> <remonteHostname>192.168.0.125</remonteHostname> </tcp> Изначально значения таймаутов так же были 5 и 5 секунд, 300/60 стали уже в процессе ковыряния, без всякого изменения поведения. Хм... Разница только в том, что у меня не указан порт в remotehostname. Но при старте поток из указанного так источника запускается и до первого падения работает. Вставить ник Quote
Ivan_83 Posted May 16, 2024 Author Posted May 16, 2024 connectTimeout=300 это 5 минут ждать connect(), если хост живой то обычно хватает 5 секунд, ну 10 с запасом. rcvTimeout - надеюсь не выкручивали. Для tcp-http 80 порт подставляется если не указан или указан 0 порт. Если хотите по быстрому - давайте конфиг целиком, я у себя под отладкой посмотрю. Все каналы не нужны, хватит того с чем проблема. Вставить ник Quote
alexey-it Posted June 20, 2024 Posted June 20, 2024 (edited) У меня с http источником вообще не работает. причем в hubstat вижу всю информацию и запрос от клиента. но картинки нет. такое ощущение если источник делает redirect сервер не понимает Edited June 20, 2024 by alexey-it Вставить ник Quote
Ivan_83 Posted May 2, 2025 Author Posted May 2, 2025 Там очень примитивная реализация http клиента. Оно подключается куда указано, генерит запрос - тут всё нормально, можно задавать любые заголовки через конфиг. В ответ оно всегда рассчитывает получить 200 и поток, притом поддержку "Transfer-Encoding: chunked" я добавил только сейчас, а если там будет чем то пожато - то опять же работать не будет. TLS тоже нет. Редиректы и прочее оно не смотрит. Когда то я собирался написать туда http клиента по лучше, но не осилил/забросил. Сейчас на прикручивание libcurl или чего то аналогичного времени нет. Но если прикручу к другому проекту когданить - то вероятно и к msd тоже доделаю. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.