TSINGSEE Green Rhinocerosビデオ画像インテリジェント分析テクノロジープラットフォームEasyCVRは、ビデオストリームスキャンとリンク共有を実現できるだけでなく、CDNへのプッシュ(EasyCVRがチャネルビデオストリームをCDNにプッシュして配信する方法)もサポートします。
EasyCVRがビデオチャネルをCDNにプッシュする場合、つまり、ユーザーがチャネルCDNアドレスを追加した後にチャネルを更新すると、CDNフィールドが失われるという問題があります。
CDNをチャネルに追加した後、データは次のとおりです。
更新チャネルが実行されると、CDNフィールドは失われます。
このとき、データベースのCDNテーブルフィールドは空として表示されます。
調査コードによると、チャネルが更新されると、サービスはCDNフィールドを含むすべてのチャネルを更新します。これにより、古いデータも更新されるため、CDNフィールドが構成された後、チャネルが再度更新され、CDNフィールドが更新されます。失われます。
次のコードを追加し、.Omit( "enable_cdn"、 "cdn_url")を呼び出します。データベースデータを更新するときに、これら2つのフィールドは無視されます。参照コードは次のとおりです。
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)
}
コードを調整した後、CDNアドレスを再度設定します。正常に表示される前と後の両方で、問題は解決されました。
EasyCVRビデオプロトコル統合プラットフォームは、国家標準GB28181やRTSPなどの現在の主流ビデオプロトコルをサポートするだけでなく、HIKSDKやEhomeプロトコルなどの一部のプライベートプロトコルのデバイスアクセスもサポートします。他の主流メーカーのプライベートプロトコルも拡大しています。不規則になります。に追加します。その中で、EasyCVRは多くの屋外シーンやマルチレベルプラットフォームプロジェクトでカスケードするためにGB28181プロトコルを使用でき、マルチプロトコル統合の機能も多くの面で役割を果たします。