RTSP / RTMPビデオ画像インテリジェント分析テクノロジープラットフォームEasyCVRは、CDNフィールド損失のトラブルシューティング後にチャネルCDNアドレスの更新を追加します

TSINGSEE Green Rhinocerosビデオ画像インテリジェント分析テクノロジープラットフォームEasyCVRは、ビデオストリームスキャンとリンク共有を実現できるだけでなく、CDNへのプッシュ(EasyCVRがチャネルビデオストリームをCDNにプッシュして配信する方法もサポートします。

WeChatスクリーンショット_20201127101659.png

EasyCVRがビデオチャネルをCDNにプッシュする場合、つまり、ユーザーがチャネルCDNアドレスを追加した後にチャネルを更新すると、CDNフィールドが失われるという問題があります。

CDNをチャネルに追加した後、データは次のとおりです。

18.png

更新チャネルが実行されると、CDNフィールドは失われます。

19.png

このとき、データベースのCDNテーブルフィールドは空として表示されます。

20.png

調査コードによると、チャネルが更新されると、サービスは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アドレスを再度設定します。正常に表示される前と後の両方で、問題は解決されました。

21.png

EasyCVRビデオプロトコル統合プラットフォームは、国家標準GB28181やRTSPなどの現在の主流ビデオプロトコルをサポートするだけでなく、HIKSDKやEhomeプロトコルなどの一部のプライベートプロトコルのデバイスアクセスもサポートします。他の主流メーカーのプライベートプロトコルも拡大しています。不規則になります。に追加します。その中で、EasyCVRは多くの屋外シーンやマルチレベルプラットフォームプロジェクトでカスケードするためにGB28181プロトコルを使用でき、マルチプロトコル統合の機能も多くの面で役割を果たします。

おすすめ

転載: blog.csdn.net/TsingSee/article/details/115306148