using System;
using RtspClientSharp; // 需要安装 NuGet 包 RtspClientSharp
class Program
{
static async System.Threading.Tasks.Task Main(string[] args)
{
var uri = new Uri("rtsp://your_rtsp_stream_url_here");
using (var client = new RtspClient())
{
try
{
Console.WriteLine("Connecting to RTSP server...");
await client.ConnectAsync(uri);
Console.WriteLine("Connected. Starting playback...");
await client.StartPlayingAsync();
// 订阅视频帧事件
client.FrameReceived += (sender, e) =>
{
// 处理接收到的视频帧
Console.WriteLine($"Received frame at {DateTime.Now}");
};
// 保持程序运行一段时间以接收帧
await System.Threading.Tasks.Task.Delay(10000);
Console.WriteLine("Stopping playback...");
await client.StopPlayingAsync();
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
finally
{
Console.WriteLine("Disconnecting from RTSP server...");
await client.DisconnectAsync();
}
}
}
}
RtspClientSharp
库来处理 RTSP 流。RtspClient
类创建一个 RTSP 客户端实例。ConnectAsync
方法连接到指定的 RTSP URL。StartPlayingAsync
方法开始接收视频帧。FrameReceived
事件,在每次接收到视频帧时执行回调函数。Task.Delay
保持程序运行一段时间,以便接收并处理视频帧。StopPlayingAsync
和 DisconnectAsync
方法停止播放并断开与 RTSP 服务器的连接。上一篇:c# 委托和事件
下一篇:c# if else
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站