Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unset a b c d e
- mkdir -p ~/.fonts
- if [ -z "$1" ]; then
- echo Usage: ss1 filename sub_track_number \(or blank if raw\)
- exit
- fi
- if [ -z "$2" ]; then d=-1; else d=$2; fi
- b=$1
- ln "$b" c.mkv
- echo Creating screenshots for $b
- if [ $d -ne -1 ]; then
- ffmpeg -dump_attachment:t "" -i c.mkv
- mv *.ttf *.TTF *.otf *.OTF *.ttc *.TTC ~/.fonts
- fc-cache -fv ~/.fonts
- ffmpeg -i c.mkv -map 0:s:$d subs.ass
- fi
- e=$(($(mkvinfo-text c.mkv | grep \+.Dur | cut -f4 -d' ' | cut -f1 -d'.')*3/4))
- # make 24 screenshots, or at least every 10 seconds
- if [ "$e" -gt 230 ]; then f=$((e/23)); else f=10; fi
- for ((b=1,c=1;(e-b)>0;b+=f,c++))
- do
- if [ $d -ne -1 ]; then
- ffmpeg -ss $b -i subs.ass subs2.ass
- ffmpeg -probesize 100M -analyzeduration 100M -ss $b -i c.mkv -vf ass=subs2.ass -vframes 1 -pix_fmt rgb24 $c.png
- rm subs2.ass
- else
- ffmpeg -ss $b -i c.mkv -vframes 1 -pix_fmt rgb24 $c.png
- fi
- done
- if [ $d -ne -1 ]; then rm subs.ass; fi
- rm c.mkv
- unset a b c d e
Add Comment
Please, Sign In to add comment