Linux环境下使用影石SDK
介绍
影石(insta)360 SDK如何申请和使用(一)
上一篇说到,影石的SDK申请和获取,这一篇的内容将会包括SDK如何使用、如何通过SDK处理、拼接相机的拍摄的媒体内容。
解压安装
下载Linux的版本
下载后的压缩包内有两个重要的文件
1. CameraSDK-20241120_183228–1.1.0-Linux.tar.gz
- 用途:这是Insta360相机的Linux版软件开发工具包(SDK),版本号为1.1.0,发布于2024年11月20日。
- 内容:可能包含相机控制、图像/视频处理、数据传输等功能的开发接口和示例代码。
- 适用场景:开发者需要在Linux系统上调用Insta360相机功能(如实时预览、参数设置)进行二次开发时使用。
2. libMediaSDK-dev_2.0-6_amd64_ubuntu18.04.deb
- 用途:这是针对Ubuntu 18.04系统(64位)的媒体处理开发库,版本号为2.0-6。
- 内容:可能包含音视频编解码、流媒体处理等功能的开发依赖库和头文件。
- 适用场景:开发基于Insta360相机媒体文件(如拼接、转码)的应用时,需安装此依赖包。
使用
1.相机控制
CameraSDK-20241120_183228–1.1.0-Linux.tar.gz文件解压后
进入bin文件中,电脑连接相机运行,运行CameraSDKTest文件即可
2.媒体内容处理
libMediaSDK-dev_2.0-6_amd64_ubuntu18.04.deb 安装包为Debian系统安装包(.deb),可通过dpkg -i命令安装。
sudo dpkg -i libMediaSDK-dev_2.0-6_amd64_ubuntu18.04.deb
没有指定路径,安装后可以在/usr/bin
文件夹中找到 MediaSDKTest
文件
1、单独执行MediaSDKTest, 输出如图
"{-help | default | print this message }\n"
"{-inputs | None | input files }\n"
"{-output | None | out path }\n"
"{-stitch_type | template | template }\n"
"{ | optflow }\n"
"{ | dynamicstitch }\n"
"{-hdr_type | None | singleimagehdr }\n"
"{ | multiimagehdr_mbb }\n"
"{ | multiimagehdr_mpl }\n"
"{-bitrate | same as input vidoe | the bitrate of ouput file }\n"
"{-enable_flowstate | OFF | open flowstate }\n"
"{-enable_directionlock | OFF | open directionlock }\n"
"{-output_size | 1920x960 | the resolution of output }\n"
"{-disable_cuda | true | disable_cuda }\n"
"{-enable_stitchfusion | OFF | stitch_fusion }\n"
"{-enable_sequence_denoise| OFF | enable sequence denoise }\n"
"{-enable_block_denoise | OFF | enable block denoise }\n"
"{-denoise_param_path | | block denoise param }\n"
"{-enable_colorplus | OFF | enable colorplus }\n"
"{-colorplus_model | | colorplus_model path }\n"
"{-enable_h265_encoder | OFF | default h264 }\n"
"{-image_sequence_dir | None | the output dir of image_sequence }\n"
"{-image_type | jpg | jpg }\n"
"{ | png }\n"
"{-gpu_no | default 0 | gpu number begin with 0 }\n"
"{-camera_accessory_type | default 0 | refer to 'common.h' }\n"
"{-enable_area_sample | OFF | used to Eliminate moiré }\n";
2、"-inputs"参数的解析. 输入的素材种类有两种: 视频和图像
对于视频,会有两种模式 5.7K和非5.7K的素材。
5.7K的素材会有两个insv的文件, 分别为00和10文件(每个文件保存一个鱼眼),输入格式如下:
-inputs /path/to/*00*.insv /path/to/*10*.insv
非5.7K的素材有只有一个文件(一个文件中保存的两个鱼眼),输入格式如下:
-inputs /path/to/*.insv
对于图片只有一种模式,因为拍摄的时候会将两个鱼眼图片合并到一张图中保存,输入格式如下(支持两个格式insp和jpg):
-inputs /path/to/*.insp
-inputs /path/to/*.jpg
3、"-output"参数的解析。输入用于输出文件的路径.要指定路径和文件后缀名
对于视频(支持mp4)
-output /path/to/*.mp4
对于图片(支持jpg)
-output /path/to/*.jpg
4、"-image_sequence_dir"参数这个解析,这个参数的功能主要是将视频输出成图片序列。
设置了这个参数以后,就不要设置"-output"的这个参数了 。 对这个参数只是需要设置路径就好.
-image_sequence_dir /path/to/
5、"-output_size"参数的解析,这个参数设置要宽高比要设置2:1 同时数值为偶数
6、"-enable_h265_encoder"参数的解析,这个参数的主要作用是开启h265的编码,主要作用是为了解决在cuda环境下大于4k分辨率不能开启硬件编码的问题。默认是h264编码
7、对于全景素材的播放默认,建议使用insta360的stuido或者potplayer,通过设置选项进行全景查看。
8、-enable_area_sample 这个参数用于对鱼眼进行area采用,解决在输出低分辨率素材时出现摩尔纹的问题,使用此参数,会影响导出性能
总结
以上就是控制相机、处理媒体文件的内容。
在处理媒体文件时候有一个参数很关键,如果你是想用影石跑slam算法的时候需要启用一个配置
-enable_directionlock | OFF | open directionlock
这个配置需要设置为on
因为insta相机是双目相机,不进行视角锁定,在跑算法的时候无法判断相机的位置和朝向
(下一期我们学习如何通过Insta360_OSCSDK 通过wifi操控相机)