(我的英语很奇怪,我来自洛杉矶)我正试图用VB6.0完成一个转换编码过程,我正在使用ffmpeg,它是一个非常好的代码转换程序,为了完成我想要的转换编码过程的进度条,但这是非常困难的,首先我需要理解,如果我有输入,一个程序如何计算到进程的剩余时间
我正在尝试:文件大小(KB) /平均比特率Kb/s。
从理论上讲,这必须有效,但计算的时间比实时处理的时间要小得多。有人对此有任何了解,什么是计算转换过程中剩余时间的公式(剪短)。在这个奇妙的网络中,我找到了许多关于我的项目的答案。
发布于 2010-01-18 21:10:35
比特率不会帮助你计算进度。
如果文件长度以秒为单位,而帧速率和ffmpeg输出其当前处理的帧,则可以计算出大约时间。
发布于 2010-01-18 21:12:43
“剩余时间”的一般解决办法是:
表示要处理的单位的大小、数量等的数字(
是:
seconds_elapsed = current time - start time
seconds_per_unit = seconds_elapsed / units_processed
units_left = total_units - units_processed
seconds_remaining = unit_left / seconds_per_unit当处理每个单元的时间几乎相同时,或者至少当时间/单位与经过的时间几乎没有相关性时,该算法做得最好。如果时间/单位随着时间的推移而变化,它就会在冰上发臭。
https://stackoverflow.com/questions/2089170
复制相似问题