C# 如何用VLC传输图像/文件?

C# 如何用VLC传输图像/文件?,c#,.net,streaming,vlc,libvlc,C#,.net,Streaming,Vlc,Libvlc,所以我知道libVLC.dll有很多包装器。但我只是不知道一个人准备做什么我需要 我需要的是简单的 在我的C#程序中,我创建了一些位图(每秒一到两次) 我现在想把位图作为视频流(以VLC可以提供给我的某种格式)实时传输到一些http:localhost:port/使用VLC 如何做到这一点?您可以使用VLC站点提供的NativeLibVlc.cs文件 要流式传输位图文件,请使用以下代码 vlc.AddTarget("fake://", new string[] {":no-overla

所以我知道libVLC.dll有很多包装器。但我只是不知道一个人准备做什么我需要

我需要的是简单的

  • 在我的C#程序中,我创建了一些位图(每秒一到两次)
  • 我现在想把位图作为视频流(以VLC可以提供给我的某种格式)实时传输到一些http:localhost:port/使用VLC

如何做到这一点?

您可以使用VLC站点提供的NativeLibVlc.cs文件

要流式传输位图文件,请使用以下代码

   vlc.AddTarget("fake://", new string[] {":no-overlay", ":input-repeat=-1", 
                        ":vout-filter=adjust", ":fake-file=" + fileName.Trim(), ":fake-fps=1",
                        ":brightness="+50, ":fake-caching=100"} , ref playListId);

 vlc.Play(playListId);
cd "C:\program files\videolan\vlc"
vlc.exe -vvv --dshow-vdev="Logitech QuickCam Express / Go" dshow:// --sout #transcode{vcodec=mp4v,vb=1024,scale=1}:duplicate{dst=std{access=udp,mux=ts,dst=localhost:1234}}
cd "C:\program files\videolan\vlc" 
vlc.exe -vvv C:\filename.wmv --repeat --sout=#transcode{vcodec=mp4v,vb=1024,scale=1}:duplicate{dst=std{access=udp,mux=ts,dst=localhost:1234}}
cd "C:\program files\videolan\vlc" 
vlc -I dummy fake:// --fake-file c:\1.jpg -vvv --sout #transcode{vcodec=mp4v,vb=1024,scale=1}:duplicate{dst=std{access=udp,mux=ts,dst=localhost:1234}}
要通过端口1234上的UPD传输网络摄像头,请使用以下代码

   vlc.AddTarget("fake://", new string[] {":no-overlay", ":input-repeat=-1", 
                        ":vout-filter=adjust", ":fake-file=" + fileName.Trim(), ":fake-fps=1",
                        ":brightness="+50, ":fake-caching=100"} , ref playListId);

 vlc.Play(playListId);
cd "C:\program files\videolan\vlc"
vlc.exe -vvv --dshow-vdev="Logitech QuickCam Express / Go" dshow:// --sout #transcode{vcodec=mp4v,vb=1024,scale=1}:duplicate{dst=std{access=udp,mux=ts,dst=localhost:1234}}
cd "C:\program files\videolan\vlc" 
vlc.exe -vvv C:\filename.wmv --repeat --sout=#transcode{vcodec=mp4v,vb=1024,scale=1}:duplicate{dst=std{access=udp,mux=ts,dst=localhost:1234}}
cd "C:\program files\videolan\vlc" 
vlc -I dummy fake:// --fake-file c:\1.jpg -vvv --sout #transcode{vcodec=mp4v,vb=1024,scale=1}:duplicate{dst=std{access=udp,mux=ts,dst=localhost:1234}}
要在端口1234上传输视频,请使用以下代码

   vlc.AddTarget("fake://", new string[] {":no-overlay", ":input-repeat=-1", 
                        ":vout-filter=adjust", ":fake-file=" + fileName.Trim(), ":fake-fps=1",
                        ":brightness="+50, ":fake-caching=100"} , ref playListId);

 vlc.Play(playListId);
cd "C:\program files\videolan\vlc"
vlc.exe -vvv --dshow-vdev="Logitech QuickCam Express / Go" dshow:// --sout #transcode{vcodec=mp4v,vb=1024,scale=1}:duplicate{dst=std{access=udp,mux=ts,dst=localhost:1234}}
cd "C:\program files\videolan\vlc" 
vlc.exe -vvv C:\filename.wmv --repeat --sout=#transcode{vcodec=mp4v,vb=1024,scale=1}:duplicate{dst=std{access=udp,mux=ts,dst=localhost:1234}}
cd "C:\program files\videolan\vlc" 
vlc -I dummy fake:// --fake-file c:\1.jpg -vvv --sout #transcode{vcodec=mp4v,vb=1024,scale=1}:duplicate{dst=std{access=udp,mux=ts,dst=localhost:1234}}
要在本地主机端口1234上传输映像,请使用以下代码

   vlc.AddTarget("fake://", new string[] {":no-overlay", ":input-repeat=-1", 
                        ":vout-filter=adjust", ":fake-file=" + fileName.Trim(), ":fake-fps=1",
                        ":brightness="+50, ":fake-caching=100"} , ref playListId);

 vlc.Play(playListId);
cd "C:\program files\videolan\vlc"
vlc.exe -vvv --dshow-vdev="Logitech QuickCam Express / Go" dshow:// --sout #transcode{vcodec=mp4v,vb=1024,scale=1}:duplicate{dst=std{access=udp,mux=ts,dst=localhost:1234}}
cd "C:\program files\videolan\vlc" 
vlc.exe -vvv C:\filename.wmv --repeat --sout=#transcode{vcodec=mp4v,vb=1024,scale=1}:duplicate{dst=std{access=udp,mux=ts,dst=localhost:1234}}
cd "C:\program files\videolan\vlc" 
vlc -I dummy fake:// --fake-file c:\1.jpg -vvv --sout #transcode{vcodec=mp4v,vb=1024,scale=1}:duplicate{dst=std{access=udp,mux=ts,dst=localhost:1234}}

您需要使用以下代码来流式处理图像

cd“C:\program files\videolan\vlc” vlc-I伪伪伪://--伪文件c:\1.jpg-vvv--sout#transcode{vcodec=mp4v,vb=1024,scale=1}:重复{dst=std{access=udp,mux=ts,dst=localhost:1234}
顺便说一句,你不需要在标题中添加“(C#.Net)”,因为你已经在标签中找到了它。新字符串[]这里是r、g、b字符串或什么?它的参数(选项)给VLC播放器播放图像。fake://指定将播放图像而不是视频/音频文件。例如,我是否能够使用VLC将此图像流作为视频进行vach?如果是-如何?使用普通VLC播放器播放此流时,我应该转到哪个url?@Ole:有关图像流,您需要查看VLC论坛。VLC专家肯定会在这方面帮助你。所以。。。我应该把我的RGB值放在哪里?或者我总是在播放前将数据保存到文件中?在我的Q中,我问了一些关于本地端口的直播,你能在回答中添加关于这个的示例代码吗?你好!我在我的Windows 10 PC和VLC 3.0.3上尝试了你的例子,我有一个错误。。。此版本的VLC中不支持虚拟或伪?