kvadrat 0 April 13, 2023 Posted April 13, 2023 · Report post Коллеги, приветствую! Не получается завести видеопоток из ПЛИС в Gstreamer. Используется Zynq UltraScale+ MPSoC и PetaLinux. Видеопоток завожу в IP "AXI Video Direct Memory Access" (VDMA) и далее в MPSoC. Без Linux VDMA несложно конфигурируется, видео складывается в буфер RAM, всё работает. После сборки PetaLinux видео пытался завести через Video4Linux как плату захвата /dev/video0. Для этого Xilinx прадлагает добавлять описание в DeviceTree ноды "xlnx,video". Описание основано на pipeline, в которой есть sink-устройство (VDMA, для него есть "xlnx,vdma", с ним проблем нет) и source-устройство, которое виртуальное и с его описанием проблема. Возможно сталкивались с V4L, как заставить его конфигурировать VDMA в /dev/video0? Возможно, есть другой способ доставить видео в Gstreamer, без V4L и это изначально путь неверный? Quote Share this post Link to post Share on other sites More sharing options...
lllnx 0 April 14, 2023 Posted April 14, 2023 · Report post Приветствую! А в чем проблема с описанием source устройства? В приведенной доке есть пример. Quote Share this post Link to post Share on other sites More sharing options...
kvadrat 0 April 14, 2023 Posted April 14, 2023 · Report post Source нет физически, DMA получает видеокартинку всегда непрерывно. Если создать виртуальное source устройство, как в обсуждении, V4L создаёт устройство /dev/video0, но оно не работает. v4l2-ctl --device /dev/video0 --stream-mmap --stream-to=frame.raw --stream-count=1 ... kernel panic Если я правильно понял, в драйвере source устройства должны быть v4l2_subdev структуры, с функциями получения имформации о видео и его настройке. Хотя, возможно, как-то можно указать в DeviceTree, что поток константный, вот о нём информация, управлять им не нужно. Показательно в примере. Первая нода - описатель DMA - sink. Вторая - TPG, "Test Pattern Generator", таблица настройки)) - source. Третья - агрегатор, собственно плата захвата. Я открыл "xlnx,v-tpg" - там ~900 строк кода со структурами v4l2_subdev, хотелось бы избежать написания подобного для моей простой задачи. Quote Share this post Link to post Share on other sites More sharing options...
BSACPLD 17 April 15, 2023 Posted April 15, 2023 · Report post Так может Вам написать свой собственный захватчик видео вместо Gstreamer? Я так делал в своем проекте - получилось и просто и сложно одновременно. Просто - прошивка для ПЛИС и софт на компьютере получились очень простые. Сложно - свой собственный драйвер пока удалось запустить только на x86 и Jetson... Quote Share this post Link to post Share on other sites More sharing options...