2016-09-12 3 views
2

Я хотел перекодировать видео с помощью простой программы Windows Forms.Командная строка VLC - Transcode

Я создаю процесс с аргументами.

Мой код:

 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

вы пробовали цепочку параметров sout в VLC или через командную строку? Кроме того, попробуйте включить ведение журнала с помощью подробного режима -vvv, он скажет вам достаточно, чтобы копать глубже. Вы также должны иметь возможность просматривать журнал через интерфейс. Обычно старайтесь сначала работать с VLC, а затем работать оттуда ... –

ответ

0

Я недавно спросил Similar Question,

Если вы хотите, чтобы увидеть сформированный поток вывода String, Используйте Open Network поток и изменить вкладку Файл.

Вместо нажатия кнопки «Воспроизвести» разверните раскрывающийся список, чтобы выбрать «Стрим».

Следуйте указаниям мастера, чтобы настроить пункт назначения. Параметры файла и перекодирования.

Перед потоковом вы получите строку, которую можно использовать ....

Например:

: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 
Смежные вопросы