20240607在Toybrick的TB-RK3588开发板的Android12下适配IMX415摄像头和ov50c40

20240607在Toybrick的TB-RK3588开发板的Android12下适配IMX415摄像头和ov50c40
2024/6/7 11:42


【4K/8K摄像头发热量巨大,请做好散热措施,最好使用散热片+鼓风机模式!】

结论:欢迎您入坑。
Toybrick的TB-RK3588开发板的技术支持不给力的!/很差劲。
也没有详细的STEP-BY-STEP的测试步骤。

IMX415摄像头只能接在CSI0上。难道CSI1没有调试好?还是有问题。
一个8K,一个4K摄像头,明明可以组程前后双摄像头。
不知道Toybrick的人怎么搞的?


https://t.rock-chips.com/wiki.php?filename=%E9%85%8D%E4%BB%B6/TB-IMX415#hash_1
产品简介
IMX415是一款 MIPI 宽动态模组,优质的宽动态效果将适应更多恶劣场景,减少复杂光线环境对识别算法产生的不良影响,采用标准MIPI接口输出高质量视频流;以满足安防摄像机在防盗、灾难警报、交通监测系统或商业综合体等多种监控应用领域的快速增长需求。

IMX415最大分辨率为 3840 x 2160,支持2/4Lane、RAW10/RAW12输出,支持HDR,支持以下分辨率:3840 x 2160,1920 x 1080。

适配开发板:TB-RK3588X、TB-RK3588SD、TB-RK3399ProD、TB-RK3399ProX系列开发板。


【唯一可以表扬的地方,联想网盘的速度还不错/杠杠的。不过需要安装单独的下载软件!】
资料下载:
相关文档及教程参见 规格书
https://meta.box.lenovo.com/v/link/view/98687a78c1fd45f38a1262c9262e3dc2
配件

固件下载
https://meta.box.lenovo.com/v/link/view/97e293918d4148c4901c2d697d5a4df5
Cmaera Image


【为了以防万一,我在百度网盘也缓存一份:】
链接:https://pan.baidu.com/s/18kuGD_r_bvKE5SEWgXiQqg?pwd=bdc1 
提取码:bdc1 
--来自百度网盘超级会员V6的分享

效果图:


请将ov50c40_imx415-Linux-image-for-TB-RK3588X.7z解压缩到D盘,
神奇的是Toybrick竟然没有提供update.img。

导入配置文件:config.cfg
按图导入相应的IMG文件,既可刷机了!


刷机之后,你会很容易发现,系统默认只能480p录像。如果要让IMX415可以4K录像,请修改xml文件。
通过adb push送进去荣品的配置文件即可!


D:\20240423wyb\荣品4K>adb remount
remount failed
Not running as root. Try "adb root" first.

D:\20240423wyb\荣品4K>adb root
restarting adbd as root

D:\20240423wyb\荣品4K>adb remount
Using overlayfs for /system
Using overlayfs for /vendor
Using overlayfs for /odm
Using overlayfs for /system_ext
Using overlayfs for /vendor_dlkm
Using overlayfs for /odm_dlkm
Using overlayfs for /product
Now reboot your device for settings to take effect
remount succeeded

D:\20240423wyb\荣品4K>
D:\20240423wyb\荣品4K>
D:\20240423wyb\荣品4K>adb push media_profiles_V1_0.xml /vendor/etc

media_profiles_V1_0.xml: 1 file pushed, 0 skipped. 0.5 MB/s (25865 bytes in 0.051s)

D:\20240423wyb\荣品4K>

重启身高,这样即可4K录像。
【默认可以4K分辨率/8M像素拍照的】

20230207_081311 RK3588 IMX415


如果是ov50c40,将CSI0接口的IMX415拆下来换成ov50c40。
【唯一注意的是ov50c40是异面排线】
现阶段只需要单独刷一下boot_ov50c40.img或者boot_ov50c40_8k_only.img。
现阶段只有4K录像,但是没有搞定8K的XML文件。效果图欠奉了!

https://t.rock-chips.com/wiki.php?filename=%E9%85%8D%E4%BB%B6/TB-OV50C40
产品简介
OV50c40是一款 MIPI 宽动态模组,优质的宽动态效果将适应更多恶劣场景,减少复杂光线环境对识别算法产生的不良影响,采用标准MIPI接口输出高质量视频流;以满足安防摄像机在防盗、灾难警报、交通监测系统或商业综合体等多种监控应用领域的快速增长需求。

OV50c40最大分辨率为 8192 x 6144,支持4Lane、RAW10/RGB输出,支持HDR,支持以下分辨率:8192x6144, 4096x3072, 3840x2160, 1920x1080, 1280x720。

TB-OV50C40适配TB-RK3588X、TB-RK3588SD、TB-RK3399ProD、TB-RK3399ProX系列开发板。


资料下载
相关文档及教程参见 规格书

固件下载

20230207_081530 RK3588 OV50C40

参考资料:
1、使用对外服务器的代码:
repo init --repo-url=ssh://git@git.rockchip.com.cn:2222/repo-release/tools/repo.git -u ssh://git@git.rockchip.com.cn:2222/Android_S/rk3588-manifests.git -m Android12.xml
2、ov50c40
①、ov50c40 8k(使用boot_ov50c40_8k_only.img)同时抓图使用以下命令:
rkaiq_demo --device /dev/video22  --width 8192 --height 6144 --rkaiq   --iqpath /vendor/etc/camera/rkisp2/ --stream-skip=30 --stream-count=1  --stream-to=/sdcard/nv12
rkaiq_demo --device /dev/video31  --width 8192 --height 6144 --rkaiq   --iqpath /vendor/etc/camera/rkisp2/ --stream-skip=30 --stream-count=1  --stream-to=/sdcard/nv12_1
②、boot_ov50c40.img,默认为4k,需要先通过media-ctl配置分辨率,否则分辨率为4k。
3、如果是非8k的情况,希望同时抓两个摄像头图像,请使用以下命令:
v4l2-ctl --verbose -d /dev/video22 --set-fmt-video=width=宽,height=高,pixelformat='NV12' --stream-mmap=4  --stream-skip=30 --stream-to=/sdcard/nv12 --stream-count=1 &
v4l2-ctl --verbose -d /dev/video31 --set-fmt-video=width=宽,height=高,pixelformat='NV12' --stream-mmap=4  --stream-skip=30 --stream-to=/sdcard/nv12_1 --stream-count=1
注意:android下通过v4l2-ctl抓图默认不经过3A处理(linux下默认已经经过3A处理),可以参照rkaiq_demo写代码。


驱动程序:
D:\ov50c40_imx415-Android-image-for-TB-RK3588X\android\code

固件:
D:\ov50c40_imx415-Android-image-for-TB-RK3588X\android\img

patch文件:
D:\ov50c40_imx415-Android-image-for-TB-RK3588X\android\patch

XML配置文件:
D:\ov50c40_imx415-Android-image-for-TB-RK3588X\android\20230207.xml

media_profiles_V1_0.xml

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2010 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->
<!DOCTYPE MediaSettings [
<!ELEMENT MediaSettings (CamcorderProfiles,
                         EncoderOutputFileFormat+,
                         VideoEncoderCap+,
                         AudioEncoderCap+,
                         VideoDecoderCap,
                         AudioDecoderCap)>
<!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding, Camera)>
<!ELEMENT EncoderProfile (Video, Audio)>
<!ATTLIST EncoderProfile quality (high|low) #REQUIRED>
<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
<!ATTLIST EncoderProfile cameraId (0|1) #REQUIRED>
<!ELEMENT Video EMPTY>
<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
<!ATTLIST Video bitRate CDATA #REQUIRED>
<!ATTLIST Video width CDATA #REQUIRED>
<!ATTLIST Video height CDATA #REQUIRED>
<!ATTLIST Video frameRate CDATA #REQUIRED>
<!ELEMENT Audio EMPTY>
<!ATTLIST Audio codec (amrnb|amrwb|aac) #REQUIRED>
<!ATTLIST Audio bitRate CDATA #REQUIRED>
<!ATTLIST Audio sampleRate CDATA #REQUIRED>
<!ATTLIST Audio channels (1|2) #REQUIRED>
<!ELEMENT ImageEncoding EMPTY>
<!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
<!ELEMENT ImageDecoding EMPTY>
<!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
<!ELEMENT Camera EMPTY>
<!ELEMENT EncoderOutputFileFormat EMPTY>
<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
<!ELEMENT VideoEncoderCap EMPTY>
<!ATTLIST VideoEncoderCap name (h264|h263|m4v|wmv) #REQUIRED>
<!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
<!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
<!ELEMENT AudioEncoderCap EMPTY>
<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma) #REQUIRED>
<!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
<!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap minChannels (1|2) #REQUIRED>
<!ATTLIST AudioEncoderCap maxChannels (1|2) #REQUIRED>
<!ELEMENT VideoDecoderCap EMPTY>
<!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
<!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
<!ELEMENT AudioDecoderCap EMPTY>
<!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
<!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
<!ELEMENT VideoEditorCap EMPTY>
<!ATTLIST VideoEditorCap maxInputFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEditorCap maxInputFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEditorCap maxOutputFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEditorCap maxOutputFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEditorCap maxPrefetchYUVFrames CDATA #REQUIRED>
<!ELEMENT ExportVideoProfile EMPTY>
<!ATTLIST ExportVideoProfile name (h264|h263|m4v) #REQUIRED>
<!ATTLIST ExportVideoProfile profile CDATA #REQUIRED>
<!ATTLIST ExportVideoProfile level CDATA #REQUIRED>
]>
<!--
     This file is used to declare the multimedia profiles and capabilities
     on an android-powered device.
-->
<MediaSettings>
    <!-- Each camcorder profile defines a set of predefined configuration parameters -->
    <CamcorderProfiles cameraId="0">


        <EncoderProfile quality="qcif" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="128000"
                   width="176"
                   height="144"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />

        </EncoderProfile>

        <EncoderProfile quality="qvga" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="256000"
                   width="320"
                   height="240"
                   frameRate="30" />
            <Audio codec="amrnb"
                   bitRate="12200"
                   sampleRate="8000"
                   channels="1" />
        </EncoderProfile>

        <!--
         <EncoderProfile quality="cif" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="1200000"
                   width="352"
                   height="288"
                   frameRate="30" />
            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>
        -->
        <!--  If your sensor driver don't support 720p and 480p stream, Please fill this element according as
              your sensor max resolution for preview(Not Capture resolution)  -->
        <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                bitRate="3000000"
                   width="640"
                   height="480"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>

        <!--  If your sensor driver don't support 480p stream, Please turn off this element -->

        <!--
        <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="3000000"
                   width="720"
                   height="480"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>

        -->
        <!--  If your sensor driver don't support 480p stream, Please turn off this element -->

<!--
        <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="3000000"
                   width="800"
                   height="600"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>

-->
         <!--  If your sensor driver don't support 576p stream, Please turn off this element -->

<!--
        <EncoderProfile quality="576p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="3000000"
                   width="720"
                   height="576"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>
-->

        <!--  If your sensor driver don't support 720p stream, Please turn off this element -->
        <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="6000000"
                   width="1280"
                   height="720"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>
        <!--  If your sensor driver don't support 1080p stream, Please turn off this element -->
    <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="6000000"
                   width="1920"
                   height="1080"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>
     <!--  If your sensor driver don't support 2160p stream, Please turn off this element -->
    <EncoderProfile quality="2160p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="6000000"
                   width="3840"
                   height="2160"
                   frameRate="30" />
 
            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
    </EncoderProfile>


        <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="192000"
                   width="176"
                   height="144"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>

        <EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="128000"
                   width="320"
                   height="240"
                   frameRate="30" />
            <Audio codec="amrnb"
                   bitRate="12200"
                   sampleRate="8000"
                   channels="1" />
        </EncoderProfile>
        <!--
        <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="1200000"
                   width="352"
                   height="288"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>

        -->
        <!--  If your sensor driver don't support 720p and 480p stream, Please fill this element according as
              your sensor max resolution for preview(Not Capture resolution)  -->
        <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="1200000"
                   width="640"
                   height="480"
                   frameRate="30" />

        <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>

        <!--  If your sensor driver don't support 480p stream, Please turn off this element  -->

        <!--
        <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="256000"
                   width="720"
                   height="480"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>

        -->
        <!--  If your sensor driver don't support 480p stream, Please turn off this element  -->

<!--
        <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="256000"
                   width="800"
                   height="600"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>
-->

         <!--  If your sensor driver don't support 720p and 480p stream, Please fill this element according as
              your sensor max resolution for preview(Not Capture resolution)  -->
<!--
         <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="1200000"
                   width="800"
                   height="600"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>
-->

         <!--  If your sensor driver don't support 576p stream, Please fill this element according as
              your sensor max resolution for preview(Not Capture resolution)  -->
<!--
         <EncoderProfile quality="timelapse576p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="1200000"
                   width="720"
                   height="576"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>
-->

        <!--  If your sensor driver don't support 720p stream, Please turn off this element -->
<!--
        <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="3000000"
                   width="1280"
                   height="720"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>
-->
        <!--  If your sensor driver don't support 108p stream, Please turn off this element -->

        <ImageEncoding quality="90" />
        <ImageEncoding quality="80" />
        <ImageEncoding quality="70" />
        <ImageDecoding memCap="20000000" />

    </CamcorderProfiles>

    <CamcorderProfiles cameraId="1">


        <EncoderProfile quality="qcif" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="128000"
                   width="176"
                   height="144"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />

        </EncoderProfile>

         <EncoderProfile quality="qvga" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="256000"
                   width="320"
                   height="240"
                   frameRate="30" />
            <Audio codec="amrnb"
                   bitRate="12200"
                   sampleRate="8000"
                   channels="1" />
        </EncoderProfile>

         <!--
         <EncoderProfile quality="cif" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="1200000"
                   width="352"
                   height="288"
                   frameRate="30" />
            <Audio codec="aac"
                   bitRate="96000"
                   sampleRate="48000"
                   channels="1" />
        </EncoderProfile>
        -->
        <!--  If your sensor driver don't support 720p and 480p stream, Please fill this element according as
              your sensor max resolution for preview(Not Capture resolution)  -->
        <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                bitRate="3000000"
                   width="640"
                   height="480"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>

        <!--  If your sensor driver don't support 480p stream, Please turn on this element   -->

<!--
        <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="3000000"
                   width="720"
                   height="480"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>
-->

    <!--  If your sensor driver don't support 480p stream, Please turn off this element -->

<!--
        <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="3000000"
                   width="800"
                   height="600"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>
-->

        <!--  If your sensor driver don't support 720p stream, Please turn off this element -->
        <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="6000000"
                   width="1280"
                   height="720"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>
        <!--  If your sensor driver don't support 1080p stream, Please turn off this element -->

        <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="6000000"
                   width="1920"
                   height="1080"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>

     <!--  If your sensor driver don't support 2160p stream, Please turn off this element -->
     <EncoderProfile quality="2160p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="6000000"
                   width="3840"
                   height="2160"
                   frameRate="30" />
 
            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
    </EncoderProfile>

    
          <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="192000"
                   width="176"
                   height="144"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>

        <EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="128000"
                   width="320"
                   height="240"
                   frameRate="30" />
            <Audio codec="amrnb"
                   bitRate="12200"
                   sampleRate="8000"
                   channels="1" />
        </EncoderProfile>

        <!--
        <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="1200000"
                   width="352"
                   height="288"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>
        -->
        <!--  If your sensor driver don't support 720p and 480p stream, Please fill this element according as
              your sensor max resolution for preview(Not Capture resolution)  -->
        <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                bitRate="1200000"
                   width="640"
                   height="480"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>

        <!--  If your sensor driver don't support 480p stream, Please turn on this element  -->

<!--
         <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="1200000"
                   width="720"
                   height="480"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>
-->

<!--  If your sensor driver don't support 720p and 480p stream, Please fill this element according as
              your sensor max resolution for preview(Not Capture resolution)  -->
<!--
         <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="1200000"
                   width="800"
                   height="600"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>
-->

        <!--  If your sensor driver don't support 720p stream, Please turn off this element -->

<!--
        <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="3000000"
                   width="1280"
                   height="720"
                   frameRate="8" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>
-->
<!--  If your sensor driver don't support 108p stream, Please turn off this element -->

<!--
        <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
            <Video codec="h264"
                   bitRate="3000000"
                   width="1920"
                   height="1080"
                   frameRate="30" />

            <Audio codec="aac"
                   bitRate="61000"
                   sampleRate="44100"
                   channels="1" />
        </EncoderProfile>
-->
        <ImageEncoding quality="90" />
        <ImageEncoding quality="80" />
        <ImageEncoding quality="70" />
        <ImageDecoding memCap="20000000" />

    </CamcorderProfiles>


    <EncoderOutputFileFormat name="3gp" />
    <EncoderOutputFileFormat name="mp4" />

    <!--
         If a codec is not enabled, it is invisible to the applications
         In other words, the applications won't be able to use the codec
         or query the capabilities of the codec at all if it is disabled
    -->
    <VideoEncoderCap name="h264" enabled="true"
        minBitRate="64000" maxBitRate="6000000"
        minFrameWidth="176" maxFrameWidth="3840"
        minFrameHeight="144" maxFrameHeight="2160"
        minFrameRate="1" maxFrameRate="30" />
    <VideoEncoderCap name="h264" enabled="true"
        minBitRate="64000" maxBitRate="3000000"
        minFrameWidth="176" maxFrameWidth="1920"
        minFrameHeight="144" maxFrameHeight="1080"
        minFrameRate="1" maxFrameRate="30" />

    <VideoEncoderCap name="h263" enabled="true"
        minBitRate="64000" maxBitRate="1000000"
        minFrameWidth="176" maxFrameWidth="800"
        minFrameHeight="144" maxFrameHeight="480"
        minFrameRate="1" maxFrameRate="24" />

    <VideoEncoderCap name="m4v" enabled="true"
        minBitRate="64000" maxBitRate="2000000"
        minFrameWidth="176" maxFrameWidth="800"
        minFrameHeight="144" maxFrameHeight="480"
        minFrameRate="1" maxFrameRate="24" />

    <AudioEncoderCap name="aac" enabled="true"
        minBitRate="8192" maxBitRate="96000"
        minSampleRate="8000" maxSampleRate="44100"
        minChannels="1" maxChannels="1" />

    <AudioEncoderCap name="amrwb" enabled="true"
        minBitRate="6600" maxBitRate="23050"
        minSampleRate="16000" maxSampleRate="16000"
        minChannels="1" maxChannels="1" />

    <AudioEncoderCap name="amrnb" enabled="true"
        minBitRate="5525" maxBitRate="12200"
        minSampleRate="8000" maxSampleRate="8000"
        minChannels="1" maxChannels="1" />

    <!--
        FIXME:
        We do not check decoder capabilities at present
        At present, we only check whether windows media is visible
        for TEST applications. For other applications, we do
        not perform any checks at all.
    -->
    <VideoDecoderCap name="wmv" enabled="false"/>
    <AudioDecoderCap name="wma" enabled="false"/>
    <!--
    <VideoEditorCap  maxInputFrameWidth="1920"
        maxInputFrameHeight="1080" maxOutputFrameWidth="1920"
        maxOutputFrameHeight="1080" maxPrefetchYUVFrames="1"/>
    -->
    <!--
        The VideoEditor Export codec profile and level values
        correspond to the values in OMX_Video.h.
        E.g. for h264, profile value 1 means OMX_VIDEO_AVCProfileBaseline
        and  level 4096 means OMX_VIDEO_AVCLevel41.
        Please note that the values are in decimal.
        These values are for video encoder.
    -->
    <!--
      Codec = h.264, Hp-High profile, level 4.1
    -->
    <!--<ExportVideoProfile name="h264" profile= "4" level="4096"/>-->
    <!--
      Codec = h.263, Baseline profile, level 0
    -->
    <!--<ExportVideoProfile name="h263" profile= "1" level="1"/>-->
    <!--
      Codec = mpeg4, Simple profile, level 3
    -->
    <!--<ExportVideoProfile name="m4v" profile= "1" level="16"/>-->
</MediaSettings>
 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 TinyEngine 低代码引擎实现三方物料集成

本文由体验技术团队 TinyEngine 项目成员炽凌创作&#xff0c;欢迎大家实操体验&#xff0c;本体验内容基于 TinyEngine 低代码引擎提供的环境&#xff0c;介绍了如何通过 TinyEngine 低代码引擎实现三方物料集成&#xff0c;帮助开发者快速开发。 知识背景 1.1 TinyEngine 低…

【SkyWalking】使用PostgreSQL做存储K8s部署

拉取镜像 docker pull apache/skywalking-ui:10.0.1 docker tag apache/skywalking-ui:10.0.1 xxx/xxx/skywalking-ui:10.0.1 docker push xxx/xxx/skywalking-ui:10.0.1docker pull apache/skywalking-oap-server:10.0.1 docker tag apache/skywalking-oap-server:10.0.1 xxx…

SpringBoot集成ireport打印,并解决PDF中文显示问题

1、相关jar包引入 <!-- ireport报表相关 start--><dependency><groupId>net.sf.jasperreports</groupId><artifactId>jasperreports</artifactId><version>4.5.1</version><exclusions><exclusion><groupId…

Ubuntu 22.04.4 LTS安装cmake-3.29.5

一、下载源码 wget https://github.com/Kitware/CMake/releases/download/v3.29.5/cmake-3.29.5.tar.gz tar -xzvf cmake-3.29.5.tar.gz 二、编译 运行./bootstrap。 如果出现下列问题&#xff1a; -- Could NOT find OpenSSL, try to set the path to OpenSSL root folder …

go语言后端开发学习(二)——基于七牛云实现的资源上传模块

前言 在之前的文章中我介绍过我们基于gin框架怎么实现本地上传图片和文本这类的文件资源(具体文章可以参考gin框架学习笔记(二) ——相关数据与文件的响应)&#xff0c;但是在我们实际上的项目开发中一般却是不会使用本地上传资源的方式来上传的&#xff0c;因为文件的上传与读…

Spring Security系列之Handler

概述 与Spring、Spring MVC、Spring Boot一样&#xff0c;Spring Security里也有很多Handler接口、可以分为两大类&#xff0c;一类是普通的XxxHandler&#xff08;见名知意&#xff09;&#xff0c;另一类是对应的ServerXxxHandler&#xff08;RequestRejectedHandler除外&am…

短剧看剧系统投流版系统搭建,前端uni-app

目录 前言&#xff1a; 一、短剧看剧系统常规款短剧系统和投流版的区别&#xff1f; 二、后端体系 1.管理端&#xff1a; 2.代理投流端 三、功能区别 总结&#xff1a; 前言&#xff1a; 23年上半年共上新微短剧481部&#xff0c;相较于2022年全年上新的454部&#xff0…

读AI未来进行式笔记06自动驾驶技术

1. 跃层冲击 1.1. 每个社会其实都处于不同的楼层&#xff0c;往往处于更低楼层的社会&#xff0c;要承受来自更高楼层的社会发展带来的更大冲击 2. 驾驶 2.1. 开车时最关键的不是车&#xff0c;而是路 2.2. 人是比机器更脆弱的生命&am…

JavaEE初阶---多线程编程(一.线程与进程)

目录 &#x1f923;一.线程与进程的概念与联系&#xff1a; 进程的基本概念&#xff1a; 线程的基本概念&#xff1a; 进程和线程的区别与联系&#xff1a; &#x1f643;代码执行实列&#xff1a; 1.通过继承Thread父类来实现多线程 2.通过实现Runnable接口来实现多线程…

java调用GDAL及JTS实现生成泰森多边形(Voronoi图)的一种方法

目录 一、关于泰森多边形 1.泰森多边形的特性 2.本文的目的 二、实现思路 1.gdal和jts库的maven坐标 2.jts生成泰森多边形的关键代码 3.使用GDAL读取源文件信息的关键代码 4.使用GDAL将生成的泰森多边形写入文件 三、实现结果 1.实现的效果 2.完整代码示例 一、关于…

【稳定检索/投稿优惠】2024年智慧金融与财务管理国际会议(SFFM 2024)

2024 International Conference on Smart Finance and Financial Management 2024年智慧金融与财务管理国际会议 【会议信息】 会议简称&#xff1a;SFFM 2024 截稿时间&#xff1a;以官网为准 大会地点&#xff1a;中国广州 会议官网&#xff1a;www.iacsffm.com 会议邮箱&am…

【漏洞复现】海康威视综合安防管理平台 多处 FastJson反序列化RCE漏洞

0x01 产品简介 海康威视综合安防管理平台是一套“集成化”、“智能化”的平台,通过接入视频监控、一卡通、停车场、报警检测等系统的设备。海康威视集成化综合管理软件平台,可以对接入的视频监控点集中管理,实现统一部署、统一配置、统一管理和统一调度。 0x02 漏洞概述 由于…

【安装笔记-20240607-Linux-适合个人用户及初创企业的 SSL 证书服务】

安装笔记-系列文章目录 安装笔记-20240607-Linux-适合个人用户及初创企业的 SSL 证书服务 文章目录 安装笔记-系列文章目录安装笔记-20240607-Linux-适合个人用户及初创企业的 SSL 证书服务 前言一、软件介绍名称&#xff1a;acme.sh主页官方介绍 二、安装步骤测试版本&#x…

React@16.x(21)渲染流程-更新

目录 1&#xff0c;更新的2种场景2&#xff0c;节点更新3&#xff0c;对比 diff 更新3.1&#xff0c;React 的假设3.1.2&#xff0c;key 2.1&#xff0c;找到了对比的目标2.1.1&#xff0c;节点类型一致1&#xff0c;空节点2&#xff0c;DOM节点3&#xff0c;文本节点4&#xf…

Nginx 配置防护 缓慢的 HTTP拒绝服务攻击+点击劫持:X-Frame-Options未配置

一 安全团队检测网站 1 检测到目标主机可能存在缓慢的HTTP拒绝服务攻击 缓慢的HTTP拒绝服务攻击是一种专门针对于Web的应用层拒绝服务攻击&#xff0c;攻击者操纵网络,对目标Web服务器进行海量HTTP请求攻击&#xff0c;直到服务器带宽被打满&#xff0c;造成了拒绝服务。 慢…

Flink SQL实践

环境准备 方式1&#xff1a;基于Standalone Flink集群的SQL Client 启动Flink集群 [hadoopnode2 ~]$ start-cluster.sh [hadoopnode2 ~]$ sql-client.sh ... 省略若干日志输出... Flink SQL> 方式2&#xff1a;基于Yarn Session Flink集群的SQL Client 启动hadoop集群…

使用difflib实现文件差异比较用html显示

1.默认方式&#xff0c;其中加入文本过长&#xff0c;需要换行&#xff0c;因此做 contenthtml_output.replace(</style>,table.diff td {word-wrap: break-word;white-space: pre-wrap;max-width: 100%;}</style>)&#xff0c;添加换行操作 ps&#xff1a;当前te…

内存经验分享

目录 内存统计工具 /proc/meminfo Buddy ​​​​​​​​​​​​​​Slub ​​​​​​​Procrank /proc/pid/smaps ​​​​​​​Dumpsys meminfo 内存评估 内存泄漏 Lmk 水位调整 内存统计工具 /proc/meminfo 可以提供整体内存信息&#xff0c;各字段表示的意思如…

mysql工具----dbForgeStudio2020

dbForgeStudio2020&#xff0c;除了基本的操作外&#xff0c;还具有可调试mysql存储过程的功能&#xff0c;是一个不可夺得的mysql软件工具。 本文的软件将简单介绍软件的安装方式&#xff0c;仅供学习交流&#xff0c;不可做它用。 1.安装软件&#xff0c;安装后&#xff0c…

【Linux操作系统】Linux中进程的五种状态:R、S、D、T、X以及僵尸进程、孤儿进程

操作系统中有许多同时执行的进程&#xff0c;这些进程都可能处于不同的状态代表着不同的含义。 R运行状态(running) 概念&#xff1a;并不意味着进程一定在运行中&#xff0c;它表明进程要么是在运行中要么在运行队列里。 我们运行可执行程序myproc利用指令 ps ajx可以看到进程…