跳到主要内容

视频流配置指导文档

更新时间: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 = "相机名称"
字段类型必填说明
enablebool是否启用该流。true 启用,false 禁用
always_startbool是否始终启动(即使无客户端请求)。默认为 false,表示按需启动。
namestring流名称,用于日志识别和调试

2、视频模块开关

# 视频采集是否启用,采集源类型,渲染方式
[stream.video]
enable = true
type = "V4L2"
render_mode = "direct"
字段类型必填说明
enablebool是否启用视频采集。
typestring采集源类型。当前支持V4L2、RTP和RTSP
render_modestringVR场景下渲染方式,默认是direct,当前支持direct(直接渲染)、360(360°渲染)、stereo_tb(双目上下拆分)、stereo_lr(双目左右拆分)

3、视频输入配置

# 流视频输入相关参数
[[stream.video.input]]
path = "/dev/video1"
encode_type = "YUYV"
width = 1920
height = 1080
fps = 60
字段类型必填说明
pathstring视频流路径,如 /dev/video0、/dev/video1
encode_typestring输入编码格式。支持YUYV、MJPEG,需与摄像头实际输出一致。path为RTSP流时非必填
widthint采集宽度(像素)。需设备支持。 path为RTSP流时非必填,会自动探测
heightint采集高度(像素)。需设备支持。path为RTSP流时非必填,会自动探测
fpsint采集帧率(帧/秒)。需设备支持。path为RTSP流时非必填,会自动探测

4、视频输出配置

# 流视频输出相关参数
[stream.video.output]
enable_transcode = true
encode_type = "H264"
encode_mode = "VBR"
bitrate = 2000
width = 1920
height = 1080
字段类型必填说明
enable_transcodebool强制转码开关。当输入输出编码格式相同时,是否仍强制转码。默认选择true。
encode_typestring输出编码格式。支持:H264、H265。
encode_modestring码率控制模式。当前支持VBR可变码率
bitrateint最高码率(kbps),分辨率为1080P时建议配置1000,720P时建议配置512
widthint输出宽度(像素)。可与输入不同,会自动缩放。
heightint输出高度(像素)。可与输入不同,会自动缩放。

5、音频模块开关

# 音频采集是否启用,默认不启用
[stream.audio]
enable = false

字段类型必填说明
enablebool是否启用音频采集,默认关闭

6、流输出协议配置

# 流输出协议默认开启rtc,其他支持rtp和rtsp,此处配置略过
[stream.output]
[stream.output.rtc]
enable = true
字段类型必填说明
enablebool是否通过 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