从FFMPEG中的转码过程看VB6.0中的进度条

从FFMPEG中的转码过程看VB6.0中的进度条,vb6,ffmpeg,progress-bar,transcoding,Vb6,Ffmpeg,Progress Bar,Transcoding,首先,请原谅我的英语太奇怪了。对不起 我有一个大问题,我需要在VB6.0中完成我的应用程序以便在高中进行测试,但我找不到解决方案,我的应用程序打开一个FFmpeg.EXE文件,打开一个cmd窗口提示符并启动一个trascoding进程,我需要将生成的最后一行链接到cmd窗口(或上下)的提示符中,这一行中存在值有什么变化,在这个传输过程中,结果是比特率,它随其他变量而波动。 我的想法是,我可以实时阅读这一行,以创建一个进度条(文件大小/比特率平均值)=处理时间 你能帮我吗。感谢您的回答……将输出发

首先,请原谅我的英语太奇怪了。对不起

我有一个大问题,我需要在VB6.0中完成我的应用程序以便在高中进行测试,但我找不到解决方案,我的应用程序打开一个FFmpeg.EXE文件,打开一个cmd窗口提示符并启动一个trascoding进程,我需要将生成的最后一行链接到cmd窗口(或上下)的提示符中,这一行中存在值有什么变化,在这个传输过程中,结果是比特率,它随其他变量而波动。 我的想法是,我可以实时阅读这一行,以创建一个进度条(文件大小/比特率平均值)=处理时间


你能帮我吗。感谢您的回答……

将输出发送到文本文件,然后读取此文本文件。 应该是这样的:

ping >e:\test.txt
其中ping是FFmpge.EXE,e:\test.txt是输出文本文件,请引用Windows脚本主机对象模型,然后尝试此代码段

Option Explicit

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

    With New WshShell
        Set oExec = .Exec("tasklist.exe")
    End With
    Do While oExec.Status = WshRunning
        sRow = oExec.StdOut.ReadLine
        If InStr(1, sRow, "vb6.exe", vbTextCompare) > 0 Then
            MsgBox sRow, vbExclamation
        End If
    Loop
End Sub
基本上可以尝试执行FFmpeg.EXE和ReadLine,直到找到一些关键文本。

rdkleine

我读了你的答案,这是一个伟大的工作非常好,只是它在日志中显示了一个死亡值“文本”,我需要转换的波动比特率的值,它在cmd窗口的提示下实时变化。我正在尝试wqw的源代码,我正在那里工作


谢谢你的回答。

你有没有可以分享的源代码?这将真正帮助我们理解你的问题。