VLC 命令行 - 转码

VLC command line - Transcode

我想使用简单的 Windows 表单程序对视频进行转码。

我正在创建带有参数的进程。

我的代码:

        string vlc = @"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe";
        string dest=@"C:\Users\pc\Desktop\test.mp4";

        ProcessStartInfo p = new ProcessStartInfo
        {
            FileName = vlc,
            Arguments = @"% vlc C:/video.mpg :sout=#transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100}:std{access=file{no-overwrite},mux=mp4,dst="+dest+"}"
        };
        Process x = Process.Start(p);
        x.WaitForExit();

问题是它不工作。该程序启动 VLC,但没有发生任何事情或从 VLC

收到错误

我最近问了一个,

如果您想查看生成的流输出字符串, 使用“打开网络流”并将选项卡更改为“文件”。

不要单击“播放”,而是展开下拉列表以选择“流”。

按照向导说明设置目标文件和转码选项。

在流式传输之前,您将获得可以使用的字符串....

例如:

:sout=#transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100}:file{dst=C:\Users\Public\Videos\Sample Videos\test.mp4,no-overwrite} :sout-keep