昇腾社区首页
中文
注册

mxpi_rtspsrc

  • 当使用拉流插件的加密传输功能时,前置条件如下:
    1. 安装“libgiognutls.so”
    2. 设置“GIO_MODULE_DIR”环境变量(“libgiognutls.so”所在的文件夹路径)。
    3. 编写pipeline时配置拉流插件的属性“tlsCertFilePathList”“tlsValidationFlags”
  • 推荐使用加密登录,非加密登录有安全风险。
    加密登录时,建议用户把用户名、密码加密保存到开发的应用中,使用SDK构建pipeline时先解密再调用CreateMultipleStreams进行构建。
    • 如果使用配置文件做为pipeline模板时,建议将参数敏感信息部分在配置文件中使用${xxxx}替代(其中xxxx为对应的参数名),在使用SDK构建pipeline时,先读取文件内容,解密后,将${xxxx}替换为用户名和密码,再调用CreateMultipleStreams进行串流。
    • 如选择将用户名、证书密码等值直接明文写在配置文件中,存在信息泄露的风险。请妥善保管用户名及密码。
    • 拉流插件元素默认模板的作者信息为 root <<user@hostname.org>>

功能描述

接收外部调用接口的输入视频路径,对视频进行拉流,并将拉取的裸流存储到缓冲区(buffer)中,并发送到下游插件。

约束限制

目前只支持H.264、H.265拉流,加密传输功能只支持使用口令加密的证书私钥。

插件基类(factory)

mxpi_rtspsrc

输入和输出

输入:无。

动态输出:buffer(数据类型“MxpiBuffer”)、metadata(数据类型“MxpiFrame”)。

属性

请参见表1

表1 mxpi_rtspsrc插件的属性

属性名

描述

是否为必填项

是否可修改

rtspUrl

RTSP取流地址(可以从网络摄像机获取,也可通过Live555等工具将本地视频文件转换为RTSP流)。

channelId

表示视频拉流的路数标识,默认值为0。

timeout

表示一段时间(timeout)没有拉流后,会断开拉流。默认值为0。内部测试中,暂不推荐使用。

fpsMode

是否打印拉流帧率,只能填0或1。
  • 0:不打印帧率(默认)。
  • 1:打印帧率。

首次拉流的流地址无效时,属性为1时也不打印帧率。

tlsValidationFlags

用于验证服务的TLS证书验证标识,默认值为4,取值范围为:
  • 1 (0x00000001):unknown-ca
  • 2 (0x00000002):bad-identity
  • 4 (0x00000004):not-activated
  • 8 (0x00000008):expired
  • 16 (0x00000010):revoked
  • 32 (0x00000020):insecure
  • 64 (0x00000040):generic-error
  • 127 (0x0000007f):validate-all

tlsCertFilePathList

依次填写CertCrt、CertKey、CaCert、Token,以逗号隔开,默认值为空。(建议证书及密钥文件的权限设置为400,减少证书及密钥泄露的风险。)
  • CertCrt:服务端证书路径。
  • CertKey:服务端证书私钥路径。
  • CaCert:服务端CA证书路径。
  • Token:加密私钥解密口令。

插件示例

  • “rtspUrl”参数传入RTSP取流地址,示例以加密形式展示,需传入用户名与密码。
  • “tlsCertFilePathList”参数传入了“server.crt”“server.key”“ca.crt”证书相关文件路径,证书生成与制作指导请参见自签名证书制作参考
"mxpi_rtspsrc0": {
	"factory": "mxpi_rtspsrc",
	"props": {
		"rtspUrl": "rtsps://username:password@xxx.xxx.xxx.xxx:xxx/xxx",
		"channelId": "0",
		"tlsValidationFlags": "127",
		"tlsCertFilePathList": "xxx/server.crt,xxx/server.key,xxx/ca.crt,<cert_password>",
		"fpsMode": "1"
	},
	"next": "mxpi_videodecoder0"
},