Skip to content

Instantly share code, notes, and snippets.

@teknoraver
Created September 16, 2021 11:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save teknoraver/c1f949acd60bfafeaa06ecbcd1ca8018 to your computer and use it in GitHub Desktop.
Save teknoraver/c1f949acd60bfafeaa06ecbcd1ca8018 to your computer and use it in GitHub Desktop.
reverse an mp4 video
#!/bin/sh
[ $# -ne 2 ] && exec echo "Usage: ${0##*/} <input> <output>"
src=$1
dst=$2
dir=$(mktemp -d)
trap "rm -rf $dir" EXIT
fps=$(ffprobe -v 0 -of csv=p=0 -select_streams v:0 -show_entries stream=r_frame_rate "$src")
ffmpeg -loglevel warning -stats -i "$src" -an "$dir/%06d.png"
ffmpeg -loglevel warning -stats -i "$src" -vn "$dir/audio.wav"
sox "$dir/audio.wav" "$dir/backwards.wav" reverse
cat $(ls -r $dir/*.png) | ffmpeg -loglevel warning -stats -y -f image2pipe -vcodec png -r $fps -i - -i "$dir/backwards.wav" -preset slower -crf 22 "$dst"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment