#!/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 [ -n "$1" ]; then subtitleedit /convert "${filename}.en.ass" "$output_sub_format" 2>/dev/null | grep --color=none ass fi done