Паразитные горизонтальные полосы при захвате видео (не interlacing)

Установка, настройка TV-тюнеров, видеокамер, веб-камер, плат видеозахвата, flash(MP3)-плееры

Модератор: Модераторы разделов

Ответить
LVS
Сообщения: 264
Статус: All Hail Random
ОС: Kubuntu, CentOS, Slackware

Паразитные горизонтальные полосы при захвате видео

Сообщение LVS »

Есть несколько карточек захвата на 8 каналов без аппаратного сжатия, но с отдельными ацп на каждый канал. Вроде ORIENT HW-508, SDVR-8000AE, КОДОС
Чипсеты saa7134 и bttv.
Так вот все они работают нормально при одновременном подключении до 5 каналов, если больше, то появляются паразитные полосы (скриншота нет), выглядят как если бы несколько предыдущих кадров просачивались в текущий кадр в виде горизонтальных полос, создавая своеобразный шлейф вокруг движущихся объектов. Когда картинка статична - искажений нет.

Я бы списал данное явление на проблемы в аппаратной части, но под виндой эти карточки работают исправно. Поэтому хочется узнать в чём же причина.

Есть несколько вариантов:
1) Карточка не успевает слить все кадры по шине (pci, pci-e). Одновременно идёт кодирование и запись на лету в формате 640х480@25, если отключить запись - помех становится меньше у видео уменьшается задержка. При просмотре всех 8 каналов одновременно задержка увеличивается до порядка половины секунды. Битрейт видеосигнала 10Мб.
Как повысить эту скорость?

2) Неправильно работают драйвера карточек.
Тут без вариантов.

3) Не правильное распределение ресурсов линуксом. Может что-то с DMA?

Если захват уменьшить до 320х240, то полосы исчезают.

На разных комплектациях машин эффект проявляется слабже или сильнее, похоже он зависит от общей производительности системы. Или только от материнки.

Пробывал отключать некритичные интегрированные устройства материнки, чтобы не было общих IRQ, но не помогло. Система выделяет по 2 IRQ на карточку (1 на 4 канала).
Пробывал изменять latency - эффект изменяется, но не пропадает.

Компы так-то не самые слабые: core2duo 3GHz, 2GB RAM, загрузка процессора без кодирования низкая. Видео захватываю с помощью v4l2 и ffmpeg.

Основной вопрос: почему в винде работает лучше?

Буду благодарен за помощь, любые возможные варианты.
Спасибо сказали:
Ответить