我如何 运行 来自 c# 的 VLC 命令

How can I run VLC command from c#

我想知道是否有一种方法可以使用 VlcSharp 从 C# 程序中使用 vlc 参数(对于 vlc 库,任何其他 API 也可以接受)。 我需要更改视频的编解码器,这就是为什么我必须这样做:--no-repeat --no-loop -vv "D:8497.flv"--sout='#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:standard{access=file,mux=ts,dst="D:\asd.mpg"}'(我找到了这个示例 here)。
据我所知,可以像这样在 LibVLCSharp.Shared.Media 构造函数中添加参数:

            libVLC = new LibVLC();
            mediaPlayer = new MediaPlayer(libVLC);
            using (var media = new LibVLCSharp.Shared.Media(libVLC, new Uri(CameraViewModel.RtspAddress),
                ":sout=#file{dst=" + destination + "}",
                ":sout-keep"))
            {
                this.mediaPlayer.Play(media);
            }

但是当我从上面的提示中添加 argumetns 时没有任何反应(至少没有创建目标文件,它必须是转码的输出),所以我正在寻找一种方法来 运行 来自 c# 应用程序的 vlc 命令。

是的,这是可能的。您可以通过 LibVLC 构造函数或作为 Media 选项为 LibVLC 提供 CLI 参数。示例:

new LibVLC("--verbose=2"); 

在此处查看文档 https://code.videolan.org/videolan/LibVLCSharp/-/blob/3.x/docs/how_do_I_do_X.md#how-do-i-use-libvlcs-advanced-options