Con el creciente énfasis actual en la seguridad de la información, la transmisión de vídeo en el campo de la videovigilancia también requiere diversas estrategias de seguridad. La transmisión en vivo de la plataforma de medios de transmisión de videovigilancia requiere restricciones de permisos, incluidas a qué IP se les permite acceder, a qué usuarios solo se les permite acceder y otras restricciones de permisos. Para cumplir con los diversos requisitos de permisos de reproducción de diferentes usuarios en diferentes escenarios, la plataforma de transmisión de medios LiveGBS GB28181 proporciona una función de devolución de llamada que se puede configurar durante la reproducción, lo que permite a los usuarios determinar si permiten la reproducción, como se detalla a continuación.
1. Control de seguridad de la transmisión en vivo
1.1 Control de inicio de transmisión en vivo
Para habilitar una transmisión en vivo de forma predeterminada, debe llamar a la interfaz API para iniciar la transmisión en vivo, de modo que la dirección de transmisión sea válida más adelante.
1.2 Autenticación de devolución de llamada de transmisión en vivo
LiveGBS se puede configurar para volver a llamar a una interfaz de autenticación cuando se reproduce una transmisión en vivo. El código de estado devuelto por la interfaz de autenticación controla si se puede permitir que la transmisión en vivo continúe reproduciéndose. ¿Cómo configurar la devolución de llamada de autenticación de reproducción? Consulte a continuación un ejemplo de instrucciones específicas.
2. Configurar la devolución de llamada de autenticación de reproducción
2.1 Preparar la interfaz de autenticación de devolución de llamada
Esta interfaz la proporciona su propio sistema empresarial y se utiliza para recibir operaciones de devolución de llamada antes de que el usuario reproduzca el vídeo.
El sistema empresarial del proyecto proporciona una dirección de interfaz para la interfaz de devolución de llamada del servicio de transmisión de medios durante la reproducción. Por ejemplo: http://192.168.2.153:8080/authstream
2.2 Configurar la dirección de autenticación de devolución de llamada
Configure livecms.ini->[sip]->stream_auth_url en LiveCMS. Debe reiniciar el servicio LiveCMS, como por ejemplo:
[sip]
; 直播鉴权第三方回调地址, HTTP GET
; 请求参数: 除透传流地址参数外, 固定参数: app, call, name
; 响应: 200 - 鉴权通过, 其它 - 鉴权不通过
stream_auth_url=http://192.168.2.153:8080/authstream
2.3 Instrucciones de depuración
2.3.1 Entorno de depuración
- IP de fuente de video del servicio de transmisión de medios: 192.168.2.135
- IP de acceso del cliente: 192.168.2.136
- IP de la interfaz de autenticación de devolución de llamada: 192.168.1.11
2.3.2 Ejemplo de llamada
2.3.2.1 Dirección de transmisión de vídeo
2.3.2.2 Parámetros de autenticación adicionales
为视频流地址,附加鉴权回调的接口需要的参数如:param1、param2
2.3.2.3、播放器播放
使用播放器播放上述 附加鉴权参数后的地址
2.3.2.4、回调请求鉴权
LiveGBS服务会在用户播放视频流的时候,回调已经配置的回到接口,如上配置的播放回调鉴权地址: http://192.168.2.153:8080/authstream
2.3.2.4.1、回调请求参数-说明
名称 | 描述 |
---|---|
raddr | 客户端远端IP |
app | 应用类型:webrtc (webrtc播放)hls (其它视频流播放)record (M3U8录像播放)snap (快照获取) |
call | 操作类型:play |
name | 资源唯一标记: 如视频ID、快照名称 |
其它自定义入参 | 自定义的入参:如上面示例的 param1、param2,名称根据需要自定义 |
2.3.2.4.2、回调请求参数-示例
详细的回调请求示例如下:
播放前回调鉴权传递参数,说明如下:
raddr=192.168.2.136 客户端远端IP
app=hls 应用类型
call=play 操作
name=34020000001110000022_34020000001320000002 资源唯一标记(视频流)
param1和param2是自定义附加的,可以自定义参数名,播放回调时会透传后来用于自定义的鉴权逻辑
2.3.2.4.1、开始播放
播放视频 或是 请求快照展示,会回调接口:
此时请求的接口,返回的HTTP 状态码是 200 ,就继续播放,播放器开始播放 或是 展示快照
2.3.2.4..2、阻止播放
播放视频 或是 请求快照展示,会回调接口:
此时请求的接口,返回的HTTP 状态码不是 200 ,将阻止播放,播放器无法播放 或是 无法展示快照
- 重要说明
param1=Cs09vtkMR.04ccf46c56c2371a48¶m2=testsssssss 是示例附加传参,回调会传递附加的所有参数,不限定个数和名称
3、常见问题
3.1、如何单独控制快照权限?
可以在回调接口里面,判断 app == snap ,针对快照的回调直接返回 200,如下示例
...
var app = getQueryParma("app);
if (app == "snap") {
res.code = 200
res.status = "OK"
}
...
3.2、如何单独控制录像回看权限?
可以在回调接口里面,判断 app == record ,针对快照的回调直接返回 200,如下示例
...
var app = getQueryParma("app);
if (app == "record") {
res.code = 200
res.status = "OK"
}
...