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

相关文章

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

Linux环境变量&&进程地址空间详解

《Linux环境变量&&进程地址空间详解》本文介绍了Linux环境变量、命令行参数、进程地址空间以及Linux内核进程调度队列的相关知识,环境变量是系统运行环境的参数,命令行参数用于传递给程序的参数,... 目录一、初步认识环境变量1.1常见的环境变量1.2环境变量的基本概念二、命令行参数2.1通过命令编程

Linux之进程状态&&进程优先级详解

《Linux之进程状态&&进程优先级详解》文章介绍了操作系统中进程的状态,包括运行状态、阻塞状态和挂起状态,并详细解释了Linux下进程的具体状态及其管理,此外,文章还讨论了进程的优先级、查看和修改进... 目录一、操作系统的进程状态1.1运行状态1.2阻塞状态1.3挂起二、linux下具体的状态三、进程的

Linux编译器--gcc/g++使用方式

《Linux编译器--gcc/g++使用方式》文章主要介绍了C/C++程序的编译过程,包括预编译、编译、汇编和链接四个阶段,并详细解释了每个阶段的作用和具体操作,同时,还介绍了调试和发布版本的概念... 目录一、预编译指令1.1预处理功能1.2指令1.3问题扩展二、编译(生成汇编)三、汇编(生成二进制机器语

Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南

《Rsnapshot怎么用?基于Rsync的强大Linux备份工具使用指南》Rsnapshot不仅可以备份本地文件,还能通过SSH备份远程文件,接下来详细介绍如何安装、配置和使用Rsnaps... Rsnapshot 是一款开源的文件系统快照工具。它结合了 Rsync 和 SSH 的能力,可以帮助你在 li