【问题标题】:VlcControl not streaming properlyVlcControl 未正确流式传输
【发布时间】:2025-12-17 08:05:02
【问题描述】:

我正在使用VlcDotNet 流式传输视频,最近遇到了一个奇怪的问题。当我使用 VLC 播放器从我的网络摄像头流式传输视频时,我可以完美地观看它。但是当我尝试使用 VlcControl 流式传输它时,我收到 VLC 无法连接到源的错误。我在 VLC 和 VlcControl 中使用相同的选项:

:sout=#transcode{vcodec=h264,vb=0,scale=0,acodec=mpga,ab=128,channels=2,samplerate=44100}:http{mux=ffmpeg{mux=flv},dst =:10177/} :sout-keep

也许我遗漏了什么,请看我的代码:

if (Environment.Is64BitOperatingSystem)
{
    VlcContext.LibVlcDllsPath = CommonStrings.LIBVLC_DLLS_PATH_DEFAULT_VALUE_AMD64;
    VlcContext.LibVlcPluginsPath = CommonStrings.PLUGINS_PATH_DEFAULT_VALUE_AMD64;
}
else
{
    VlcContext.LibVlcDllsPath = CommonStrings.LIBVLC_DLLS_PATH_DEFAULT_VALUE_X86;
    VlcContext.LibVlcPluginsPath = CommonStrings.PLUGINS_PATH_DEFAULT_VALUE_X86;
}

//Set the startup options
VlcContext.StartupOptions.IgnoreConfig = true;
VlcContext.StartupOptions.LogOptions.LogInFile = true;
VlcContext.StartupOptions.LogOptions.ShowLoggerConsole = false;
VlcContext.StartupOptions.LogOptions.Verbosity = VlcLogVerbosities.None;

VlcContext.CloseAll();
VlcContext.Initialize();

VlcControl player = new VlcControl();
var media = new LocationMedia("dshow://");

media.AddOption(":sout=#transcode{vcodec=h264,vb=0,scale=0,acodec=mpga,ab=128,channels=2,samplerate=44100}:http{mux=ffmpeg{mux=flv},dst=:10177/} :sout-keep");
player.Media = media;
player.Play();

Console.WriteLine("Translation started...");
Console.ReadLine();

【问题讨论】:

    标签: c# .net streaming vlc


    【解决方案1】:

    我认为 Vlc 无法连接到您的网络摄像头,因为您没有将摄像头的名称传递给它 我试过了,我得到了

     :dshow-vdev=USB2.0 Camera :dshow-adev=  :live-caching=300
    

    尝试作为另一个选项,但请确保更改相机名称
    PS。您可以在打开 Open Capture device 时找到此选项 --> 勾选 Show More Options
    我想这会解决你的问题:)

    【讨论】: