小编Reh*_*b11的帖子

v4l2视频捕获示例

这是我在这里发表的第一篇文章,希望能找到一些帮助

我正在使用三星ok6410主板和ov9650 cmos相机上的嵌入式Linux

我必须捕获视频并将其保存在SD卡上

我想使用一个捕获视频的循环缓冲区,当它已满时,允许新数据覆盖旧数据.

有一个标志,当提升时,捕获持续10秒然后停止.视频保存到SD卡应该包含提升标志前10秒和提升后10秒.

我在这里阅读了v4l2 API规范官方网站上的捕获示例

http://free-electrons.com/kerneldoc/latest/video4linux/API.html

但有一点我无法理解或不知道我是否理解正确

  1. 在这个例子中,有4个帧缓冲区,每个缓冲区可以容纳一个帧.这是正确的吗?

  2. 有一个变量(frame_count)被初始化为70,这​​是否意味着通过完成这个程序,我将有一个包含70帧的视频?

  3. fns(主循环)和(读框)有什么作用?我知道他们应该做什么,但无法理解书面代码,循环......等等

  4. 如何在此代码中调整fps?或者我应该在相机寄存器中写入值?

  5. 捕获视频后,我将有一个填充原始数据的缓冲区,我想压缩它或使用编解码器将其保存为MPEG,我可以更改要压缩的像素格式(例如MPEG)而不是YUYV吗?或者我该怎么做才能压缩视频?编解码器还是什么?

  6. 我可以将缓冲区中的这些原始数据写入文件.yuv吗?我找到了一些可以播放这种格式视频的软件.

  7. 是否可以使用循环缓冲区而不是线性缓冲区来保存捕获的视频?

我知道我的帖子太长了,但我是新手,找不到任何可以帮助我编写代码的教程.

提前致谢

mpeg yuv codec embedded-linux v4l2

4
推荐指数
1
解决办法
1万
查看次数

SAT 和线性规划有什么区别

我有一个受线性约束的优化问题。如何知道哪种方法更适合建模和解决问题。我通常会询问将问题作为可满足性问题(SAT 或 SMT)来解决还是作为线性规划问题(ILP 或 MILP)来解决。

我对两者都没有太多了解。因此,如果您有任何答案,请简化您的答案。

optimization linear-programming sat

4
推荐指数
1
解决办法
2749
查看次数

8086中段寄存器的值是多少?

我刚刚开始阅读有关英特尔8086的内容,并对其内存有疑问.

我读到地址总线是20位宽,这意味着地址空间是1MB,并且这个空间被分成段.

问题是:

  1. 四个段寄存器,CS,DS,SSES,他们是只读或者我可以设置自己的价值观,这是他们的默认值?

  2. 我看到了以下的汇编教程:

    ORG 100h
    MOV AX, 0B800h ; set AX = B800h (VGA memory).
    MOV DS, AX ; copy value of AX to DS.
    MOV CL, 'A' ; CL = 41h (ASCII code).
    MOV CH, 01011111b ; CL = color attribute.
    MOV BX, 15Eh ; BX = position on screen.
    MOV [BX], CX ; w.[0B800h:015Eh] = CX.
    RET
    
    Run Code Online (Sandbox Code Playgroud)

关于第一行,这是否意味着此代码将存在0x100于代码段空间或整个地址空间中的地址中

和行:

MOV [BX], CX
Run Code Online (Sandbox Code Playgroud)

这是否意味着每次我在MOV指令中引用地址时,都应该从数据段的起始地址估算地址?(因为他写道,目的地是值+数据段reg中的值)

x86 assembly x86-16

2
推荐指数
1
解决办法
5224
查看次数

Linux 串行通信与中断

我有两个设备通过串行端口相互连接。一个作为主人,另一个作为奴隶。

主设备是一个基于 ARM 的套件,运行 Linux。

目前的情况是master发送命令然后轮询com端口直到slave回复。

现在我不想使用轮询。我需要处理器执行其他任务,直到从机回复。

我知道解决方案是使用中断,但找不到更多详细信息。我找到了一些使用信号的解决方案。它以非阻塞模式读取 tty,然后在数据准备好时发送 io 信号。

那么,串行通信中中断和信号有什么区别呢?当使用中断时我应该编写设备驱动程序或内核模块等吗?为了不使用轮询,还有其他有效的解决方案吗?

linux signals serial-port linux-kernel interrupt-handling

2
推荐指数
1
解决办法
5267
查看次数

如何开始构建静脉应用程序

我是静脉新手,想使用它。我花时间学习了 omnetpp 和 SUMO。现在我可以成功使用两者。我还下载并安装了静脉,该示例运行良好。

现在我需要使用静脉构建我自己的应用程序。简单地说,我需要模拟一条直线道路,其中车辆正在移动并向单个 RSU 发送消息。

我找不到有关静脉或其示例的任何文档。任何人都可以帮助我知道我应该遵循哪些步骤来做到这一点?例如,应该创建哪些ned文件,如何创建汽车和RSU,如何设置每个节点的应用程序等。

omnet++ veins

2
推荐指数
1
解决办法
1355
查看次数

建立自己的脉络方案

我需要从头开始构建一个方案。在直路上行驶的两辆车。有一个RSU。rsu每10秒广播一次速度值。车辆应减速以达到该值。

我的问题是我可以将味精视为信标吗?如果是,如何在rsu应用程序中设置信标msg?如果没有,如何实现这种情况

omnet++ beacon veins

0
推荐指数
1
解决办法
381
查看次数