搜索
bottom↓
回复: 8
打印 上一主题 下一主题

v4l2虚拟驱动,有朋友写过吗?

[复制链接]

出0入0汤圆

跳转到指定楼层
1
发表于 2024-2-19 17:23:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
始YUV420  NV12格式的:
gst-launch-1.0 v4l2src device=/dev/my_device   io-mode=4 ! video/x-raw, format=NV12, width=3840, height=2160, framerate=60/1 ! omxh265enc qp-mode=auto gop-mode=basic gop-length=60 b-frames=0 target-bitrate=60000 num-slices=8 control-rate=constant prefetch-buffer=true low-bandwidth=false filler-data=true cpb-size=1000 initial-delay=500 ! queue ! mpegtsmux alignment=7 name=mux ! filesink location="/media/usb/test.ts"

最近做测试,想写一个虚拟的v4l2驱动节点,只支持一种原始格式就行,NV12 ,在ZYNQ平台上,第一次写,写了好几版都不对,有朋友写过吗?可以指导下?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

2
 楼主| 发表于 2024-2-19 17:24:14 | 只看该作者
[  199.337371] VIDIOC_TRY_FMT .  need  suport this  cmd.  done.
[  199.343285] start my_ioctl    .
[  199.352327] VIDIOC_TRY_FMT .  need  suport this  cmd.  start.
[  199.352328] VIDIOC_TRY_FMT .  need  suport this  cmd.  done.
[  199.358926] start my_ioctl    .
[  199.367971] VIDIOC_S_FMT driver  start .
[  199.371887] VIDIOC_S_FMT driver done .
[  199.375670] start my_ioctl    .
[  199.378900] VIDIOC_S_FMT driver  start .
[  199.382815] VIDIOC_S_FMT driver done .
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Device '/de[  199.388572] my_release .
v/my_device' does not support interleaved interlacing
Additional debug info:
../../../git/sys/v4l2/gstv4l2object.c(3908): gst_v4l2_object_set_format_full (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Device wants interleaved interlacing
Execution ended after 0:00:00.114908122
Setting pipeline to PAUSED ...

出0入984汤圆

3
发表于 2024-2-19 17:33:24 | 只看该作者
v4l2loopback

出0入0汤圆

4
 楼主| 发表于 2024-2-19 17:40:21 | 只看该作者

多谢,大佬,我去研读下!

出0入0汤圆

5
 楼主| 发表于 2024-2-19 18:15:08 | 只看该作者

大佬,还有简单点的吗?第一次写,看这个有点复杂

出0入0汤圆

6
发表于 2024-2-19 19:19:32 | 只看该作者
gstreamer自带的videotestsrc插件不可以吗

出0入0汤圆

7
 楼主| 发表于 2024-2-19 22:00:13 | 只看该作者
cuiliang1984 发表于 2024-2-19 19:19
gstreamer自带的videotestsrc插件不可以吗
(引用自6楼)

不行呢,写这个驱动是最后要和FPGA对接的,,,用测试插件就没有意义了

出0入984汤圆

8
发表于 2024-2-19 23:55:50 | 只看该作者
本帖最后由 Himem 于 2024-2-19 23:59 编辑
云贵3314 发表于 2024-2-19 18:15
大佬,还有简单点的吗?第一次写,看这个有点复杂
(引用自5楼)


这个还不够简单吗,只需配置都不用开发

modprobe v4l2loopback后 ffmpeg就能直接推给这个虚拟v4l2

出0入0汤圆

9
 楼主| 发表于 2024-2-20 18:35:41 | 只看该作者
Himem 发表于 2024-2-19 23:55
这个还不够简单吗,只需配置都不用开发

modprobe v4l2loopback后 ffmpeg就能直接推给这个虚拟v4l2 ...
(引用自8楼)

可以帮瞅一眼代码吗?我写一个就假数据驱动,就实现必须的命令VIDIOC_REQBUFS VIDIOC_QUERYBUF等,,,NV12格式的,,用v4l2-ctl --device /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=NV12 --stream-mmap --stream-to=./output_1920.yuv --stream-count=1  走到 VIDIOC_QUERYBUF 就不执行了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-29 22:57

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表