Files
Video-Processing-Scripts/Get-FramesCount.ps1
T
2026-05-19 14:55:09 -04:00

34 lines
919 B
PowerShell

<#
.SYNOPSIS
Gets the total frame count of a video file using ffprobe.
.PARAMETER Video
Path to the input video file. Can be absolute or relative to current directory.
.DESCRIPTION
Gets the total frame count of a video file using ffprobe.
#>
param(
[Parameter(Mandatory = $true)]
[string]$Video
)
Set-StrictMode -Version Latest
$ErrorActionPreference = 'Stop'
$VideoPath = $Video
if (-not (Test-Path $VideoPath)) {
Write-Error ('Video file not found: {0}' -f $VideoPath)
exit 1
}
$PSNativeCommandUseErrorActionPreference = $false
$totalFrames = & ffprobe -v error -select_streams v:0 -count_frames -show_entries stream=nb_read_frames -of csv=p=0 $VideoPath 2>&1 | Select-Object -First 1
if (-not $totalFrames -or $totalFrames -notmatch '^\d+$') {
Write-Error ('Could not determine frame count for: {0}' -f $VideoPath)
exit 1
}
Write-Host ('Total frames: {0}' -f $totalFrames)