Add -Reverse parameter to reencode video backward while keeping audio forward, and add 1284x716 to 1280x720 crop support in Crop-ClipsWan
This commit is contained in:
+14
-3
@@ -6,7 +6,7 @@
|
||||
.PARAMETER Target
|
||||
Target directory for cropped video files.
|
||||
.DESCRIPTION
|
||||
Crops video clips from 1928x1076 or 1926x1076 to 1920x1080 using ffmpeg.
|
||||
Crops video clips from 1928x1076 or 1926x1076 to 1920x1080, or from 1284x716 to 1280x720 using ffmpeg.
|
||||
Supports -WhatIf and -Confirm for safe execution.
|
||||
#>
|
||||
[CmdletBinding(SupportsShouldProcess)]
|
||||
@@ -113,7 +113,8 @@ foreach ($video in $videos) {
|
||||
$inAudioText = if ($inInfo.HasAudio) { 'yes' } else { 'no' }
|
||||
|
||||
$isValidResolution = ($inInfo.Width -eq 1928 -and $inInfo.Height -eq 1076) -or
|
||||
($inInfo.Width -eq 1926 -and $inInfo.Height -eq 1076)
|
||||
($inInfo.Width -eq 1926 -and $inInfo.Height -eq 1076) -or
|
||||
($inInfo.Width -eq 1284 -and $inInfo.Height -eq 716)
|
||||
|
||||
if (-not $isValidResolution) {
|
||||
Write-Host "Skipping: $($inInfo.FileName) (resolution $inRes)"
|
||||
@@ -132,10 +133,20 @@ foreach ($video in $videos) {
|
||||
$outCropPath = Join-Path $targetFull ($video.BaseName + '.crop.mp4')
|
||||
$outFinalPath = Join-Path $targetFull $video.Name
|
||||
|
||||
# Determine crop parameters based on input resolution
|
||||
if ($inInfo.Width -eq 1284 -and $inInfo.Height -eq 716) {
|
||||
# 1284x716: expand to 720 height, then crop to 1280x720
|
||||
$videoFilter = 'scale=-2:720,crop=1280:720:(in_w-1280)/2:(in_h-720)/2'
|
||||
}
|
||||
else {
|
||||
# 1928x1076 or 1926x1076: expand to 1080 height, then crop to 1920x1080
|
||||
$videoFilter = 'scale=-2:1080,crop=1920:1080:(in_w-1920)/2:(in_h-1080)/2'
|
||||
}
|
||||
|
||||
$ffArgs = @(
|
||||
'-y',
|
||||
'-i', $inputPath,
|
||||
'-vf', 'scale=-2:1080,crop=1920:1080:(in_w-1920)/2:(in_h-1080)/2'
|
||||
'-vf', $videoFilter
|
||||
)
|
||||
|
||||
if ($inInfo.HasAudio) {
|
||||
|
||||
Reference in New Issue
Block a user