问题描述
我想知道是否有办法使用 VlcSharp 使用 C# 程序中的 vlc 参数(也可以接受任何其他用于 vlc 库的 API)。
我需要更改视频的编解码器,这就是为什么我必须执行以下操作:--no-repeat --no-loop -vv "D:\688497.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 时什么也没有发生(至少没有创建目标文件,它必须是转码的输出),所以我正在寻找一种运行 vlc 命令的方法来自 c# 应用程序。
解决方法
是的,这是可能的。您可以通过 LibVLC
构造函数或作为 Media
选项为 LibVLC 提供 CLI 参数。示例:
new LibVLC("--verbose=2");