Jump to content

Recommended Posts

Posted

Нет :)

Но я недавно перевёл проект на логирование через syslog, не для развития а для поддержки проекта, syslog я пилил для другого проекта, просто liblcb общая.

  • 1 month later...
  • Replies 307
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Posted

Пытаюсь запустить msd на проксирование потоков http-to-http. Вроде как все запускается и работает, но если источник пропадает на время от нескольких десятков секунд до пары минут, то на msd вещание прекращается, и после возвращение источника из коматоза, не восстанавливается. Когда источником был multicast такой проблемы не наблюдалось, вещание и раздачи восстанавливались при возобновлении мультикаста. Конфиг msd и каналы для примера привожу.

 

Что нужно подкрутить, чтобы msd восстанавливал прием канала уникастом от отвалившегося источника?

 

Скрытый текст

 

Скрытый текст

 

 

Posted

В логах вот такая картина:

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. Такое подозрение, что где-то что-то отрабатывает не так.

Posted
            <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>

У вас примерно так оформлен источник канала?

Posted
                       <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.  Но при старте поток из указанного так источника запускается и до первого падения работает.

Posted

connectTimeout=300 это 5 минут ждать connect(), если хост живой то обычно хватает 5 секунд, ну 10 с запасом.

rcvTimeout - надеюсь не выкручивали.

Для tcp-http 80 порт подставляется если не указан или указан 0 порт.

 

Если хотите по быстрому - давайте конфиг целиком, я у себя под отладкой посмотрю.

Все каналы не нужны, хватит того с чем проблема.

  • 1 month later...
Posted (edited)

У меня с http источником вообще не работает. причем в hubstat  вижу всю информацию и запрос от клиента. но картинки нет. такое ощущение если источник делает redirect  сервер не понимает

 

Edited by alexey-it
  • 10 months later...
Posted

Там очень примитивная реализация http клиента.

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

В ответ оно всегда рассчитывает получить 200 и поток, притом поддержку "Transfer-Encoding: chunked" я добавил только сейчас, а если там будет чем то пожато - то опять же работать не будет.

TLS тоже нет.

Редиректы и прочее оно не смотрит.

 

Когда то я собирался написать туда http клиента по лучше, но не осилил/забросил.

Сейчас на прикручивание libcurl или чего то аналогичного времени нет. Но если прикручу к другому проекту когданить - то вероятно и к msd тоже доделаю.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...