我在网上搜索了一个好的.net VLC包装器,我发现这个优秀的nVLC它包含了VLC所具有的许多功能的接口,我读了如何流式传输文件或来自 directshow 的流,但我仍然有一个问题,即正在读取文件但没有数据正在流式传输? 它可以从这里下载NuGet 我的代码:
var input="C:\\1.mp4";
var argument="sout=#rtp{dst=127.0.0.1,port=5004,ttl=40}:sout-all:sout-keep";
var factory = new MediaPlayerFactory();
IMedia media = factory.CreateMedia<IMediaFromFile>(input, argument); //tried IMedia and got the same results
IVideoPlayer player = factory.CreatePlayer<IVideoPlayer>(); // tried IPlayer and got the same results
media.Parse(false);
player.Open(media);
player.Play();
VLC打开媒体文件,我可以在这里看到视频但是在尝试使用VLC捕获流时,我什么都没得到。
任何帮助表示赞赏。
答案 0 :(得分:1)
我有类似的问题试图让nvlc转码视频流。一旦我将参数拆分为单独的字符串,我才能使它工作。
尝试
var argument= new Object[] { "sout=#rtp{dst=127.0.0.1,port=5004,ttl=40}"
,":sout-all"
,":sout-keep" };
答案 1 :(得分:0)
IMediaPlayerFactory factory = new MediaPlayerFactory();
IMedia media = factory.CreateMedia<IMedia>(@"udp://@127.0.0.1:5004");
IVideoPlayer player = factory.CreatePlayer<IVideoPlayer>();
player.WindowHandle = panel1.Handle;
player.Open(media);
player.Play();