Kaelygon

wplace ffmpeg converter

Nov 3rd, 2025 (edited)
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.15 KB | None | 0 0
  1. #!/bin/bash
  2. # none, sierra2, burkes or steinberg look good in dithering
  3.  
  4.  
  5. #Files/args
  6. inputFile="${1}"
  7. ditherType="${2:-sierra2}"
  8.  
  9.  
  10. #print usage
  11. if [ -z "$inputFile" ]; then
  12.     echo "Usage: wpConvert.sh [input] [dither]"
  13.     echo "Dither options: none, bayer, floyd_steinberg, sierra2, sierra2_4a, sierra3, atkinson, burkes"
  14.     exit 1
  15. fi
  16.  
  17.  
  18. inputBaseName=$(basename "$inputFile")
  19. inputFileName="${inputBaseName%.*}"
  20. outputFile="./wplace_${inputFileName}.png"
  21.  
  22.  
  23. #wplace palette as png encoded in base64
  24. paletteBase64="iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAwFBMVEUAAAAAAAAMgW4PeZ8PuWgQrqYT4b4T5nsoUJ4zOUE8PDxAk+RKQoRKazpNMbhalEpgABhg9/JoRjRrUPZtZD9tdY14DJl4eHh6ccR7Y1J9x/+ExXOH/16UjGuVaCqZsfubUkmchDGchGulDh6qOLmqqqqzudG1rvG7+vLFrTHLAHrNxZ7RgFHRgHjS0tLWtZTbpGPgn/nkXBro1F/sH4DtHCTzjan2qgn4snf53Tv6gHL6tqT/fyf/xaX/+rz///+JnjTCAAAAAXRSTlMAQObYZgAAABtJREFUGJVjYUQDLAKkCjCw8DGgAhaGoSpwEACVZwF8B2PFYwAAAABJRU5ErkJggg=="
  25.  
  26.  
  27. #paletteuse
  28. ffmpeg -y -i "${inputFile}" \
  29.     -i <(printf '%s' "$paletteBase64" | base64 --decode) \
  30.     -filter_complex "[0:v][1:v] paletteuse=dither=${ditherType}:alpha_threshold=128,format=rgba" \
  31.     -update true "${outputFile}"
  32.  
Add Comment
Please, Sign In to add comment