Vb6 帮助完成ffmpeg

Vb6 帮助完成ffmpeg,vb6,cmd,ffmpeg,execute,frame-rate,Vb6,Cmd,Ffmpeg,Execute,Frame Rate,现在,我可以从cmd窗口中执行的FFmpeg过程中读取最后一行。 此源代码使用脚本编写主机模型对象引用 Private Sub Command1_Click() Dim oExec As WshExec Dim sRow As String With New WshShell Set oExec = .Exec("ffmpeg.exe") End With Do While oExec.Status = WshR

现在,我可以从cmd窗口中执行的FFmpeg过程中读取最后一行。 此源代码使用脚本编写主机模型对象引用

Private Sub Command1_Click()
    Dim oExec       As WshExec
    Dim sRow        As String

    With New WshShell
        Set oExec = .Exec("ffmpeg.exe")
    End With
    Do While oExec.Status = WshRunning
        sRow = oExec.StdOut.ReadLine
    Loop
End Sub
这条线是这样的。这是cmd窗口(botom)中的最后一行


我缩短了一部分时间,在我的VB6.0应用程序中创建了一个进度条。但是在cmd进程中,有一个值13与这个值对应,称为总持续时间。但是我看不懂这一行,有人有代码或者有任何想法来读这一行,从ffmpeg的cmd窗口的最后一行开始,我已经用Java自己做了这一行。我认为问题在于状态更新行(如您上面引用的
time=
子字符串)以CR(回车)而不是LF(换行)终止。我的直觉告诉我ReadLine正在寻找一个完整的CRLF。因此,要做到这一点,您需要:

  • 了解CR、LF和CRLF之间的区别,以及它们各自是什么ASCII码
  • 逐个字符读入输出流,建立一个以CR结尾的行,然后对其进行解析以获得
    time=
    Durration=
    标记

如果您在代码中调试了print语句,并向我们展示了输出,那么这将对您和我们都有帮助

我读了全部,但一点也不懂。我想是的,但我没有。奇怪,这和编程有关,孩子们。把你的手指从“关闭”按钮上移开,然后实际阅读问题。是的,这很难……拉姆塞斯1974年的英语不太好,但这不是你懒惰的借口。
frame= 2816 fps=667 q=11.0 Lsize= 13036kB time=187.66 bitrate= 569.1kbits/s