fuckin ffmpreg_gif_loopy.ps1 now proper
This commit is contained in:
@@ -1,7 +0,0 @@
|
|||||||
param(
|
|
||||||
# powershell is factually gay idkl why its such a shit
|
|
||||||
[Parameter(Mandatory=$True, Position=0)]
|
|
||||||
[string]$Filename
|
|
||||||
)
|
|
||||||
# apng is far hjigher quality and also preserves transparancy :activated:
|
|
||||||
ffmpeg -i "$Filename" -plays 0 -f apng "$Filename.apng"
|
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
param(
|
||||||
|
# powershell is factually gay idkl why its such a shit
|
||||||
|
[Parameter(Mandatory=$True, Position=0)] # deband the param, its in position 0 so ya canb just ffmpreg_gif_loopy filename.mp4 OR ffmpreg_gif_loopy -Filename filename.mp4
|
||||||
|
[string]$Filename # var for filename string
|
||||||
|
)
|
||||||
|
# apng is far hjigher quality and also preserves transparancy :activated:
|
||||||
|
$noextpath = [System.IO.Path]::GetFileNameWithoutExtension($Filename) # get filename without extension
|
||||||
|
$gifpath = "$noextpath`_MAXLOOP.gif" # add da .gif extension and MAXLOOP tag
|
||||||
|
|
||||||
|
# ffmpeg
|
||||||
|
## -i input file (mp4)
|
||||||
|
## settings for -filter_complex purely vibe coded for max quality
|
||||||
|
### split [a][b]: Splitting clones the video stream into two identical, simultaneous feeds. This lets you process the color palette and render the GIF all in one
|
||||||
|
### palettegen=stats_mode=single: This generates the highest quality 256-color palette based strictly on the exact colors present in your video. Changing the mode to single tells FFmpeg to optimize colors for moving objects across frames.
|
||||||
|
### paletteuse=dither=bayer:bayer_scale=5: This dictates how colors are blended. Using a strict bayer dither with a scale of 5 keeps gradients incredibly clean and crisp, eliminating the ugly "cross-hatch" or "grainy" patterns typical of basic GIFs
|
||||||
|
## -loop 0 maek da gif loop
|
||||||
|
## outputfile (gif)
|
||||||
|
ffmpeg -i "$Filename" -filter_complex "[0:v] split [a][b];[a] palettegen=stats_mode=single [p];[b][p] paletteuse=dither=bayer:bayer_scale=5" -loop 0 "$gifpath"
|
||||||
Reference in New Issue
Block a user