20240621在飞凌的OK3588-C开发板linux系统的CAM3上接OV5645录像

本文主要是介绍20240621在飞凌的OK3588-C开发板linux系统的CAM3上接OV5645录像,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

20240621在飞凌的OK3588-C开发板linux系统的CAM3上接OV5645录像
2024/6/21 19:57


开发板:OK3588-C
SDK:linux R4/Buildroot

v4l2-ctl --list-devices

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

gst-launch-1.0 v4l2src device=/dev/video16 num-buffers=100 ! video/x-raw,format=NV12, width=640,height=480 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location=13850_h264.mp4 t. ! queue ! waylandsink

gst-launch-1.0 v4l2src device=/dev/video16 num-buffers=100 ! video/x-raw,format=NV12, width=640,height=480 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location=ov5645_640x480.mp4 t. ! queue ! waylandsink
gst-launch-1.0 v4l2src device=/dev/video16 num-buffers=1000 ! video/x-raw,format=NV12, width=1920,height=1080 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location=ov5645_1920x1080-1000f.mp4 t. ! queue ! waylandsink
gst-launch-1.0 v4l2src device=/dev/video16 num-buffers=1000 ! video/x-raw,format=NV12, width=1920,height=1080 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location=ov5645_1920x1080_1000f.mp4 t. ! queue ! waylandsink


5W分辨率录像:2592x1944
gst-launch-1.0 v4l2src device=/dev/video16 num-buffers=1000 ! video/x-raw,format=NV12, width=2592,height=1944 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location=ov5645_2592x1944_1000f.mp4 t. ! queue ! waylandsink


录像指令使用OV13850的指令


root@ok3588:/# 
root@ok3588:/# v4l2-ctl --list-devices
rk_hdmirx (fdee0000.hdmirx-controller):
    /dev/video58

rkisp-statistics (platform: rkisp):
    /dev/video47
    /dev/video48
    /dev/video56
    /dev/video57

rkcif-mipi-lvds (platform:rkcif):
    /dev/media0
    /dev/media1
    /dev/media2
    /dev/media3
    /dev/media4

rkcif (platform:rkcif-mipi-lvds):
    /dev/video0
    /dev/video1
    /dev/video2
    /dev/video3
    /dev/video4
    /dev/video5
    /dev/video6
    /dev/video7

rkcif (platform:rkcif-mipi-lvds2):
    /dev/video16
    /dev/video17
    /dev/video18
    /dev/video19
    /dev/video20
    /dev/video21
    /dev/video22
    /dev/video23

rkisp_mainpath (platform:rkisp0-vir0):
    /dev/video40
    /dev/video41
    /dev/video42
    /dev/video43
    /dev/video44
    /dev/video45
    /dev/video46
    /dev/media5

rkisp_mainpath (platform:rkisp0-vir1):
    /dev/video49
    /dev/video50
    /dev/video51
    /dev/video52
    /dev/video53
    /dev/video54
    /dev/video55
    /dev/media6

root@ok3588:/# 
root@ok3588:/# 
root@ok3588:/# v4l2-ctl --list-formats-ext -d /dev/video0
ioctl: VIDIOC_ENUM_FMT
    Type: Video Capture Multiplanar

    [0]: 'NV16' (Y/CbCr 4:2:2)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [1]: 'NV61' (Y/CrCb 4:2:2)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [2]: 'NV12' (Y/CbCr 4:2:0)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8

    [3]: 'NV21' (Y/CrCb 4:2:0)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [4]: 'YUYV' (YUYV 4:2:2)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [5]: 'YVYU' (YVYU 4:2:2)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [6]: 'UYVY' (UYVY 4:2:2)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [7]: 'VYUY' (VYUY 4:2:2)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [8]: 'RGB3' (24-bit RGB 8-8-8)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [9]: 'RGBP' (16-bit RGB 5-6-5)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [10]: 'BGRH' (18-bit BGRX 6-6-6-14)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [11]: 'RGGB' (8-bit Bayer RGRG/GBGB)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [12]: 'GRBG' (8-bit Bayer GRGR/BGBG)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [13]: 'GBRG' (8-bit Bayer GBGB/RGRG)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [14]: 'BA81' (8-bit Bayer BGBG/GRGR)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [15]: 'RG10' (10-bit Bayer RGRG/GBGB)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [16]: 'BA10' (10-bit Bayer GRGR/BGBG)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [17]: 'GB10' (10-bit Bayer GBGB/RGRG)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [18]: 'BG10' (10-bit Bayer BGBG/GRGR)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [19]: 'RG12' (12-bit Bayer RGRG/GBGB)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [20]: 'BA12' (12-bit Bayer GRGR/BGBG)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [21]: 'GB12' (12-bit Bayer GBGB/RGRG)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [22]: 'BG12' (12-bit Bayer BGBG/GRGR)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [23]: 'BYR2' (16-bit Bayer BGBG/GRGR)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [24]: 'GB16' (16-bit Bayer GBGB/RGRG)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [25]: 'GR16' (16-bit Bayer GRGR/BGBG)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [26]: 'RG16' (16-bit Bayer RGRG/GBGB)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [27]: 'Y16 ' (16-bit Greyscale)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [28]: 'GREY' (8-bit Greyscale)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [29]: 'EBD8' (Embedded data 8-bit)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [30]: 'SPD6' (Shield pix data 16-bit)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [31]: 'Y12 ' (12-bit Greyscale)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
    [32]: 'Y10 ' (10-bit Greyscale)
        Size: Stepwise 64x64 - 2112x1568 with step 8/8
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
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Device '/dev/video0' is busy
Additional debug info:
../sys/v4l2/gstv4l2object.c(4056): gst_v4l2_object_set_format_full (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Call to S_FMT failed for NV12 @ 1920x1080: Device or resource busy
Execution ended after 0:00:00.003145626
Setting pipeline to NULL ...
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)
Freeing pipeline ...
root@ok3588:/# 
root@ok3588:/# v4l2-ctl --list-devices
rk_hdmirx (fdee0000.hdmirx-controller):
    /dev/video58

rkisp-statistics (platform: rkisp):
    /dev/video47
    /dev/video48
    /dev/video56
    /dev/video57

rkcif-mipi-lvds (platform:rkcif):
    /dev/media0
    /dev/media1
    /dev/media2
    /dev/media3
    /dev/media4

rkcif (platform:rkcif-mipi-lvds):
    /dev/video0
    /dev/video1
    /dev/video2
    /dev/video3
    /dev/video4
    /dev/video5
    /dev/video6
    /dev/video7

rkcif (platform:rkcif-mipi-lvds2):
    /dev/video16
    /dev/video17
    /dev/video18
    /dev/video19
    /dev/video20
    /dev/video21
    /dev/video22
    /dev/video23

rkisp_mainpath (platform:rkisp0-vir0):
    /dev/video40
    /dev/video41
    /dev/video42
    /dev/video43
    /dev/video44
    /dev/video45
    /dev/video46
    /dev/media5

rkisp_mainpath (platform:rkisp0-vir1):
    /dev/video49
    /dev/video50
    /dev/video51
    /dev/video52
    /dev/video53
    /dev/video54
    /dev/video55
    /dev/media6

root@ok3588:/# 
root@ok3588:/# 
root@ok3588:/# 
root@ok3588:/# v4l2-ctl --list-formats-ext -d /dev/video16
ioctl: VIDIOC_ENUM_FMT
    Type: Video Capture Multiplanar

    [0]: 'NV16' (Y/CbCr 4:2:2)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [1]: 'NV61' (Y/CrCb 4:2:2)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [2]: 'NV12' (Y/CbCr 4:2:0)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [3]: 'NV21' (Y/CrCb 4:2:0)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [4]: 'YUYV' (YUYV 4:2:2)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [5]: 'YVYU' (YVYU 4:2:2)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [6]: 'UYVY' (UYVY 4:2:2)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [7]: 'VYUY' (VYUY 4:2:2)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [8]: 'RGB3' (24-bit RGB 8-8-8)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [9]: 'RGBP' (16-bit RGB 5-6-5)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [10]: 'BGRH' (18-bit BGRX 6-6-6-14)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [11]: 'RGGB' (8-bit Bayer RGRG/GBGB)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [12]: 'GRBG' (8-bit Bayer GRGR/BGBG)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [13]: 'GBRG' (8-bit Bayer GBGB/RGRG)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [14]: 'BA81' (8-bit Bayer BGBG/GRGR)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [15]: 'RG10' (10-bit Bayer RGRG/GBGB)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [16]: 'BA10' (10-bit Bayer GRGR/BGBG)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [17]: 'GB10' (10-bit Bayer GBGB/RGRG)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [18]: 'BG10' (10-bit Bayer BGBG/GRGR)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [19]: 'RG12' (12-bit Bayer RGRG/GBGB)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [20]: 'BA12' (12-bit Bayer GRGR/BGBG)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [21]: 'GB12' (12-bit Bayer GBGB/RGRG)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [22]: 'BG12' (12-bit Bayer BGBG/GRGR)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [23]: 'BYR2' (16-bit Bayer BGBG/GRGR)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [24]: 'GB16' (16-bit Bayer GBGB/RGRG)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [25]: 'GR16' (16-bit Bayer GRGR/BGBG)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [26]: 'RG16' (16-bit Bayer RGRG/GBGB)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [27]: 'Y16 ' (16-bit Greyscale)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [28]: 'GREY' (8-bit Greyscale)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [29]: 'EBD8' (Embedded data 8-bit)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [30]: 'SPD6' (Shield pix data 16-bit)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [31]: 'Y12 ' (12-bit Greyscale)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
    [32]: 'Y10 ' (10-bit Greyscale)
        Size: Stepwise 64x64 - 1920x1080 with step 8/8
NV12, width=1920,height=1080, framerate=30/1 ! waylandsink! video/x-raw, format=N
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:01:29.280516303
Setting pipeline to NULL ...
Freeing pipeline ...
andsink264parse ! qtmux ! filesink location=ov5645_640x480.mp4 t. ! queue ! wayla
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...
Redistribute latency...
Got EOS from element "pipeline0".
Execution ended after 0:00:03.377283465
Setting pipeline to NULL ...
Freeing pipeline ...
! queue ! waylandsinkqtmux ! filesink location=ov5645_1920x1080—_1000f.mp4 t. !! 
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...
Redistribute latency...
Got EOS from element "pipeline0".
Execution ended after 0:00:33.345015225
Setting pipeline to NULL ...
Freeing pipeline ...
root@ok3588:/# 


由于OV5645是5W像素的,1920*1080/1080p分辨率录像只获取了40%的像素。
测试5W像素录像,需要改底层驱动!

Z:\OK3588_Linux_fs\kernel\drivers\media\i2c\ov5645.c

static int ov5645_entity_init_cfg(struct v4l2_subdev *subdev,
                  struct v4l2_subdev_pad_config *cfg)
{
    struct v4l2_subdev_format fmt = { 0 };

    fmt.which = cfg ? V4L2_SUBDEV_FORMAT_TRY : V4L2_SUBDEV_FORMAT_ACTIVE;
    fmt.format.width = 1920;
    fmt.format.height = 1080;

    ov5645_set_format(subdev, cfg, &fmt);

    return 0;
}

修改为:

static int ov5645_entity_init_cfg(struct v4l2_subdev *subdev,
                  struct v4l2_subdev_pad_config *cfg)
{
    struct v4l2_subdev_format fmt = { 0 };

    fmt.which = cfg ? V4L2_SUBDEV_FORMAT_TRY : V4L2_SUBDEV_FORMAT_ACTIVE;
    fmt.format.width = 2592;
    fmt.format.height = 1944;

    ov5645_set_format(subdev, cfg, &fmt);

    return 0;
}


viewpro@viewpro-ThinkBook-16-G5-IRH:~/OK3588_Linux_fs$ 
viewpro@viewpro-ThinkBook-16-G5-IRH:~/OK3588_Linux_fs$ sudo ./build.sh BoardConfig-linuxfs-ok3588.mk
switching to board: /home/viewpro/OK3588_Linux_fs/device/forlinx/ok3588/BoardConfig-linuxfs-ok3588.mk
viewpro@viewpro-ThinkBook-16-G5-IRH:~/OK3588_Linux_fs$ 
viewpro@viewpro-ThinkBook-16-G5-IRH:~/OK3588_Linux_fs$ sudo ./build.sh


root@ok3588:/# v4l2-ctl --list-formats-ext -d /dev/video16
ioctl: VIDIOC_ENUM_FMT
    Type: Video Capture Multiplanar

    [0]: 'NV16' (Y/CbCr 4:2:2)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [1]: 'NV61' (Y/CrCb 4:2:2)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [2]: 'NV12' (Y/CbCr 4:2:0)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8

    [3]: 'NV21' (Y/CrCb 4:2:0)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [4]: 'YUYV' (YUYV 4:2:2)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [5]: 'YVYU' (YVYU 4:2:2)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [6]: 'UYVY' (UYVY 4:2:2)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [7]: 'VYUY' (VYUY 4:2:2)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [8]: 'RGB3' (24-bit RGB 8-8-8)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [9]: 'RGBP' (16-bit RGB 5-6-5)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [10]: 'BGRH' (18-bit BGRX 6-6-6-14)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [11]: 'RGGB' (8-bit Bayer RGRG/GBGB)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [12]: 'GRBG' (8-bit Bayer GRGR/BGBG)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [13]: 'GBRG' (8-bit Bayer GBGB/RGRG)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [14]: 'BA81' (8-bit Bayer BGBG/GRGR)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [15]: 'RG10' (10-bit Bayer RGRG/GBGB)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [16]: 'BA10' (10-bit Bayer GRGR/BGBG)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [17]: 'GB10' (10-bit Bayer GBGB/RGRG)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [18]: 'BG10' (10-bit Bayer BGBG/GRGR)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [19]: 'RG12' (12-bit Bayer RGRG/GBGB)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [20]: 'BA12' (12-bit Bayer GRGR/BGBG)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [21]: 'GB12' (12-bit Bayer GBGB/RGRG)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [22]: 'BG12' (12-bit Bayer BGBG/GRGR)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [23]: 'BYR2' (16-bit Bayer BGBG/GRGR)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [24]: 'GB16' (16-bit Bayer GBGB/RGRG)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [25]: 'GR16' (16-bit Bayer GRGR/BGBG)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [26]: 'RG16' (16-bit Bayer RGRG/GBGB)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [27]: 'Y16 ' (16-bit Greyscale)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [28]: 'GREY' (8-bit Greyscale)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [29]: 'EBD8' (Embedded data 8-bit)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [30]: 'SPD6' (Shield pix data 16-bit)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [31]: 'Y12 ' (12-bit Greyscale)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
    [32]: 'Y10 ' (10-bit Greyscale)
        Size: Stepwise 64x64 - 2592x1944 with step 8/8
root@ok3588:/#


参考资料:
gst-launch-1.0 v4l2src device=/dev/video40 num-buffers=100 ! video/x-raw,format=NV12, width=640,height=480 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location=13850_h264.mp4 t. ! queue ! waylandsink

gst-launch-1.0 v4l2src device=/dev/video40 num-buffers=100 ! video/x-raw,format=NV12, width=640,height=480 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location=ov5645_640x480.mp4 t. ! queue ! waylandsink
gst-launch-1.0 v4l2src device=/dev/video40 num-buffers=1000 ! video/x-raw,format=NV12, width=1920,height=1080 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location=ov5645_1920x1080-1000f.mp4 t. ! queue ! waylandsink
gst-launch-1.0 v4l2src device=/dev/video40 num-buffers=1000 ! video/x-raw,format=NV12, width=1920,height=1080 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location=ov5645_1920x1080_1000f.mp4 t. ! queue ! waylandsink

这篇关于20240621在飞凌的OK3588-C开发板linux系统的CAM3上接OV5645录像的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1083407

相关文章

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

Linux下在线安装启动VNC教程

《Linux下在线安装启动VNC教程》本文指导在CentOS7上在线安装VNC,包含安装、配置密码、启动/停止、清理重启步骤及注意事项,强调需安装VNC桌面以避免黑屏,并解决端口冲突和目录权限问题... 目录描述安装VNC安装 VNC 桌面可能遇到的问题总结描js述linux中的VNC就类似于Window

linux下shell脚本启动jar包实现过程

《linux下shell脚本启动jar包实现过程》确保APP_NAME和LOG_FILE位于目录内,首次启动前需手动创建log文件夹,否则报错,此为个人经验,供参考,欢迎支持脚本之家... 目录linux下shell脚本启动jar包样例1样例2总结linux下shell脚本启动jar包样例1#!/bin

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l

linux批量替换文件内容的实现方式

《linux批量替换文件内容的实现方式》本文总结了Linux中批量替换文件内容的几种方法,包括使用sed替换文件夹内所有文件、单个文件内容及逐行字符串,强调使用反引号和绝对路径,并分享个人经验供参考... 目录一、linux批量替换文件内容 二、替换文件内所有匹配的字符串 三、替换每一行中全部str1为st

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于