gpt4 book ai didi

video - FFmpeg - 计算剩余转换时间

转载 作者:行者123 更新时间:2023-12-04 22:55:46 25 4
gpt4 key购买 nike

例如,我使用 ffmpeg 将剪辑 video.mp4 转换为 video.mp3。
有没有办法计算剩余的转换时间?

最佳答案

这是我从其他页面复制的工作逻辑,并将其修改为在匹配器尝试查找速度模式时不抛出异常,还删除了不必要的分配并进行了更动态的 toTimer 转换。当然,我已经测试了自己,所以一切都很好。

public String getRemainingTime(String message, long videoLengthInMillis) {
Pattern pattern = Pattern.compile("time=([\\d\\w:]{8}[\\w.][\\d]+)");
if (message.contains("speed")) {
Matcher matcher = pattern.matcher(message);
@SuppressWarnings("UnusedAssignment")
String tempTime = "";
if (matcher.find()) {
tempTime = String.valueOf(matcher.group(1));
String[] arrayTime = tempTime.split("[:|.]");
long time =
TimeUnit.HOURS.toMillis(Long.parseLong(arrayTime[0])) +
TimeUnit.MINUTES.toMillis(Long.parseLong(arrayTime[1])) +
TimeUnit.SECONDS.toMillis(Long.parseLong(arrayTime[2])) +
Math.round(Long.parseLong(arrayTime[3]));
String speed = message.substring(message.indexOf("speed=") + 1, message.indexOf("x")).split("=")[1];
long eta = Math.round((Math.round(videoLengthInMillis) - time) / Float.valueOf(speed));
String estimatedTime = toTimer(eta);
Log.d("getRemainingTime", "EstimateTime -> " + estimatedTime);
return estimatedTime;
}
}
return "";
}
private String toTimer(long millis) {
long hours = TimeUnit.MILLISECONDS.toHours(millis);
long minutes = TimeUnit.MILLISECONDS.toMinutes(millis) -
TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis));
long seconds = TimeUnit.MILLISECONDS.toSeconds(millis) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis));
if (hours!= 0 && hours>0)
return String.format(Locale.getDefault(), "%02d:%02d:%02d",hours,minutes,seconds);
else
return String.format(Locale.getDefault(), "%02d:%02d",minutes,seconds);
}

在 FFmpeg onProgress 中使用它打回来:
@Override
public void onProgress(String message) {
String remainingTime = getRemainingTime(message,yourVideoDurationInMilliseconds);
Log.d("onProgress", "Remaining Time: "+remainingTime);
}

关于video - FFmpeg - 计算剩余转换时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43657722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com