Advertisement
Guest User

ffmpeg, imagemagick 2 waveform difference

a guest
Mar 22nd, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.23 KB | None | 0 0
  1. #!/bin/bash
  2. ## ./waveform_diff.sh input.aac in2.mp4
  3. [[ -z $1 ]] && exit 1;
  4. shopt -s expand_aliases
  5. alias temp='mktemp /tmp/this.XXX.jpg'
  6. outputfile='/tmp/a-diff.jpg' #./a4-diff.jpg
  7. yw='\033[0;7m'
  8. NC='\033[0m'
  9.  
  10. trap "rm -f /tmp/this*.jpg" 0 2 3 15
  11. for i in {1..4};do
  12. #eval "a$i=$(mktemp /tmp/this.XXX.jpg)"
  13. eval "a$i=$(temp)"
  14. done
  15. #exit
  16. echo 'ffmpeg ...'
  17. alias ff='ffmpeg -hide_banner -loglevel panic -y'
  18. ff -i "${1}" -filter_complex showwavespic -frames:v 1 "$a1"
  19. ff -i "${2}" -filter_complex showwavespic -frames:v 1 "$a2" && echo -e "${yw}ffmpeg output Waveform Complete${NC}"
  20.  
  21. height=$(identify -ping -format '%h' "$a1")
  22. height=$(( height * 2))
  23. composite $a1 $a2 -compose difference $a3
  24.  
  25. convert -pointsize 40 -fill white \( $a1 -gravity NorthWest -annotate +15+15 'Original' \) \
  26. \( $a2 -gravity SouthWest -annotate +15+15 'Equalize' \) \
  27. -append  -write mpr:a4 +delete \
  28. mpr:a4 \( $a3 -resize x$height! -background black -gravity center -extent x$height -gravity North -annotate +0+$((height/4)) 'Difference' \) +append -quality 85 $a4
  29.  
  30. yes|cp $a4 "${outputfile}" && printf "output:${yw} "${outputfile}"${NC}\ntemp files removed\n"
  31. #timeout 4 mpv --quiet --fullscreen "${outputfile}" &
  32. feh -ZF "${outputfile}" &
  33. exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement