2016-09-12 221 views
2

我想用简单的Windows Forms程序转码视频。VLC命令行 - 转码

我用参数创建过程。

我的代码:

 string vlc = @"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe"; 
     string [email protected]"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

+0

你忘了补充你的问题,假设你有一个。 – stuartd

+0

啊,是的。问题是它不起作用(问题更新) –

+0

您是否尝试过VLC内部的参数链或通过命令行?此外,尝试使用详细模式-vvv启用日志记录,它会告诉你足够深入挖掘。您还应该能够通过界面查看日志。通常先尝试使用VLC工作,然后从那里开始工作...... –

回答

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