搞一个xiwo的无线展台功能,摄像头带有一个WiFi,电脑连接该WiFi后,可以在浏览器输入http://192.168.15.1:8080/?action=stream,实时获取摄像头画面;
刚开始不懂这个东西,然后先搜索http://192.168.15.1:8080,跳转了一个相关的界面,才发现,原来这是一个叫做Mjpeg流的东西,先后尝试了http,HttpWebRequest拉流,都无画面,于是尝试是否有相关的库,发现wpf这么一个好用的库,直接替换地址,尝试拉流
public partial class MainWindow : Window
{
private readonly MjpegDecoder mjpegDecoder;
private readonly string videoUrl = "http://192.168.15.1:8080/?action=stream";
public MainWindow()
{
InitializeComponent();
// 初始化MjpegDecoder
mjpegDecoder = new MjpegDecoder();
mjpegDecoder.FrameReady += MjpegDecoder_FrameReady;
// 开始解码MJPEG流
mjpegDecoder.ParseStream(new Uri(videoUrl));
}
private void MjpegDecoder_FrameReady(object sender, FrameReadyEventArgs e)
{
// 在UI线程上更新图像
Dispatcher.Invoke(() =>
{
image.Source = e.BitmapImage;
});
}
protected override void OnClosed(EventArgs e)
{
base.OnClosed(e);
// 关闭MjpegDecoder,释放资源
mjpegDecoder.StopStream();
}