почему cmd просто печатает команду и не работает? - PullRequest
0 голосов
/ 11 октября 2019

Я попытался создать веб-сайт, который мог бы загрузить mp4, тогда мой сервер перекодировал бы его в ts и создал список воспроизведения m3u8。 Я хотел использовать cmd для управления ffmpeg, чтобы сделать это ,, и я использую Visual Basic, чтобы сделать это.

Вот мой код:

  Dim fileName As String = "borderoflife"
  Dim file As String = "borderoflife.mp4"
  Dim appPath As String = "C:\allen0916\"
  Dim saveDir As String = "test2\"

  Dim savePath As String = appPath & saveDir
  Dim saveResult As String = savePath & file

  Dim Content_Type_A As String = "video/mp4"

  Dim m3u8Path As String = Path.Combine(savePath, fileName + ".m3u8")
  Dim para As String = String.Format("/C ffmpeg -i {0} -profile:v baseline -level 3.0 -s 640x360 -start_number 0 -hls_time 10 -hls_list_size 0 -f hls {1} ", saveResult, m3u8Path)

  Dim output As String = "none" 
  Dim p As Process = New Process()

  p.StartInfo.FileName = "cmd.exe"
  p.StartInfo.UseShellExecute = False 
  p.StartInfo.RedirectStandardInput = True 
  p.StartInfo.RedirectStandardOutput = True 
  p.StartInfo.RedirectStandardError = True 
  p.StartInfo.CreateNoWindow = True 
  p.Start()
  p.StandardInput.WriteLine(para) 
  p.StandardInput.WriteLine("exit")
  p.StandardInput.AutoFlush = True
  p.StandardInput.Close() 
  output = p.StandardOutput.ReadToEnd() 
  p.WaitForExit()
  p.Close()

 If System.IO.File.Exists(m3u8Path) <> True Then
      context.Response.Write(output)
  Else
      context.Response.Write("Success")
  End If  

, и каждый раз, когда вывод просто возвращает:

Microsoft Windows [version 10.0.17763.737]
(c) 2018 Microsoft Corporation. 

c:\windows\system32\inetsrv>/C ffmpeg -i C:\allen0916\test2\borderoflife.mp4 -profile:v baseline -level 3.0 -s 640x360 -start_number 0 -hls_time 10 -hls_list_size 0 -f hls C:\allen0916\test2\borderoflife.m3u8 

c:\windows\system32\inetsrv>exit

кажется, что cmd.exe просто печатает мою команду и не работает ose Доза кто-нибудь знает, почему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...