DIY kamera streaming tutorial för den påsklov: hur stream bilden av din övervakningskamera till avlägsna platser (C#-källkod) (3 / 5 steg)
Steg 3: Genomförandet av Fjärrkamera streaming i C# - MyServer.cs
Klassen MyServer.cs är ansvarig för streaming-tjänster. Låt oss analysera denna klass!
Efter att infoga den nödvändiga med linjer, finns det ett behov för vissa objekt (MediaConnector, IPCameraClient, VideoSender) och en event handler metod. Efter initieringen MediaConnector i konstruktören, måste du koden metoden ClientsChanged som indikerar när en ny klient ansluter till eller kopplas bort från servern. Som det kan ses nedan, har OnClientConnected och de OnClientDisconnected metoderna varit overwrited. (Den första som används för att ansluta klienten till bilden av kameran och att anropa metoden ClientsChanged. Metoden OnClientDisconnected är ansvarig för koppla klienten från bilden av kameran.)
Efter detta behöver du ett VideoSender objekt som ska innehålla bilden av kameran. Du behöver också en instans från klassen minserver, sedan initiera den i konstruktören. Den VideoSender instansen måste vara lika med bilden av webcamera och med VideoChannel av IP-kameran.
< p > med hjälp av System; < br > med System.Collections.Generic;
använder System.Linq;
använder System.Text;
använder System.Threading.Tasks;
använder Ozeki.Media.IPCamera;
använder Ozeki.Media.IPCamera.Server;
använder Ozeki.Media.MediaHandlers; < /p >< p > namnområdet Basic_CameraViewer
{
allmän klass MyServer: IPCameraServer
{
privat MediaConnector _connector; < /p >< p > privat IIPCameraClient _client; < /p >< p > offentliga IVideoSender VideoSender {får, ställa in;} < /p >< p > Offentlig tillställning EventHandler OnClientCountChanged; < /p >< p > offentliga MyServer()
{
_connector = ny MediaConnector();
} < /p >< p > skyddade omställning void OnClientConnected (IIPCameraClient klient)
{
_client = klient;
_connector. Anslut (VideoSender, _client. VideoChannel); < /p >< p > var handler = OnClientCountChanged;
om (handler! = null)
handler (null, nya EventArgs()), < /p >< p > bas. OnClientConnected(_client);
} < /p >< p > skyddade omställning void OnClientDisconnected (IIPCameraClient klient)
{
_client = klienten; < /p >< p > _connector. Koppla bort (VideoSender, _client. VideoChannel);
_connector. Dispose(); < /p >< p > var handler = OnClientCountChanged;
om (handler! = null)
handler (null, nya EventArgs()), < /p >< p > bas. OnClientDisconnected(_client);
}
}
} < /p >