视频流配置指导文档
更新时间:2026-06-09 09:40:00
一、配置文件config.toml的存放路径
服务正常安装完毕后,配置文件config.toml存放在路径/etc/robrt/core/下
二、配置文件config.toml结构概述
配置文件config.toml中 [[stream]] 块用于定义视频流的输入、输出及转码行为,支持多个流([[stream]])并行配置。每个 [[stream]] 块代表一个独立的视频流配置。
# 整体结构
[[stream]] # 第一个流配置
[[stream]] # 第二个流配置
三、配置项说明
1、流基础信息
# 流基础信息,包括是否启用,名称等
[[stream]]
enable = true
always_start = false
name = "相机名称"
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| enable | bool | 是 | 是否启用该流。true 启用,false 禁用 |
| always_start | bool | 是 | 是否始终启动(即使无客户端请求)。默认为 false,表示按需启动。 |
| name | string | 否 | 流名称,用于日志识别和调试 |
2、视频模块开关
# 视频采集是否启用,采集源类型,渲染方式
[stream.video]
enable = true
type = "V4L2"
render_mode = "direct"
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| enable | bool | 是 | 是否启用视频采集。 |
| type | string | 是 | 采集源类型。当前支持V4L2、RTP和RTSP |
| render_mode | string | 否 | VR场景下渲染方式,默认是direct,当前支持direct(直接渲染)、360(360°渲染)、stereo_tb(双目上下拆分)、stereo_lr(双目左右拆分) |
3、视频输入配置
# 流视频输入相关参数
[[stream.video.input]]
path = "/dev/video1"
encode_type = "YUYV"
width = 1920
height = 1080
fps = 60
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| path | string | 是 | 视频流路径,如 /dev/video0、/dev/video1 |
| encode_type | string | 是 | 输入编码格式。支持YUYV、MJPEG,需与摄像头实际输出一致。path为RTSP流时非必填 |
| width | int | 是 | 采集宽度(像素)。需设备支持。 path为RTSP流时非必填,会自动探测 |
| height | int | 是 | 采集高度(像素)。需设备支持。path为RTSP流时非必填,会自动探测 |
| fps | int | 是 | 采集帧率(帧/秒)。需设备支持。path为RTSP流时非必填,会自动探测 |
4、视频输出配置
# 流视频输出相关参数
[stream.video.output]
enable_transcode = true
encode_type = "H264"
encode_mode = "VBR"
bitrate = 2000
width = 1920
height = 1080
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| enable_transcode | bool | 是 | 强制转码开关。当输入输出编码格式相同时,是否仍强制转码。默认选择true。 |
| encode_type | string | 是 | 输出编码格式。支持:H264、H265。 |
| encode_mode | string | 是 | 码率控制模式。当前支持VBR可变码率 |
| bitrate | int | 是 | 最高码率(kbps),分辨率为1080P时建议配置1000,720P时建议配置512 |
| width | int | 否 | 输出宽度(像素)。可与输入不同,会自动缩放。 |
| height | int | 否 | 输出高度(像素)。可与输入不同,会自动缩放。 |
5、音频模块开关
# 音频采集是否启用,默认不启用
[stream.audio]
enable = false
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| enable | bool | 是 | 是否启用音频采集,默认关闭 |
6、流输出协议配置
# 流输出协议默认开启rtc,其他支持rtp和rtsp,此处配置略过
[stream.output]
[stream.output.rtc]
enable = true
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| enable | bool | 是 | 是否通过 WebRTC 协议输出该流,默认打开 |
四、常见完整配置示例
示例1:外接摄像头配置,采集编码为YUYV
[[stream]]
enable = true
always_start = false
name = "外接相机"
[stream.video]
enable = true
type = "V4L2"
[[stream.video.input]]
path = "/dev/video1"
encode_type = "YUYV"
width = 1920
height = 1080
fps = 60
[stream.video.output]
enable_transcode = true
encode_type = "H265"
encode_mode = "VBR"
bitrate = 1000
width = 1920
height = 1080
[stream.audio]
enable = false
[stream.output]
[stream.output.rtc]
enable = true
示例2:Insta360影石全景相机配置,采集编码为MJPEG
[[stream]]
enable = true
always_start = false
name = "Insta360"
[stream.video]
enable = true
type = "V4L2"
render_mode = "direct" # 渲染方式: direct(直接渲染)、360(360°渲染)、stereo_tb(双目上下拆分)、stereo_lr(双目左右拆分)
[[stream.video.input]]
path = "/dev/video1"
encode_type = "MJPEG"
width = 2880
height = 1440
fps = 30
[stream.video.output]
enable_transcode = true
encode_type = "H265"
encode_mode = "VBR"
bitrate = 4000
width = 2880
height = 1440
[stream.audio]
enable = false
[stream.output]
[stream.output.rtc]
enable = true
示例3:rtsp实时流
[[stream]]
enable = true
always_start = false
name = "机器狗本体相机"
[stream.video]
enable = true
type = "RTSP"
[[stream.video.input]]
path = "rtsp://192.168.1.120:8554/test"
stream_protocol = "tcp" # "udp", "tcp"
time_out = 5000 #超时时间5000ms
[stream.video.output]
enable_transcode = true
encode_type = "H265"
encode_mode = "VBR"
bitrate = 512
[stream.audio]
enable = false
[stream.output]
[stream.output.rtc]
enable = true
五、运维注意事项
修改配置后必须重启服务生效,重启命令如下
sudo systemctl restart robrt_stream_server.service