腾讯云实时互动工业能源版现场设备配置说明_音视频解决方案_同尘科技
JSON 配置文件样例
文件名:config.json 文件位置:$(workspace)/config.json 文件类型:json注意:"//"后注释在使用时要删除。最小节点如下 { "device_id":"dev1", //修改为控制台中创建的现场设备ID "device_name":"vin234", "device_streams":1, //如果是多路输入,修改这里的流数目,并增加streams_config数组中的元素个数 "cloud_mode":"public", "certificate":"./device.pem", "projectid" : "xxxxx", //修改为控制台中创建的项目ID "password": "xxxxx", //修改为控制台中创建的密码 "streams_config": [ { "fps":30, "bps":2000, "width":1920, "height":1080, "camera":0, //修改为实际接入的相机,对应/dev/videox "protocol":"v4l2" //如果为外部输入yuv数据,修改为outside。 如果为外部输入编码流数据,修改为outenc } ] }
JSON 配置根节点含义
节点名 | 类型 | 含义 | 默认值 | 备注 | 参数范围 |
device_id | 字符串型(String) | 设备 ID,用于注册到服务器的唯一编码 | – | 必填 | – |
device_name | 字符串型(String) | 设备名称,用于辨识设备信息 | – | 必填 | – |
device_streams | 数字型(Number) | 设备视频流数目 | – | 必填 | 1-8 |
server_ip | 字符串型(String) | 信令服务端 IP | – | 公有云账号无需指定,私有化必填 | – |
server_port | 数字型(Number) | 信令服务端端口号 | – | 公有云账号无需指定,私有化必填 | – |
rtc_server_ip | 字符串型(String) | 媒体服务端 IP | – | 公有云账号无需指定,私有化必填 | – |
rtc_server_port | 数字型(Number) | 媒体服务端端口号 | – | 公有云账号无需指定,私有化必填 | – |
projectid | 字符串型(String) | 项目 ID | – | 公有云必填 | – |
cloud_mode | 字符串型(String) | 云模式 | – | 必填 | public 公有云private 私有云 |
password | 字符串型(String) | 设备密钥 | – | 公有云必填 | – |
certificate | 字符串型(String) | 服务器公钥证书 | – | 公有云必填,device.pem 文件路径 | – |
log_enable | 布尔型(Boolean) | 日志开关 | 0 | 可选 | 0:不使能1:使能 |
sdk_mode | 字符串型(String) | 流传输模式 | “p2p” | 可选 | – |
min_port | 数字型(Number) | 视频传输端口最小值 | 50000 | 可选 | – |
max_port | 数字型(Number) | 视频传输端口最大值 | 50100 | 可选 | – |
audio_enable | 数字型(Number) | 是否采集音频 | 0 | 可选 | 0:不采集1:采集 |
audio_receive | 数字型(Number) | 是否接收音频 | 1 | 可选 | 0:不接收1:接收 |
streams_config | JSON 数组(JSON Array) | 流配置数组 | – | 必选 | 数量与device_streams一致 |
streams_config 流配置含义
节点名 | 类型 | 含义 | 默认值 | 备注 | 参数范围 |
fps | 数字型(Number) | 视频帧率 | – | 必选 | – |
bps | 数字型(Number) | 流传输码率 | – | 必选,根据画质需求及实际网络负载配置。码率越高,画质越清晰,传输数据量越大 | – |
min_bps | 数字型(Number) | 最低传输码率 | 默认值与bps相同 | 可选,根据最低画质需求填写。 | – |
width | 数字型(Number) | 视频源宽度 | – | 必选,相机采集为相机分辨率,外部输入视频时,根据输入分辨率填写 | – |
height | 数字型(Number) | 视频源高度 | – | 必选,相机采集为相机分辨率,外部输入视频时,根据输入分辨率填写 | – |
protocol | 字符串型(String) | 采集协议 | “v4l2” | 可选 | “v4l2”:由SDK采集 v4l2相机数据“outenc“:客户通过接口输入编码流数据”outside”:客户通过接口输入图像数据 |
camera | 数字型(Number) | v4l2相机编号 | 0 | 填写数字X对应设备 /dev/videoX ,当protocol 字段配置为“v4l2”时,此字段生效 | – |
codec | 数字型(Number) | 编码类型 | 0 | 可选 | 0:h2641:h2652:av1 |
encode_width | 数字型(Number) | 编码传输的视频宽度 | 默认与 width 一致 | 可选 | – |
encode_height | 数字型(Number) | 编码传输的视频高度 | 默认与 height 一致 | 可选 | – |
streams_config 流配置 protocol 扩展及网络相机采集配置
1. 拉取 rtsp 相机场景参见 streams_config 节点配置
参考配置: "streams_config": [ { "fps":25, "bps":2000, "width":1920, "height":1080, "protocol":"normal", "cameras": [ { "width":1920, "height":1080, "protocol":1, "url":"rtsp://xxxxx" } ] } ]
2. 多画面拼接场景参考 streams_config 节点配置
"streams_config": [ { "fps":25, "bps":2000, "width":2560, "height":1440, "protocol":"combine", "cameras": [ { "width":640, "height":480, "camera":1, "protocol":2, "url":"/dev/video0" }, { "width":640, "height":480, "camera":1, "protocol":2, "url":"/dev/video1" }, { "width":640, "height":480, "camera":1, "protocol":2, "url":"/dev/video2" }, { "width":640, "height":480, "camera":1, "protocol":2, "url":"/dev/video3" } ], "combine_config": { "basic_width":1920, "basic_height":1080, "pattern": [ { "x1":0, "y1":0, "x2":640, "y2":480 }, { "x1":640, "y1":0, "x2":1280, "y2":480 }, { "x1":0, "y1":480, "x2":640, "y2":960 }, { "x1":640, "y1":480, "x2":1280, "y2":960 } ] } } ]
节点名 | 类型 | 含义 | 默认值 | 备注 | 参数范围 |
protocol | String | 图像处理类型 | “normal” | 默认不处理 | normal:不处理rtsp_enc:透明传输264编码流join:左右画面拼接combine:混流拼接 |
cameras | JSON Array | 视频源相机 | – | 涉及多个相机组合时,需配置多个相机节点 | – |
width(cameras节点中) | Number | 相机采集宽度 | – | – | – |
height(cameras节点中) | Number | 相机采集高度 | – | – | – |
protocol(cameras节点中) | Number | 采集协议类型 | 1 | – | 1:rtsp 采集2:v4l2 mmap 采集3:v4l2 dma 采集 |
url (cameras节点中) | String | 采集数据源地址 | – | 配合相机采集协议类型 | protocol=1:网络相机拉流 rtsp URLprotocol=2/3:/dev/videox |
对音视频的解决方案有疑惑?想了解解决方案收费? 联系解决方案专家
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠
阿里云解决方案也看看?: 点击对比阿里云的解决方案
暂无评论,你要说点什么吗?