La plataforma de tecnología de análisis inteligente de imágenes de video de TSINGSEE Green Rhinoceros EasyCVR no solo puede realizar escaneo de transmisión de video y compartir enlaces, sino que también admite push to CDN ( cómo EasyCVR empuja la transmisión de video de canal a CDN para su distribución ).
Existe un problema cuando EasyCVR empuja el canal de video al CDN, es decir, cuando el usuario actualiza el canal después de agregar la dirección CDN del canal, el campo CDN se perderá.
Después de agregar la CDN al canal, aquí están los datos:
El campo CDN se pierde después de que se ejecuta el canal de actualización:
En este momento, los campos de la tabla CDN de la base de datos se muestran vacíos:
El código de investigación encontró que cuando se actualiza el canal, el servicio actualizará todos los canales, incluido el campo CDN, que también actualizará los datos antiguos, de modo que después de que se configure el campo CDN, el canal se actualice nuevamente, y el campo CDN está perdido.
Agregue el siguiente código, llame a .Omit ("enable_cdn", "cdn_url"), estos dos campos serán ignorados al actualizar los datos de la base de datos, el código de referencia es el siguiente:
if len(gbschannels) == 0 {
cvrChannel.Name = channel.Name
tx.Model(cvrdo.DBChannelInfo{}).Omit("enable_cdn", "cdn_url").Save(cvrChannel)
} else {
tmp, ret := cvrdao.GetChannelDao().Get(uint(gbschannels[0].Index))
if ret != nil {
cvrChannel.Name = gbschannels[0].Name
} else {
cvrChannel.ChannelID = tmp.ChannelID
cvrChannel.EnableAudio = tmp.EnableAudio
cvrChannel.Name = tmp.Name
cvrChannel.Token = tmp.Token
cvrChannel.RecordPlanNew = tmp.RecordPlanNew
cvrChannel.RecordPlanSwitch = tmp.RecordPlanSwitch
cvrChannel.RecordPlan = tmp.RecordPlan
}
tx.Model(cvrdo.DBChannelInfo{}).Omit("enable_cdn", "cdn_url").Save(cvrChannel)
}
Después de ajustar el código, configure la dirección CDN nuevamente, tanto antes como después se pueden mostrar normalmente, el problema se ha resuelto.
La plataforma de integración del protocolo de video EasyCVR no solo es compatible con los protocolos de video principales actuales, como el estándar nacional GB28181 y RTSP, sino que también admite el acceso a dispositivos de algunos protocolos privados, incluidos los protocolos HIKSDK y Ehome. Los protocolos privados de otros fabricantes principales también se están expandiendo y será irregular. Entre ellos, vale la pena mencionar que EasyCVR puede usar el protocolo GB28181 para la conexión en cascada en muchas escenas al aire libre y proyectos de plataforma de múltiples niveles, y la característica de integración de múltiples protocolos también jugará un papel en muchos aspectos.