RTSP流的读取
上篇文章做到读取本地摄像头,基本事都做完了,这篇文章将RTSP流加进去
双击窗体中ToolStrip的RTSP,为之添加事件,事件中编写代码如下
/// <summary>
/// 播放RTSP视频流事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tSBTPlayRTSP_Click(object sender, EventArgs e)
{
try
{
string RTSPStreamText = tSTBRTSPStream.Text.Trim();
capture = new Capture(RTSPStreamText);
capture.ImageGrabbed += Capture_ImageGrabbed;
}
catch (Exception)
{
}
}
然后运行即可,效果图如下
![RTSP效果图](https://img-blog.csdnimg.cn/20190107131359752.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1NtaXRoWWFu,size_16,color_FFFFFF,t_70)
备注一点,摄像头是正对着墙的,没有画面很正常,确实是成功了
值得一提的是RTSP流的字符串格式
rtsp://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/av_stream
说明:
username: 用户名。例如admin。
password: 密码。例如12345。
ip: 为设备IP。例如 192.0.0.64。
port: 端口号默认为554,若为默认可不填写。
codec:有h264、MPEG-4、mpeg4这几种。
channel: 通道号,起始为1。例如通道1,则为ch1。
subtype: 码流类型,主码流为main,辅码流为sub。
---------------------
作者:xiejiashu
来源:CSDN
原文:https://blog.csdn.net/xiejiashu/article/details/38523437
版权声明:本文为博主原创文章,转载请附上博文链接!
另外,在我多次尝试下,用NuGet中的EmguCV比添加Emgucv的dll文件读到的视频流更加清晰稳定
若对之前的添加NuGet包及读取本地摄像头有疑问,欢迎大家观看指正
C#使用NuGet包播放视频之一————读取播放本地摄像头