VLC命令行 - 转码

时间:2016-09-12 15:42:32

标签: c# process vlc transcoding 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获得错误

1 个答案:

答案 0 :(得分:0)

我最近问过Similar Question

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

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

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

在播放之前,您将获得可以使用的字符串....

例如:

: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