20240626让飞凌的OK3588-C开发板在相机使用1080p60分辨率下预览

20240626让飞凌的OK3588-C开发板在相机使用1080p60分辨率下预览

2024/6/26 15:15

4.2.1 全编译测试

在源码路径内,提供了编译脚本 build.sh,运行该脚本对整个源码进行编译,需要在终端切换到解压

出来的源码路径,找到 build.sh 文件。

forlinx@ubuntu:~$ cd /home/forlinx/3588/OK3588_Linux_fs

以下操作需要在源码目录下操作,全编译方法:

1、生成编译所需配置(此时需要 forlinx 用户密码,密码也是 forlinx)

forlinx@ubuntu: ~/3588/OK3588_Linux_fs$ sudo ./build.sh BoardConfig-linuxfs-ok3588.mk

2、进行全编译

forlinx@ubuntu: ~/3588/OK3588_Linux_fs$ sudo ./build.sh

编译成功后,使系统镜像将在 rockdev 文件夹下生成,如下图:

4.2.2 单独编译

用户在内核源码路径下进行操作。

forlinx@ubuntu: ~/3588/OK3588_Linux_fs$ sudo ./build.sh kernel

v4l2-ctl --list-devices

v4l2-ctl --list-formats-ext -d /dev/video0

抖动

gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=NV12, width=1920,height=1080, framerate=30/1 ! waylandsink

出错

gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=NV12, width=1920,height=1080, framerate=60/1 ! waylandsink

抖动

gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=NV12, width=1920,height=1080 ! waylandsink

root@ok3588:/#

root@ok3588:/#

V12, width=1920,height=1080, framerate=30/1 ! waylandsink! video/x-raw, format=NV

Setting pipeline to PAUSED ...

Using mplane plugin for capture

Pipeline is live and does not need PREROLL ...

Pipeline is PREROLLED ...

Setting pipeline to PLAYING ...

New clock: GstSystemClock

Redistribute latency...

^Chandling interrupt.

Interrupt: Stopping pipeline ...

Execution ended after 0:00:29.580406555

Setting pipeline to NULL ...

Caught SIGSEGV

exec gdb failed: No such file or directory

Spinning. Please run 'gdb gst-launch-1.0 1570' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.

^C
root@ok3588:/#
root@ok3588:/#
V12, width=1920,height=1080, framerate=60/1 ! waylandsink! video/x-raw, format=NV
Setting pipeline to PAUSED ...
Using mplane plugin for capture
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
Execution ended after 0:00:00.001854125
Setting pipeline to NULL ...
Freeing pipeline ...
root@ok3588:/#

root@ok3588:/#

root@ok3588:/#

root@ok3588:/#

V12, width=1920,height=1080 ! waylandsinkice=/dev/video0 ! video/x-raw, format=NV

Setting pipeline to PAUSED ...

Using mplane plugin for capture

Pipeline is live and does not need PREROLL ...

Pipeline is PREROLLED ...

Setting pipeline to PLAYING ...

New clock: GstSystemClock

Redistribute latency...

^Chandling interrupt.

Interrupt: Stopping pipeline ...

Execution ended after 0:00:03.758202503

Setting pipeline to NULL ...

Caught SIGSEGV

exec gdb failed: No such file or directory

Spinning. Please run 'gdb gst-launch-1.0 1588' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.

^C

root@ok3588:/#

录像时在HDMI OUT可以预览
gst-launch-1.0 v4l2src device=/dev/video0 num-buffers=100000 ! video/x-raw,format=NV12, width=1920,height=1080 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location=fpga10000-9500.mp4 t. ! queue ! waylandsink

在HDMI OUT预览时不要保存mp4文件

gst-launch-1.0 v4l2src device=/dev/video0 num-buffers=100000 ! video/x-raw,format=NV12, width=1920,height=1080 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! qtmux t. ! queue ! waylandsink

在HDMI OUT预览时,帧数也不要了!
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=NV12, width=1920,height=1080 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! qtmux t. ! queue ! waylandsink

root@ok3588:/#

! qtmux t. ! queue ! waylandsinkame=t ! queue ! mpph264enc ! queue ! h264parse

Setting pipeline to PAUSED ...

Using mplane plugin for capture

Pipeline is live and does not need PREROLL ...

Pipeline is PREROLLED ...

Setting pipeline to PLAYING ...

New clock: GstSystemClock

Redistribute latency...

^Chandling interrupt.

Interrupt: Stopping pipeline ...

Execution ended after 1:00:46.847308499

Setting pipeline to NULL ...

Freeing pipeline ...

root@ok3588:/#

D:\20240423wyb\20240626>

D:\20240423wyb\20240626>

D:\20240423wyb\20240626>adb pull /fpga10000-9500.mp4

/fpga10000-9500.mp4: 1 file pulled, 0 skipped. 6.0 MB/s (3281516705 bytes in 522.460s)

D:\20240423wyb\20240626>

相关推荐
奇树谦10 分钟前
ZeroMQ 详解:轻量级高性能消息通信框架及 C++ 使用示例
开发语言·c++
不相心 -w-12 分钟前
现代C++——智能指针
开发语言·c++
Ivanqhz24 分钟前
php7 闭包实现
开发语言·后端·rust·php
weixin_440784118 小时前
【HandlerThread实现原理】
android·java·开发语言
天空'之城8 小时前
C 语言工业级通用组件手写 24:互补滤波
c语言·开发语言·互补滤波·嵌入式算法·工业级组件
XR1234567888 小时前
工厂车间无线网络方案对比:AGV漫游哪家强?
开发语言·php
傻啦嘿哟9 小时前
某短视频平台视频爬虫实战:抓取推荐流视频信息,绕过反爬的3种技巧
开发语言·爬虫·python
現実君10 小时前
【硬件进阶】AD22上位替换JLEDA教程
开发语言·php
mubei-12310 小时前
SpringDAO的用法
java·开发语言·数据库
格林威12 小时前
多相机微秒级对齐:硬件触发 vs PTP(IEEE 1588)方案实战对比
开发语言·人工智能·数码相机·机器学习·计算机视觉·视觉检测·机器视觉