#!/usr/bin/env bash # usage: $scriptname $files $output_sub_format output_sub_format=${@: -1} for i in $@ do if [ ! -e "$i" ]; then echo "File does not exist." continue fi index=$(ffprobe -v 8 -show_streams -select_streams s "$i" | grep index | cut --delimiter="=" -f 2) if [ -z $index ]; then echo "No subtitle streams found." exit fi ffprobe -v 8 -show_streams -select_streams "$i" filename=${i%.*} mkvextract "$i" tracks $index:"${filename}.en.ass" if [ ! -z $1 ]; then subtitleedit /convert "${filename}.en.ass" $output_sub_format 2>/dev/null | grep --color=none ass fi done