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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/730813.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Git】 -- Part2 -- 分支管理

1. 分支 在 Git 中,分支(Branch)是用于在项目中创建独立开发线路的机制。分支使得开发者可以在不影响主干(main 或 master)的情况下进行实验、开发新功能或修复 Bug。 举个例子: 分⽀就好像是科幻电影⾥⾯…

鸿蒙开发:【进程模型概述】

进程模型概述 系统的进程模型如下图所示: 应用中(同一包名)的所有PageAbility、ServiceAbility、DataAbility、FormAbility运行在同一个独立进程中,即图中绿色部分的“Main Process”。 WebView拥有独立的渲染进程,即…

OS复习笔记ch11-2

上一节我们学习的内容是I/O系统的特点和设备分类和差异,这一节我们将主要关注I/O控制方式、OS设计问题、I/O逻辑结构等。 I/O功能的演变 在专栏的ch1-2中,我们详细讲解了CPU与外设的三种交互方式,这里简单地带过。 (1&#xff0…

MPLS-LDP(个人学习笔记)

定义 标签分发协议LDP(Label Distribution Protocol)是多协议标签交换MPLS的一种控制协议,负责转发等价类FEC的分类、标签的分配以及标签交换路径LSP的建立和维护等操作。LDP规定了标签分发过程中的各种消息以及相关处理过程 术语 LDP会话&a…

计算机组成原理 | 计算机系统概述

CPI:(Clockcycle Per Instruction),指每条指令的时钟周期数。 时钟周期:对CPU来说,在一个时钟周期内,CPU仅完成一个最基本的动作。时钟脉冲是计算机的基本工作脉冲,控制着计算机的工作节奏。时钟周期 是一个时钟脉冲所…

ECharts 词云案例三:2024年阅读关键词

ECharts 词云案例三:2024年阅读关键词 引言 在数据可视化领域,ECharts 以其强大的功能性和灵活性,成为开发者和设计师的首选工具之一。继上一篇关于 ECharts 词云图的详细介绍后,本文将探索词云图的进阶应用——使用蒙版来创造更…

约束求解器方案设计

1.约束求解介绍 给定一个几何对象(点、直线段、圆、圆弧、平面等)的集合G和一个关于集合G中几何对象之间约束(点的位置、直线段的长度、圆弧对应的圆心角角度、垂直、相切等) 的集合C,则在二元组(G,C)中根…

【UIDynamic-动力学-附着行为-刚性附着 Objective-C语言】

一、接下来,我们来说这个附着行为啊, 1.我们之前举过例子,一个车坏了,另外一个车,拉着这个车,就是附着行为啊, 这个里边呢,我们新建一个项目, Name:09-附着行为-刚性附着, 附着行为呢,分为两个大类: 1)刚性附着 2)弹性附着 刚性附着,指的就是,两个物体之间…

第九届世界渲染大赛什么时候开始举办?

​第九届世界渲染大赛即将开启,全球设计师和艺术家将汇聚一堂,展现3D艺术的创新与美感。敬请期待这场业界顶级的视觉盛宴,让我们共同关注大赛的启幕时刻。 第九届世界渲染大赛开始时间 预计时间:2024年7月(中旬) 报名方法&#…

光纤三维布里渊温度和应变分布matlab模拟与仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 光纤三维布里渊温度和应变分布matlab模拟与仿真。其中 , 布里渊散射是光波与声波在光纤中传播时相互作用而产生的光散射过程 , 在不 同的条件下 , 布里渊散射又分…

51单片机STC89C52RC——4.1 独立按键(数码管显示按键值)

目录 目录 目的 一,STC单片机模块 二,矩阵按键模块 2.1 针脚定义 ​编辑 2.2 矩阵按键位置 2.3 如何理解按键按下后针脚的高低电平 2.3.1 错误理解1 2.3.2 错误理解2 2.3.3 正确判定按下的是那个按键的逻辑 2.3.4 判定按键按下的依次扫描程…

服务端代码编写中MySql大小写在Java中报错问题解决

报错信息: 原因:MySql和Java变量大小写产生的冲突。 经过查阅各个博客等,得出浅显结论(不一定对):MySql大小写不敏感,Java大小写敏感,当Javabean转为MySql数据库表时,Ja…

58-DOS与DDOS分析(正常TCP会话与SYN Flood攻击、ICMP Flood 攻击、SNMP放大攻击等)

目录 正常 TCP 会话与 SYN Flood 攻击 1、正常的三次握手过程: 2、 SYN Flood 攻击 一、攻击windows系统: 二、攻击web网站 : 拒绝服务攻击工具-Hping3-Syn Flood 攻击 拒绝服务攻击工具--Hping3--ICMP Flood 攻击 sockstress攻击 So…

【Git】 -- Part1 -- 基础操作

1. Git简介 Git 是一个开源的分布式版本控制系统,由 Linus Torvalds 于 2005 年开发,主要用于源代码管理。Git 允许多名开发者共同合作处理同一个项目,跟踪每个文件的修改,并且在必要时回滚到之前的版本。 Linus Torvalds是Linux…

数字化物资管理系统的未来:RFID技术的创新应用

在信息化和智能化不断发展的背景下,物资管理系统的数字化转型已成为各行各业关注的焦点。RFID技术作为一种先进的物联网技术,通过全面数字化实现物资信息的实时追踪和高效管理,为企业的物资管理提供了强有力的支持。 首先,RFID技…

社区项目-项目介绍环境搭建

文章目录 1.技术选型2.原型设计1.安装AxureRP2.进行汉化3.载入元件库4.基本设计 3.元数建模1.安装元数建模软件2.新建项目3.新增一个刷题模块主题域4.新增数据表 subject_category5.新增关系图,将表拖过来6.新增题目标签表7.新增题目信息表8.新增单选表、多选表、判…

Windows Server查看W3SVC IIS服务器中对应的网站日志

W3SVC日志文件夹中序号的含义,格式就是W3SVC网站ID 如果没有自定义站点的日志路径,日志默认的路径是C:\inetpub\logs\LogFiles\ 基本上每个网站存放日志的文件夹名称都是以W3SVC开头,区别在于后面的ID/编号/序号,对应的是网站各…

工具与技术:如何使用工具创建和实现导航栏图标动效

这篇教程的目的主要是带领大家做UI交互的入门引导,让大家理解做交互动效的一些基本逻辑思维,利用原型交互动画做导航栏icon动画效果。 导航栏icon动效的详细教程: 即时设计 - 可实时协作的专业 UI 设计工具即时设计是一款支持在线协作的专业级 UI 设计工具&#x…

使用Apache Flink实现实时数据同步与清洗:MySQL和Oracle到目标MySQL的ETL流程

使用Apache Flink实现实时数据同步与清洗:MySQL和Oracle到目标MySQL的ETL流程 实现数据同步的ETL(抽取、转换、加载)过程通常涉及从源系统(如数据库、消息队列或文件)中抽取数据,进行必要的转换&#xff0c…

开发中遇到的错误 - @SpringBootTest 注解爆红

我在使用 SpringBootTest 注解的时候爆红了&#xff0c;ait 回车也导不了包&#xff0c;后面发现是因为没有加依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId>…