我需要将网络摄像头流式传输到 IP 地址。经过几天的谷歌搜索,我决定最简单的方法是嵌入 Vlc。也就是说,我仍然对其他解决方案持开放态度。
第 1 步 - 好的!:我可以使用该代码以表格形式查看我的网络摄像头:
vlcPlayer.MediaPlayer.VlcLibDirectory = new DirectoryInfo(@"c:\Program Files (x86)\VideoLAN\VLC\");
vlcPlayer.MediaPlayer.EndInit();
vlcPlayer.MediaPlayer.Play(new Uri(@"dshow://");
第 2 步 - 好的!:现在尝试向前迈出一步,使用本教程,我可以使用 2 个 Vlc 实例在本地 127.0.0.1:5004 发送视频:一个用于传输,一个用于接收。
第 3 步 - 不行:配置 vlc 以将源从文件更改为网络摄像头并通过 ip 传输似乎很简单。所以我所做的就是像以前一样操作,只更改源: 1. 菜单“媒体”--> 流。这将打开“打开媒体”窗口。
在这里,我单击选项卡捕获设备->视频设备名称->我选择“集成网络摄像头”
然后其余的都和以前一样。但什么也没有发生。接收器是黑色的,里面什么都没有。此外,如果我尝试保存来自接收器的流,我只会得到几个字节。发射器的上述设置如下:
捕获设备选项卡 --> 集成网络摄像头。然后流按钮 --> 窗口正确打开 dshow:\ --> 下一个 --> 新目标 RTP,MPEG 传输流 ---> 添加按钮 --> 地址 = 127.0.0.1 端口 = 5004 StreamNAme=test
所以奇怪的是,当我从发射器流式传输具有任何名称的文件时,它会立即被接收器识别。相反,我可能会尝试,当网络摄像头是源时没有任何反应。
话虽如此,上述问题对解决方案并不重要。我关心的不是如何单独使用 vlc,而是如何从我的 wpf 应用程序中使用它来发送网络摄像头流。
谢谢你的帮助
帕特里克