#!/bin/bash function codec { ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 $1 } for i in *.mp4 do j="$(codec $i)" if [ $j == h264 ] then ffmpeg -hwaccel qsv -c:v h264_qsv -i $i -c:v h264_qsv -global_quality 20 -preset slow done/$i mv $i $i.done elif [ $j == hevc ] then ffmpeg -hwaccel qsv -c:v hevc_qsv -i $i -c:v hevc_qsv -global_quality 20 -preset slow done/$i mv $i $i.done fi done