Информация об изменениях

Сообщение Re[14]: как синхронизировать несколько видеостримов от 22.12.2022 12:24

Изменено 22.12.2022 12:26 paradok

Re[14]: как синхронизировать несколько видеостримов
Здравствуйте, Videoman, Вы писали:

V>Здравствуйте, paradok, Вы писали:


>>>> синхронном источнике (Live, Сеть) на приёме всегда будет либо перебор, либо недобор.


P>>вроде вот так не будет...

P>>пусть eсть буфера длинной N1..NK
P>>при поступлении очередного кадра из NX потока он добавляется в нужный буфер, а самый кадр старый удаляется из буфера...
P>>а главный объединитель по своим тактам просматривает все буфера и обирает картинку в главный буфер.

V>Кадр из сетевого буфера удаляется не по приходу нового, а при наступлении времени приемника, указанного в кадре, которое не совпадает с временем источника. В описанном вами подходе не добиться плавности, т.к. кадры по сети приходят в ужасно дёрганном режиме, относительно реального времени.


но если дрожание не ужасное, то будет норм.

более реалистична ситуация — 1) есть небольшой дрейф асов источника и приемника 2) и есть небольшое дрожание скорости поступления НО В СРЕДНЕМ = 0.
то есть канал БЕЗ НАКОПИТЕЛЬНОЙ ПАМЯТИ.

Тогда при умеренном дрожании — компромис — буффер заполняется и удаляется как я описал,
а главный поток читает НЕ САМЫЙ старый кадр из потоков, но старый,
потом ставит маркер что его можно удалять по приходу нового пакета и далее как выше описано.
при этом скажем 3 сигма дрожания К, а размер буфера скажем N >> K, тогда дрожание полностью погасится.
останется только дрей, но н решаетс как выше описано..

т.е. буфер будет в среднем постоянного размера, но у него будет дрожать время удаления начала и конца
а главный поток должен читать откуда-то из середин буфера.
Re[14]: как синхронизировать несколько видеостримов
Здравствуйте, Videoman, Вы писали:

V>Здравствуйте, paradok, Вы писали:


>>>> синхронном источнике (Live, Сеть) на приёме всегда будет либо перебор, либо недобор.


P>>вроде вот так не будет...

P>>пусть eсть буфера длинной N1..NK
P>>при поступлении очередного кадра из NX потока он добавляется в нужный буфер, а самый кадр старый удаляется из буфера...
P>>а главный объединитель по своим тактам просматривает все буфера и обирает картинку в главный буфер.

V>Кадр из сетевого буфера удаляется не по приходу нового, а при наступлении времени приемника, указанного в кадре, которое не совпадает с временем источника. В описанном вами подходе не добиться плавности, т.к. кадры по сети приходят в ужасно дёрганном режиме, относительно реального времени.


но если дрожание не ужасное, то будет норм.

более реалистична ситуация — 1) есть небольшой дрейф асов источника и приемника 2) и есть небольшое дрожание скорости поступления НО В СРЕДНЕМ = 0.
то есть канал БЕЗ НАКОПИТЕЛЬНОЙ ПАМЯТИ и не теряет кадры.

Тогда при умеренном дрожании — компромис — буффер заполняется и удаляется как я описал,
а главный поток читает НЕ САМЫЙ старый кадр из потоков, но старый,
потом ставит маркер что его можно удалять по приходу нового пакета и далее как выше описано.
при этом скажем 3 сигма дрожания К, а размер буфера скажем N >> K, тогда дрожание полностью погасится.
останется только дрей, но н решаетс как выше описано..

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