c# - 如何从 C# 运行 VLC 命令
问题描述
我想知道是否有办法使用 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"}'
我在这里找到了这个例子)。
据我所知,可以像这样在 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
您可以通过构造函数或作为选项将 CLI 参数提供给 LibVLC Media
。例子:
new LibVLC("--verbose=2");
推荐阅读
- javascript - 从 VueJS 中的自定义按钮组件发出两种不同的方法
- dart - 弹出设置页面时加载 sharedpreference 值
- python-3.x - 如何解析csv文件忽略文本中的逗号?
- python - python 3.0 中的字典
- php - 我可以将像 2020-11-19 14:50:18+09 这样的日期时间转换为日期时间而不在 php 中偏移吗?
- asp.net-mvc - Azure AD B2C - 将自定义流与内置用户流相结合
- azure - Spacy 无法加载模型:Azure 数据块中的 en_core_web_md
- c# - 是否存在没有默认值的可选参数,除非通过/指定/使用,否则“不存在”?
- c# - 如何从类中获取特定类型的所有可枚举属性
- javascript - 添加非额外 Reducer 时 Redux Toolkit Slice Reducer 不工作