Installationshinweise

  • Das .NET Framework und das .NET Core Hosting Bundle erfordern beide einen Neustart nach der Installation. Außerdem müssen die ASP.NET Core Runtime und die .NET Core Runtime die gleiche Version aufweisen.
  • Wenn die Installation bei dem Versuch abbricht, die Video-API mit aktiviertem HTTPS zu installieren, finden Sie Informationen in der Windows-Ausführungsrichtlinie für PowerShell-Skripts. Die Berechtigungen müssen mindestens RemoteSigned oder besser Unrestricted lauten, um die Skripte auszuführen, die für die Einrichtung des Reverse-Proxys erforderlich sind. Um diese Richtlinie zu ändern, verwenden Sie den Befehl Set-ExecutionPolicy.

Zufälliger Fehler des Installers

  • Da Windows den Dienst sperrt, kann der Installer fehlschlagen, wenn die Windows Service Manager-Benutzeroberfläche geöffnet ist.
  • Probleme können auftreten, wenn eine Mischung aus ASP.NET Core und .NET Core Laufzeitversionen installiert wurde. Stellen Sie sicher, dass die neueste Version von ASP.NET Core und .NET Core installiert ist. Wenn Sie das empfohlene Hosting-Bundle von Microsoft verwenden, werden beide Versionen installiert. Falls die Installation fehlschlägt, überprüfen Sie die Liste der .NET-Laufzeiten mit dotnet --list-runtimes.

Verbindung der VideoAPI-Installation überprüfen

Sie können die Verbindung zur Video-API-Installation überprüfen.

  • Sie sind auf einem anderen Rechner als dem VMS-Server angemeldet.
  1. Öffnen Sie einen Browser.
  1. Geben Sie die folgende URL ein:
    https://[vms-server-hostname]:7442/settings?video_api_key=[token] wobei [vms-server-hostname] der Name des VMS-Servers ist und [token] das REST Api Token ist, das bei der Installation von VideoAPI erstellt wurde.
  • Folgender Bildschirm wird angezeigt:
  1. Wenn die Verbindung fehlschlägt, führen Sie die folgenden Schritte auf dem VMS-Server durch:
  • Wechseln Sie zum Ordner Setup\iis-reverse-proxy des entpackten Pakets coresdk-x.zip.
  • Führen Sie das PowerShell-Skript remove_iis_video_proxy.ps1 aus.
  • Führen Sie die beiden Installationsprogramme request-router.msi und url-rewrite.msi aus.
  • Führen Sie das PowerShell-Skript iis_video_proxy.ps1 aus.
  • Starten Sie die VideoAPI neu.
  1. Falls die Verbindung erneut fehlschlägt, kann es hilfreich sein, den VMS-Server neu zu starten.

Protokollierung während der Installation der Video API aktivieren

  • Ein Powershell-Fenster mit Administratorrechten ist geöffnet.
  1. Wechseln Sie in das Verzeichnis, in dem sich die Installationsdatei befindet. Der Standardinstallationspfad ist %ProgramFiles%\Siemens\Video API.
  1. Geben Sie den folgenden Befehl ein:
    msiexec /i InstallVideoApi.msi /l*v [Pfad/zu/Datei/]LogFile.txt
  1. Ersetzen Sie den Wert [Pfad/zu/Datei/] durch einen bestehenden Pfad.
  • Das Installationsprogramm schreibt einen Registrierungseintrag mit der aktuell installierten Video API-Version in den folgenden Eintrag: HKEY_LOCAL_MACHINE\SOFTWARE\Siemens\VideoApi:
  • Die Protokolldateien werden unter folgendem Pfad gespeichert: %ProgramData%\Siemens\VideoApi

Konfiguration der Protokollierung

Für die Protokollierung des Hauptdienstes der Video-API enthält die Datei %ProgramFiles%\Siemens\VideoAPI\Service\log4net.config die entsprechenden Einstellungen:

<log4net>

<appender name="Console" type="log4net.Appender.ConsoleAppender">

<layout type="log4net.Layout.PatternLayout">

<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />

</layout>

</appender>

<appender name="AppLogFile" type="log4net.Appender.RollingFileAppender">

<file value=".\VideoApiService.log" />

<appendToFile value="true" />

<maximumFileSize value="100MB" />

<maxSizeRollBackups value="3" />

<rollingStyle value="Size" />

<layout type="log4net.Layout.PatternLayout">

<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />

</layout>

</appender>

<appender name="MipSdkApiLogFile" type="log4net.Appender.RollingFileAppender">

<file value=".\MipSdkApi.log" />

<appendToFile value="true" />

<maximumFileSize value="100MB" />

<maxSizeRollBackups value="3" />

<rollingStyle value="Size" />

<layout type="log4net.Layout.PatternLayout">

<conversionPattern value="%date [%thread] %-5level - %message%newline" />

</layout>

</appender>

<logger name="MipSdkApiLogger" additivity="false">

<level value="OFF" />

<appender-ref ref="MipSdkApiLogFile" />

</logger >

<root>

<level value="INFO" />

<appender-ref ref="AppLogFile" />

</root>

</log4net>

  1. Um die vollständige Protokollierung des Videos zu aktivieren, ändern Sie die Protokollstufe in Abschnitt root von INFO auf DEBUG.
  • Zusätzlicher Output wird in den Abschnitt %ProgramData%\Siemens\VideoApi\VideoApiService.log geschrieben.
  1. Für Protokolle, die die VMS-Schnittstelle mit Milestone betreffen, kann der Abschnitt mit dem Namen MipSdkApiLogger zugeschaltet werden. Ändern Sie den Level-Wert von OFF auf INFO oder DEBUG.

Für die Protokollierung des Video API Provider Host-Prozesses enthält %ProgramFiles%\Siemens\VideoAPI\ProviderHost\Siemens.VideoApi.ProviderHost.exe.config die entsprechenden Einstellungen:

<?xml version="1.0" encoding="utf-8"?>

<configuration>

<configSections>

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />

</configSections>

<startup>

<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />

</startup>

<log4net>

<appender name="Console" type="log4net.Appender.ConsoleAppender">

<layout type="log4net.Layout.PatternLayout">

<conversionPattern value="%date [%3thread] %-5level %logger - %message%newline" />

</layout>

</appender>

<appender name="AppLogFile" type="log4net.Appender.RollingFileAppender">

<file value="${ProgramData}\Siemens\VideoApi\ProviderHost\ProviderHost.log" />

<appendToFile value="true" />

<maximumFileSize value="100MB" />

<maxSizeRollBackups value="3" />

<rollingStyle value="Size" />

<layout type="log4net.Layout.PatternLayout">

<conversionPattern value="%date [%3thread] %-5level %logger - %message%newline" />

</layout>

</appender>

<appender name="MipSdkApiLogFile" type="log4net.Appender.RollingFileAppender">

<file value="${ProgramData}\Siemens\VideoApi\ProviderHost\MipSdkApi.log" />

<appendToFile value="true" />

<maximumFileSize value="100MB" />

<maxSizeRollBackups value="3" />

<rollingStyle value="Size" />

<layout type="log4net.Layout.PatternLayout">

<conversionPattern value="%date [%3thread] %-5level - %message%newline" />

</layout>

</appender>

<appender name="VmsSdkApiLogFile" type="log4net.Appender.RollingFileAppender">

<file value="${ProgramData}\Siemens\VideoApi\ProviderHost\VmsSdkApi.log" />

<appendToFile value="true" />

<maximumFileSize value="100MB" />

<maxSizeRollBackups value="3" />

<rollingStyle value="Size" />

<layout type="log4net.Layout.PatternLayout">

<conversionPattern value="%date [%3thread] - %message%newline" />

</layout>

</appender>

<logger name="MipSdkApiLogger" additivity="false">

<level value="OFF" />

<appender-ref ref="MipSdkApiLogFile" />

</logger>

<logger name="VmsProviderApiLogger" additivity="false">

<level value="OFF" />

<appender-ref ref="VmsSdkApiLogFile" />

</logger>

<root>

<level value="INFO" />

<appender-ref ref="AppLogFile" />

</root>

<logger name="Siemens.VideoApi.ProviderHost">

<level value="INFO" />

</logger>

</log4net>

<appSettings>

</appSettings>

<runtime>

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

<dependentAssembly>

<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />

<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />

</dependentAssembly>

</assemblyBinding>

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

<dependentAssembly>

<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />

<bindingRedirect oldVersion="0.0.0.0-6.0.0.2" newVersion="6.0.0.2" />

</dependentAssembly>

</assemblyBinding>

</runtime>

</configuration>

 

Die Protokollierungsausgabe für den Provider-Host-Prozess befindet sich standardmäßig im Verzeichnis %ProgramData%\Siemens\VideoApi\ProviderHost\.