当前位置: 首页 > article >正文

使用 PowerShell 脚本 + FFmpeg 在 Windows 系统中批量计算 MP4视频 文件的总时长

步骤 1:安装 FFmpeg

访问 FFmpeg 官网(Download FFmpeg),下载 Windows 版编译包(如 ffmpeg-release-full.7z)。或者到(https://download.csdn.net/download/zjx2388/90539014)下载完整资料

解压文件,将 ffmpeg.exe 和 ffprobe.exe 所在的 bin 目录路径(例如 C:\ffmpeg\bin)添加到系统环境变量中。

打开命令提示符,输入 ffprobe -version 验证是否安装成功。

步骤 2:编写 PowerShell 脚本

保存以下代码为 Get-TotalVideoDuration.ps1(右键新建文本文件,粘贴后修改后缀为 .ps1):

# 指定视频文件夹路径(例如:C:\Videos)

$videoFolder = "C:\Your\Video\Folder"

$totalSeconds = 0

# 获取所有 MP4 文件

$videoFiles = Get-ChildItem -Path $videoFolder -Filter *.mp4 -Recurse

foreach ($file in $videoFiles) {

    # 使用 ffprobe 获取时长(单位:秒)

    $duration = ffprobe -v error -show_entries format=duration -of csv=p=0 $file.FullName

    

    # 累加总时长

    $totalSeconds += [float]$duration

    

    # 输出单文件时长(可选)

    $timeSpan = [TimeSpan]::FromSeconds($duration)

    Write-Host "[File] $($file.Name): $($timeSpan.ToString('hh\:mm\:ss'))"

}

# 计算总时长并格式化

$totalTime = [TimeSpan]::FromSeconds($totalSeconds)

Write-Host "`n--------------------------------"

Write-Host "Total Duration: $($totalTime.ToString('hh\:mm\:ss'))"

步骤 3:运行脚本

右键 Get-TotalVideoDuration.ps1,选择 使用 PowerShell 运行。

若提示“脚本执行被禁止”,需先以管理员身份运行 PowerShell 并执行:

Set-ExecutionPolicy RemoteSigned


http://www.kler.cn/a/612388.html

相关文章:

  • python生成一个16k的音频正弦波数据
  • vue3中,route4,获取当前页面路由的问题
  • 力扣HOT100之普通数组:238. 除自身以外数组的乘积
  • 【问题解决】Postman 请求报错 500 之 Request processing failed
  • Vue 中为什么data属性是一个函数而不是一个对象?
  • 深入解析 MyBatis-Plus 批量操作:原理、实现与性能优化
  • vue 3 深度指南:从基础到全栈开发实践
  • cocos creator 笔记-路边花草
  • 【nvm】nvm所有命令
  • 春日焕新居:约克VRF中央空调,科技赋能,带你开启健康呼吸新时代
  • 接口测试中数据库验证,怎么解决?
  • 练习:猜数字小游戏
  • 【活动回顾】StarRocks Singapore Meetup #2 @Shopee
  • 解释 let 和 const 的作用域及用法。
  • Snowflake 算法的实现
  • docker创建registry镜像仓库2.8版本
  • 基于springboot人脸识别的社区流调系统(源码+lw+部署文档+讲解),源码可白嫖!
  • Spring中拦截器(Interceptor)与过滤器(Filter)的区别
  • AndroidStudio无法识别连接夜神模拟器
  • JVM动态代理和JDK动态代理介绍