diff --git a/README.md b/README.md index b85beba..a61a6db 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,9 @@ A collection of PowerShell scripts for video processing tasks using ffmpeg and f ## Prerequisites - **PowerShell 7+** (pwsh.exe) -- **ffmpeg** - Must be in system PATH -- **ffprobe** - Must be in system PATH +- **Platform**: tested on Windows 11 only. Linux and WSL are not tested and not supported. +- **ffmpeg** - Must be in system PATH. Not needed by Get-FramesCount.ps1, Get-VideoInfo.ps1 and Create-FullSubtitle.ps1. +- **ffprobe** - Must be in system PATH. Not needed by Stitch-InBetween.ps1. - **rife-ncnn-vulkan** - Must be in system PATH and also defined the environment variable **RIFE_HOME** to the same directory - **upscayl-bin** - Must be in system PATH and also defined the environment variable **UPSCAYL_HOME** to the same directory diff --git a/skill/Clone-Image.md b/skill/Clone-Image.md index bac2663..cb60f74 100644 --- a/skill/Clone-Image.md +++ b/skill/Clone-Image.md @@ -197,6 +197,13 @@ The output format is selected from the `-Target` file extension. Each format has - **JPEG output is always 4:2:0 chroma** (`yuvj420p`). If you need 4:4:4 JPEG or 16-bit output, edit the encoder args directly. - **TIFF and BMP** are stored uncompressed (TIFF can be configured for LZW/Deflate via additional ffmpeg options if needed). +## Existing Files + +- An existing `-Target` image is **replaced** without a prompt. ffmpeg runs with `-y`, so the old file is lost. Use `-WhatIf` first, or write to a new name. +- An existing file at `-Keep` is replaced in the same way. +- The folders that contain `-Target` and `-Keep` must already exist. The script stops with an error instead of creating them. +- The temporary upscaled PNG is deleted when the script finishes. + ## Safe Execution This script supports `-WhatIf` and `-Confirm` for safe execution: diff --git a/skill/Clone-Video.md b/skill/Clone-Video.md index d281aea..b05fcd9 100644 --- a/skill/Clone-Video.md +++ b/skill/Clone-Video.md @@ -456,6 +456,13 @@ The output container is selected from the `-Target` file extension. Each contain - **WebM encoding is slow.** `libvpx-vp9` is much slower than `libx264`; the chosen `cpu-used 2 -row-mt 1` settings strike a reasonable balance, but expect significantly longer rendering times than MP4. - **MKV stream-copy is greedy.** Because MKV accepts almost any codec, MKV output usually involves no re-encoding at all and is the fastest target for re-containerising downloads. +## Existing Files + +- An existing `-Target` video is **replaced** without a prompt. ffmpeg runs with `-y`, so the old file is lost. Use `-WhatIf` first, or write to a new name. +- The same applies to the image-to-video and PNG-sequence modes, and to a PNG that `-Sequence` would overwrite. +- The folder that contains `-Target` must already exist. The script stops with an error instead of creating it. +- The temporary concat list used for PNG sequences is deleted after the run. + ## Safe Execution This script supports `-WhatIf` and `-Confirm` for safe execution: diff --git a/skill/Compare-Videos.md b/skill/Compare-Videos.md index 4c6adc5..f72413d 100644 --- a/skill/Compare-Videos.md +++ b/skill/Compare-Videos.md @@ -429,6 +429,12 @@ For 3 and 4 videos, S2 (and S3/S4 as needed) are probed to verify all sources ar - **Pixel Format:** yuv420p - **Audio:** Copied from S1 (unless `-NoAudio` specified) +## Existing Files + +- An existing `-Output` video is **replaced** without a prompt. ffmpeg runs with `-y`, so the old file is lost. Use `-WhatIf` first, or write to a new name. +- The folder that contains `-Output` must already exist. The script stops with an error instead of creating it. +- The source videos are only read and are never modified. + ## Notes - Requires `ffmpeg` and `ffprobe` in system PATH diff --git a/skill/Crop-Clips.md b/skill/Crop-Clips.md index 0563f5d..b4315e1 100644 --- a/skill/Crop-Clips.md +++ b/skill/Crop-Clips.md @@ -115,6 +115,7 @@ An invalid `-Size` value fails immediately, before any file is processed. - Preserves original quality and audio - **In-place mode** (source and target are the same directory). This is the default when `-Source` and `-Target` are both omitted, because both default to the current directory: - Each original `video.mp4` is copied to `video.bak.mp4`. An existing `.bak.mp4` is replaced. + - Only files that are cropped are backed up. A file that is skipped, because it is already at the requested size or its resolution is not in the table, keeps its existing `.bak.mp4`. Re-running in place without `-Size` skips the files it already cropped, so the backup stays the original. A re-run with a different `-Size` crops them again, and replaces the backup with the first run's output. Keep your own copy of the originals before a re-run with a different `-Size`, or use a separate `-Target` folder. - The cropped result is written to `video.crop.mp4`. Only after that succeeds is the original `video.mp4` deleted and replaced by the cropped file. The `.bak.mp4` backup is kept. - Run with `-WhatIf` first, and do not run it on a folder you have not designated. - **Separate target folder**: the source files are not changed. A file with the same name already in the target folder is deleted and replaced. diff --git a/skill/Get-VideoAudio.md b/skill/Get-VideoAudio.md index fe78ef1..a77de08 100644 --- a/skill/Get-VideoAudio.md +++ b/skill/Get-VideoAudio.md @@ -53,7 +53,12 @@ Extracts audio in either WAV or MP3 format from a video file. - If the video file has no audio stream, the script displays a message and exits without creating an output file - WAV format uses PCM 16-bit encoding (lossless) - MP3 format uses 320 kbps bitrate (highest quality) -- If output file already exists, it will be overwritten + +## Existing Files + +- An existing output file, the default `