Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /bin/bash
- source=$1
- output=$(basename "$1" | sed "s/avi/mp4/; s/mkv/mp4/; s/flv/mp4/; s/m4v/mp4/")
- subs=$2
- if [[ "$source" =~ .*\.(mkv|mp4|avi) ]] ; then
- echo "Source is file."
- mediainfo "$1" --Inform="Video;%Format%\n" | grep "AVC" > /dev/null
- if [ $? -eq 1 ]; then
- ~/ffmpeg/ffmpeg -y -i "$1" -c:v libx264 -preset veryslow -crf 17 -ac:a:0 2 -c:a:0 libfdk_aac -flags +global_header -movflags +faststart ~/media/"$output"
- else
- mediainfo "$1" --Inform="Audio;%Format%\n"|head -n1 | grep "AAC" > /dev/null
- if [ $? -eq 0 ]; then
- if [ -z "$subs" ]; then
- ~/ffmpeg/ffmpeg -y -i "$1" -c:v copy -ac:a:0 2 -c:a copy -sn -flags +global_header -movflags +faststart ~/media/"$output"
- else
- ~/ffmpeg/ffmpeg -y -i "$1" -map 0:0 -map 0:1 -map 0:$subs -c:v copy -c:a copy -c:s mov_text -metadata:s:s:0 language=eng -metadata:s:s:0 handler="English (non-English Dialogue)" -flags +global_header -movflags +faststart ~/media/"$output"
- fi
- else
- if [ -z "$subs" ]; then
- ~/ffmpeg/ffmpeg -y -i "$1" -c:v copy -ac:a:0 2 -c:a:0 libfdk_aac -sn -flags +global_header -movflags +faststart ~/media/"$output"
- else
- ~/ffmpeg/ffmpeg -y -i "$1" -map 0:0 -map 0:1 -map 0:$subs -c:v copy -ac:a:0 2 -c:a:0 libfdk_aac -c:s mov_text -metadata:s:s:0 language=eng -metadata:s:s:0 handler="English (non-English Dialogue)" -flags +global_header -movflags +faststart ~/media/"$output"
- fi
- fi
- fi
- else
- if [ -d "${source}" ] ; then
- echo "Source is directory."
- for files in "$source"/*.* ; do ~/ffmpeg/mkvtomp4 "$files";done
- fi
- fi
- filebot -script fn:amc $HOME/media/"$output" --def movieFormat="$HOME/media/movie/{collection.replace(':','- ')}/{n.replace(':','- ')} ({y}) [{vf}]" seriesFormat="$HOME/media/tv/{n.replace(':','- ')}/{n.replace(':','- ')} - {s00e00} - {episode.title.tr(':','- ').replace('/',' - ')} [{vf}]" --conflict override -non-strict --log info
- exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement