Интернет-вещание "заикается"

  • Автор темы Автор темы Aki
  • Дата начала Дата начала
или как можно опять получить полную версию 4.0.2.441? не сохранил, к сожалению...
 
claimant сказал(а):
ан нет... некоторые проблемы наблюдаются... к сожалению смогу объяснить только на словах, ибо скриншоты тут не помогут.
вещание ведётся с РадиоБосса последней версии чеез сервер IceCast.
пытаюсь прослушать поток плеером AIMP последней версии - вещине сбрасывается,
Что значит сбрасывается? Плеер, воспроизводящий поток постоянно показывает буферизацию?
По самой рпоблеме, нужно больше информации. В каком формате идет вещание, и сервер удаленный или локальный? Дело может быть в этом. Тестируемая в настоящий момент версия .457 уже вторые сутки работает без проблем под различными системами, со звуковой картой и без.

Проверьте, передаются ли данные на сервер. В разделе View->Broadcasting Statistics... - для каждого потока показывается "Data encoded/sent" - и соответственно выдается два числа, они в большинстве случаев должны быть равны. Если же второе число постоянно меньше, значит, какие-то проблемы с сетью, и данные не успевают передаваться, отсюда все проблемы с потоками.

Версии .441 в наличии нет, но она определенно хуже в плане вещания чем все последующие.
 
[quote author=djsoft]Просто были мысли внедрить использование ezstream в RadioBOSS :) Для случаев, когда стандартное вещание не работает.[/quote]

В принципе, он умеет брать уже кодированный поток с StdIn и правильно подавать его на сервер. Всех дел - это перенаправить stdout кодировщика на StdIn EZStream. Но мне кажется, это пойдёт как-то вразрез с существующей концепцией RadioBOSS, т.е. выступит своего рода "затычкой" для проблемы... Поэтому "вычистить" тракт RadioBOSS от непредвиденного смотрится привлекательнее.

Да, а скорость выдерживаете как, посэмплово, покадрово, или?...  что-то мне кажется, что для вещания через сервер совершенно некритична даже покадровая стабильность (пусть оно дрожит - там всё буферизировано и не один раз) - важна долговременная, т.е. в секунду 75 кадров, в минуту - 4500 (264600 сэмплов), и ни сэмплом больше и не меньше... И обязательно учитывать, что если в прошлую минуту вдруг почему-то не успело уйти, ну пусть пять сэмплов, значит в следующую минуту должно уйти на пять больше. А вот если округлять да отбрасывать эти погрешности, да ещё и на небольших промежутках времени - это и приведёт к подобной проблеме...

[quote author=djsoft]Насчет вещания с No Sound - вышла новая версия (.457), там скорость потока идет с достаточно большой точностью (насколько позволяет это делать Windows), теперь проблем с буферизацией быть не должно.[/quote]

Спасибо, попробуем...

[quote author=djsoft]
При использовании звуковой карты, проблему воспроизвести теперь не удается (или нужно дольше ждать...) - возможно, в этой версии проблемы больше не будет.[/quote]
При работе со звуковой картой, по-видимому, важна ещё сама звуковая карта. Т.е. не "тормозится" ли она чем-то, наcколько точен у неё Clock и т.п. Я экспериментировал сегодня на свежесобранных конфигурациях. Знаете, что заметил?  Заметил то, что проблема наблюдается далеко не везде. А именно,  на конфигурациях с устаревшими 100Мбит сетевыми платами и со встроенными картами ничего нет - всё Ok  в пределах разумного времени наблюдения. Проблемы начинаются, когда есть : высокоскоростная 1Gbit  сеть, ещё хуже если она на PCI,  ещё хуже,  если рядом же звуковая плата, через которую всё играет с сэмплированием 96 кГц 24 bit (спасибо DirectSound)...  Не догадываетесь?...  Звуковая плата "подтормаживает" приём/выдачу сэмплов, если шина PCI перегружена... Отсюда микроскопические задержки во времени, они суммируются... буфера у пользователей опустевают (у них этих задержек нет)...  Конечно, это проблема конкретных конфигураций, но как-то уж очень мощно я на неё налетел... И единственный радикальный вариант, чтобы всё всегда работало независимо от кривости конфигурации - это опять же долговременная скоростная стабильность, но определяемая не по подаче на звуковую плату, а по расходу буфера перед разветвлением потока на I-Net и "аналог"... + контроль, если вдруг поток на звуковую карту "недобирает" по скорости, или "перебирает", то придётся его корректировать, но тоже не абы как, а в паузах, потихоньку вставляя (или убирая) сэмплы, близкие к уровню тишины...

p.s. Прекрасно понимаю, что наплёл много, возможно не в тему, а если и в тему, то реализация этого всё-равно равнозначна чуть ли не полной перекройке алгоритма....
 
Aki сказал(а):
[quote author=djsoft]Просто были мысли внедрить использование ezstream в RadioBOSS :) Для случаев, когда стандартное вещание не работает.
В принципе, он умеет брать уже кодированный поток с StdIn и правильно подавать его на сервер.
...
Поэтому "вычистить" тракт RadioBOSS от непредвиденного смотрится привлекательнее.
[/quote]
Да, думаю правильнее будет сделать чтобы RadioBOSS работал правильно сам по себе (надеюсь что версия .457 оправдает ожидания :)). Да и решение вещать через еще одну программу само по себе не очень. Чем больше компонентов задействовано, тем больше вероятность, что что-то пойдет не так. В общем от этого уже решено отказаться.

Насчет скорости, с вещанием оно так и работает. Если данные не успели уйти сразу, то они становятся в очередь и будут отправлены позже. Сам по себе процесс синхронизации - известно, сколко байт распакованных данных (PCM) приходится, например, на 1 секунду, и от этого отталкиваемся. Округления нет, если где-то и происходит деление, то результат получается целым (т.е. одно число делится на другое без остатка, ничего не "отбрасывается").

По поводу шин PCI. Как показывает практика, RadioBOSS прекрасно работает с большинством компьютеров, оснащенных 1ГБит картами. Это наверное зависит от конкретного экземпляра компьютера и настроек BIOS, может быть встроенная сетевая карта "висит" на PCI-E, т.е. обычную PCI уже не нагружает. А если мат. плата совсем китайская - тут уже ничего не поделать, программными средствами такое не решается.

Убирать/добавлять семплы мне кажется перебором. Все таки, программа должна выдавать поток таким, какой он есть, не "подмешивая" туда отсебятины. Да и реализация такого алгоритма отнимет много времени, и потом это еще тестировать...
 
РадиоБосс и IceCast находятся на одном и том же компе в локальной сети 100 мегабит.

"сбрасывается" - это значит играет минуту-две, и обрывается соединение; 5 секунд на переподключение; подключается опять, но уже позже, и явно больше, чем 5 секунд прошло по треку вещания...

вещание идёт 128 килобит мп3... и в Data encoded/sent цифры совпадают...
 
Небольшое уточнение. Соединение обрывается между RadioBOSS и Icecast, или между плеером который на прослушке и сервером? Если второе, то где этот плеер находится - на том же компьютере где и сервер Icecast, или на другом?
 
djsoft сказал(а):
Небольшое уточнение. Соединение обрывается между RadioBOSS и Icecast, или между плеером который на прослушке и сервером? Если второе, то где этот плеер находится - на том же компьютере где и сервер Icecast, или на другом?
обрывается плеер, который подключается к icecast - между РадиоБоссом и сервером я не видел обрывов в логе...
и плеер находится на другом компе в сети... при чём тот же аимп играет другие каналы с того же сервера исправно и без проблем... проблемы только с каналом РадиоБосса.

во всей этой конфигурации поменялся только РадиоБосс несколько дней назад.
 
record init error: code 23
вот такая ошибка практически при любом действии с настройками...

чистая установка так же не помогла...
 
claimant сказал(а):
record init error: code 23
вот такая ошибка практически при любом действии с настройками...
Этот код значит, что для записи (в настройках раздел Microphone/Line.in) выбрано неправильное устройство. Или вообще ничего не  выбрано - проверьте.

По поводу вещания. Я так понял, сервер отключает слушателя. Это никак не может быть из-за источника сигнала, в роли которого выступает radioboss, проверьте настройки сервера.
И еще - другие каналы, они того же формата, или нет?
 
да, все каналы одинакавого формата - мп3 128
проблемы в каналом РадиоБосса начались только после обновления его на последнюю версию. возвращаю старый билд 4.02 (кажется 422) с глючным планировщиком - всё работает отлично (кроме планировщика :))))
опять ставлю 4.0.5 - и опять начинает лагать канал РадиоБосса
 
Я так понимаю, вещание идет на No Sound. В старой версии декодирование потока происходило быстрее, чем надо (в надежде на то, что сервер сообщит "когда хватит" и отслыка данных будет замедлена/приостановлена). Других отличий, судя по истории изменений, нет. Будем разбираться.

Итак, решение вроде бы найдено :) Скопируйте прикрепленный файл в папку с установленной последней версией RadioBOSS'a. Проблема должна исчезнуть.
 

Вложения

приогромеднейшее приспасибо =) полчаса трансляции - полёт нормальный :)
 
[quote author=djsoft] RadioBOSS прекрасно работает с большинством компьютеров, оснащенных 1ГБит картами. Это наверное зависит от конкретного экземпляра компьютера и настроек BIOS, может быть встроенная сетевая карта "висит" на PCI-E, т.е. обычную PCI уже не нагружает. А если мат. плата совсем китайская - тут уже ничего не поделать, программными средствами такое не решается.[/quote]
Пару месяцев досуга посвятил выяснению, насколько точны "ширпотребные" звуковые платы, и их совместной работе с сетевыми адаптерами. Вывод печален - мне не удалось подобрать конфигурацию, чтобы звуковая плата со временем не начала отставать от реального потока, формируемого RadioBoss в режиме NoSound. Как раз из-за микроскопических задержек, которые со временем суммируются и за сутки набегает от полусекунды в самых лучших случаях, до 4-5 секунд (и даже более) на бюджетных решениях.

Методика проверки: один компьютер, система на автопилоте, RadioBoss в режиме NoSound, IceCast сервер в локальной сети. На этом же компьютере параллельно с RadioBoss какой-нибудь плеер, воспроизводящий поток с сервера. Потоки скоростные (250-320 кбит.c)

В самых тяжелых случаях, при повышенной сетевой активности на этой машине (например, работа по сети в расшаренным муз. каталогом), вообще всё квакает и встаёт в одну позу...

Вывод печален: в данной реализации алгоритма невозможно обеспечить качественную работу двух потоков одновременно. Таким образом, задачу можно решить только в двух отдельных частных случаях: 1 - вещание через звуковую плату, при этом вся сетевая активность должна быть сведена к минимуму (а лучше вообще сеть отключить); 2 - вещание через сеть, но при этом обязательно должно быть включено устройство "No Sound".
 
Задержка может набегать из-за ресемплинга, когда поток играет не на 48000Гц, а, например, на 48003Гц, отсюда и накапливающаяся ошибка.
Повышенная сетевая активность по идее не должна влиять, если пропускной способности канала хватает на все программы.
 
Плеер AIMP 4.02 нормально озвучивает поток, отображает имя певца и названия трека. Только в настройках указано, что кроме имени исполнителя и названия песни можно добавить еще альбом, год, продолжительность песни. Hо последние 3 у меня не отображаются. Кроме того, не удается отoбразить на плеере обложку альбома, воспроизводимого Боссом трека, хотя я все сделал по инструкции: установил плагин DiskCover v1.6.2 http://www.aimp.ru/forum/index.php?topic=26842.0 и положил его в папку Плагины. В настройках AIMP есть опция редактирование тэгов, но вторичное вшивание обложек в mp3 файлы тоже не помогает. И это при том, что локальные файлы (не воспроизводимые Боссом для радио) он играет с обложкой. Почему так?
 
RadioBOSS при вещании передает только название трека. На сервера Shoutcast v2 также может передавать обложку, но далеко не все плееры ее могут показать.
 
А у меня объявилась такая странность. Босс начал икать. Причем, это происходит лишь при вещании на tunein.com через браузер Mozilla. На других сайтах через тот же браузер все нормально.  Вроде очистил его кэш. Но все равно мой плейлист смешиваеться со сторонним - 2 секунды звучит мое радио 2 секунды чужое. Как это понять?
 
Какие-то проблемы с сервером. RadioBOSS тут ни при чем.
 
Назад
Верх