Help with the ffmpeg
I can read now the last line from the FFmpeg procees executed in a cmd window. with this source using Scripting host model object reference.
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
This line is like this. it's the last line in the cmd window (in the botom).
frame= 2816 fps=667 q=11.0 Lsize= 13036kB time=187.66 bitrate= 569.1kbits/s
I cut the part of Time to bulid a progress bar in my vb 6.0 app. But in the cmd process exist a value 13 lines up this value its called Total duration. But i cant read this line , somebody haves a code or any idea to read this line ubicated 13 lines up from开发者_JAVA技巧 the last line of the cmd window from ffmpeg...
I've done this myself in Java. I think the problem is that the status update lines (like you quote above with the time=
substring) is terminated with a CR (Carriage Return) and not a LF (Line Feed). My gut says that ReadLine is looking for a full CRLF. So, to do this, you will need to:
- understand the difference between CR, LF and CRLF, and what ASCII code each is
- read in the output stream character by character, building up a CR-terminated line, and then parse it for the
time=
andDurration=
tokens
It would help both you and us if you had debugging print statements in your code, and showed us the output.
精彩评论