LINUX.ORG.RU

v4l2 драйвера для SDI плат

 , sdi,


0

1

Я недавно интересовался вопросом: как унифицировать работу с SDI картами через v4l2 драйвера: очень надоели вендорские SDK, которые все предлагают свои коллбеки, которые потом надо засовывать в треды. Фу, надоело.

В итоге мы пошли просто переписывать драйвера от вендоров на v4l2, первый вариант выложили: https://github.com/flussonic/aja-v4l2

Еще три лежит внутри, общаемся на тему опенсорса, а так же я сейчас ищу с кем поговорить в ядре, чтобы начать править v4l2 под нужды SDI.

Одно из важнейших решений - отказ от ALSA. Нельзя слать аудио через ALSA, это прям нерабочая история.

Ответ на: комментарий от vbcnthfkmnth123

По-моему ALSA/OSS не для этого в основном делались, они для мультиплексирования всевозможных устройств и программ с небольшой обработкой на лету (громкость, частота), а тут задача просто принять конкретной прогой стрим с конкретного устройства.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от vbcnthfkmnth123

нет, аудио должно ехать в отдельных плейнах v4l2 кадров.

Отправка его отдельным потоком - это гарантия проблем, которые очень сложно решаются

max_lapshin ★★★★★
() автор топика
Ответ на: комментарий от firkax

да, алса - это проигрывать аудио на десктопном компьютере (причем с плохим апи)

max_lapshin ★★★★★
() автор топика

Крутые!

очень надоели вендорские SDK, которые все предлагают свои коллбеки, которые потом надо засовывать в треды. Фу, надоело.

Очень приятно читать о людях, которые подобное не терпят, а решают.

Все эти железки с точки зрения API делятся на нормальные, которые дают v4l2 API (и это преимущественно русские железки)

А что за русские железки?

нет, аудио должно ехать в отдельных плейнах v4l2 кадров.

А с какими устройствами так можно делать? Я пока таких не встречал (хотя и не то чтобы я много устройств видел).

Jullyfish ★★
()
Ответ на: комментарий от Jullyfish

в России я знаю две компании, которые делают свои SDI платы: Softlab и Streamlabs.

Мы и с одними, и с другими платами работали, могу уверенно сказать, что и те, и другие существуют и не являются переклейкой шильдиков.

Отправлять аудио в отдельных плейнах кадров можно с любыми устройствами: SDI, HDMI. Более того: так нужно делать вопреки сложившемуся мнению о том, что для аудио идет ALSA.

Собственно я выложил драйвера для Aja, для всех остальных мы сделали так же. В этот же список недавно добавили и какой-то полубезызвестный avmatrix, который пришлось переписать, чтобы он так же отправил аудио вместе с видео.

Природа этого решения простая: в SDI аудио чисто физически едет на полях видео. Попытка их разделить приведет к искуственно созданной сложности их пост-склеивания.

max_lapshin ★★★★★
() автор топика
Ответ на: комментарий от max_lapshin

в России я знаю две компании, которые делают свои SDI платы: Softlab и Streamlabs.

Прикольно. А у этих устройств бывает встроенный ISP (Image Signal Processor)? Или вся обработка изображений полученных с матрицы обрабатываются на самой камере и только затем отправляется?

Отправлять аудио в отдельных плейнах кадров можно с любыми устройствами: SDI, HDMI. Более того: так нужно делать вопреки сложившемуся мнению о том, что для аудио идет ALSA.

Спасибо, буду знать!

Jullyfish ★★
()
Ответ на: комментарий от Jullyfish

Не, SDI не занимается обработкой картинок, это только передача.

Профессиональная камера отдает уже готовое видео по SDI и дальше все это передается по тракту.

В целом тема уже закончилась и начала вымирать, ее заменяет ethernet.

max_lapshin ★★★★★
() автор топика
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария