Вверх ↑
Ответов: 4628
Рейтинг: 749
#1: 2015-05-08 13:03:09 ЛС | профиль | цитата
На скорость работы компонентов влияет не только конвертация, а, например, скорость сети. Допустим, будет у тебя быстрая конвертация, все летает. А тут раз - и скорость сети немного просела, данные не успели отправиться, а уже новые идут. Что у тебя на этот случай в схеме предусмотрено?
Net2Com писал(а):
звук сильно запаздывает на конверте
А точно на конвертере, или на скорости сети? Звук и графику вообще-то компрессировать надо. Кроме того, у тебя для звука предусмотрен звуковой буфер - данные постоянно обновляются, те, которые не были вовремя прочитаны, пропадают - получаем пропуски в звуке. Такое же нужно на схеме, генерирующей графику: в некий буфер складываются целиком несколько картинок, по мере добавления новых старые удаляются. Отправляющая схема последовательно по мере отправки выбирает из буфера целую картинку и отправляет. Не успевает отправлять - получаем пропуск кадров. Тут удобно сделать какой-нибудь режим отправки, при котором данные для отправки постоянно запрашиваются с верхней точки. Стартуем отправку, данные начинают запрашиваться, пока отправка не будет остановлена.
------------ Дoбавленo в 13.03:
Вот как я себе это представляю:
Все блоки работают независимо/параллельно. Когда "битрейт сети" будет меньше "битрейта видео"+"битрейта звука" эта схема позволяет безпроблемно делать пропуск кадров и звука. Например, при временных просадках скорости.
Чтобы избежать пропуска, нужно:
- либо снимать данные со скоростью сети. Это тот же пропуск кадров/семплов, только на этапе получения звука/изображения
- либо понижать "битрейт" данных. Данные снимаются в реальном времени, но на основе высчитанной пропускной способности ("битрейта") сети применяется сжатие информации на нужный коэффициент (универсальное, типа zip; специальное, типа jpeg (+уменьшение разрешения кадра) и mp3 (+ уменьшение частоты дискретизаци))
карма: 26

0
файлы: 1fhdsgjfhgd.jpg [53.9KB] [1136]
Редактировалось 1 раз(а), последний 2018-11-12 12:22:12