Remove Clone-Image.md and Clone-Video.md documentation files from repository

This commit is contained in:
guru committed 2026-11-01 20:38:43 -05:00
1 parent 693655d07d
commit 514f68ca2d
22 files changed
+147 -6

No files matched your search

+115
View File
@@ -0,0 +1,115 @@
# Get-Frame.ps1
Extracts a specific frame of a video file to a PNG image by calling [Get-LastFrame.ps1](Get-LastFrame.md) with an automatically derived output filename. The image path is generated from the `-Video` filename by appending a dash and the resolved frame index zero-padded to at least four digits — for example, `P01.mp4` at frame 10 becomes `P01-0010.png` saved alongside the source video.
## Parameters
- **`-Video`** (required): Path to the input video file. Can be absolute or relative to current directory.
- **`-Frame`** (required): 0-based frame index to extract.
- Positive values: Direct frame index (e.g., `0` = first frame, `100` = frame 100)
- Negative values: Count from the end (e.g., `-1` = last frame, `-2` = second-to-last)
- Values are automatically clamped to the valid range (0 to total frames − 1)
## Image Filename Derivation
The output filename is derived from the resolved (always positive) frame index:
| Video | `-Frame` | Total frames | Output image |
| --- | --- | --- | --- |
| `P01.mp4` | `10` | any | `P01-0010.png` |
| `P01.mp4` | `0` | any | `P01-0000.png` |
| `P01.mp4` | `-1` | 300 | `P01-0299.png` |
| `P01.mp4` | `-2` | 300 | `P01-0298.png` |
| `render/shot.mp4` | `42` | any | `render/shot-0042.png` |
| `C:\Videos\take01.mp4` | `100` | any | `C:\Videos\take01-0100.png` |
Negative indices are resolved to the actual frame index before building the filename, so the output always reflects the exact frame that was extracted.
## Output Name Digits
The frame index is padded with zeros to **at least** four digits. Frames `0` to `9999` give exactly four digits (`0010`). Larger numbers are written in full: frame `12345` gives `P01-12345.png`.
## Existing Files
An existing PNG with the same name is **replaced**. The image is written by [Get-LastFrame.ps1](Get-LastFrame.md), which overwrites its output.
## Command Wrapper
`Get-Frame.cmd` takes the video and the frame as **positional** arguments. It calls `Get-Frame.ps1` found on `PATH`, so the script folder must be on `PATH`. Arguments after the frame are passed to `Get-Frame.ps1` unchanged. Only `-WhatIf` and `-Confirm` are accepted there. Other options are rejected.
```cmd
Get-Frame.cmd "P01.mp4" 10
```
This is the same call as `.\Get-Frame.ps1 -Video P01.mp4 -Frame 10`.
## Limitations
- `-Image` is not a parameter of `Get-Frame.ps1`, so it cannot choose the output name. To use a custom name or a numbering pattern, call [Get-LastFrame.ps1](Get-LastFrame.md) with `-Image`:
```powershell
.\Get-LastFrame.ps1 -Video P01.mp4 -Frame 10 -Image "P01-%04d.png"
```
## Examples
**Extract a specific frame:**
```powershell
.\Get-Frame.ps1 -Video P01.mp4 -Frame 10
# Creates: P01-0010.png
```
**Extract the first frame:**
```powershell
.\Get-Frame.ps1 -Video P01.mp4 -Frame 0
# Creates: P01-0000.png
```
**Extract the last frame:**
```powershell
.\Get-Frame.ps1 -Video P01.mp4 -Frame -1
# If video has 300 frames, creates: P01-0299.png
```
**Extract the second-to-last frame:**
```powershell
.\Get-Frame.ps1 -Video P01.mp4 -Frame -2
# If video has 300 frames, creates: P01-0298.png
```
**Extract the 10th frame from the end:**
```powershell
.\Get-Frame.ps1 -Video P01.mp4 -Frame -10
# If video has 300 frames, creates: P01-0290.png
```
**Using absolute paths:**
```powershell
.\Get-Frame.ps1 -Video "C:\Videos\P01.mp4" -Frame 50
# Creates: C:\Videos\P01-0050.png
```
## Safe Execution
This script supports `-WhatIf` and `-Confirm` for safe execution (forwarded to `Get-LastFrame.ps1`):
- **`-WhatIf`**: Simulate the operation without extracting the frame. Shows what would be done.
- **`-Confirm`**: Prompt for confirmation before extracting the frame.
**Simulate without extracting:**
```powershell
.\Get-Frame.ps1 -Video P01.mp4 -Frame 10 -WhatIf
```
**Prompt before extraction:**
```powershell
.\Get-Frame.ps1 -Video P01.mp4 -Frame 10 -Confirm
```