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>

相关推荐
xiangyun618 分钟前
【408数据结构 08】队列:循环队列判空判满,408年年考,一次讲清
c语言·开发语言·数据结构·c++·算法
xiangyun6120 分钟前
【408数据结构 06】双链表、循环链表、静态链表
c语言·开发语言·数据结构·c++·算法
白远山2 小时前
家政服务家政社区派单实战:调度系统架构设计与实现指南
java·开发语言·小程序·架构·需求分析
Logic1012 小时前
C语言/数据结构数组题解:数字列表加一(Plus One)——进位处理与数组扩展
c语言·数据结构·模拟·数组·时间复杂度·算法题·进位
Escalating_xu2 小时前
【C语言常见概念】从第一行代码到字符串结束标志:一次打通编译、main、ASCII、转义字符与注释
c语言·c++
DevRay2 小时前
Java 21虚拟线程深度实战:告别线程池焦虑,百万并发吞吐量直接翻倍(原理+代码+避坑)
java·开发语言
Navigator_Z3 小时前
LeetCode //C - 1250. Check If It Is a Good Array
c语言·算法·leetcode
free-elcmacom3 小时前
C++学习<1>程序分区
开发语言·c++
醉颜凉3 小时前
Java 必看:如何彻底避免 HashMap 多线程死循环问题?
java·开发语言
默 语3 小时前
Java新手入门:从零开始安装JDK并配置环境变量
java·开发语言·python·mysql·group by·1024程序员节·数据去重