35 lines
2.4 KiB
Bash
Executable File
35 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
if [ -z "$1" ]; then
|
|
echo "Syntax: $0 VIDEOFILE [SUBTITLEFILE]"
|
|
exit 1
|
|
fi
|
|
|
|
# Found: https://superuser.com/questions/852400/properly-downmix-5-1-to-stereo-using-ffmpeg
|
|
# and http://forum.doom9.org/showthread.php?t=168267
|
|
ATSC_MODE="pan=stereo|FL<1.0*FL+0.707*FC+0.707*BL|FR<1.0*FR+0.707*FC+0.707*BR"
|
|
NIGHT_MODE="pan=stereo|FL=FC+0.30*FL+0.30*BL|FR=FC+0.30*FR+0.30*BR"
|
|
STEREO="pan=stereo|c0=FL|c1=FR"
|
|
|
|
SUBPARAMS=( )
|
|
if [ -n "$2" ]; then
|
|
# http://stackoverflow.com/questions/8672809/use-ffmpeg-to-add-text-subtitles
|
|
SUBPARAMS=( -f srt -i "$2" -map 0:0 -map 0:1 -map 1:0 -c:s mov_text ) # mp4
|
|
# SUBPARAMS=( -f srt -i "$2" -map 0:0 -map 0:1 -map 1:0 -c:s srt ) # mkv
|
|
fi
|
|
# For source mpeg4: -bsf:v mpeg4_unpack_bframes
|
|
# Quality: -crf 18 = almost lossless, -crf 22 = medium, -crf 28 = low
|
|
# Deinterlace: -vf yadif=1 -field-dominance 0/1 (0=Top field first, 1=Bottom field first; doubles framerate)
|
|
# or -vf yadif=1:0 (or 1:1)
|
|
# -vf yadif=0 (calculates 1 frame from both fields; keeps framerate)
|
|
# Scale: -vf scale=-1:720 (or -2 for values dividable by 2)
|
|
# Scale to Aspect: -filter:v scale=iw*sar:ih,setsar=1:1
|
|
# Set audio language: -metadata:s:a:0 language=eng
|
|
#ffmpeg -i "$1" "${SUBPARAMS[@]}" -c:v h264 -c:a libvo_aacenc -preset fast -movflags +faststart -crf 18 -b:a 192k -ac 2 "$1.mp4"
|
|
#ffmpeg -i "$1" "${SUBPARAMS[@]}" -c:v h264 -c:a aac -preset fast -movflags +faststart -vf yadif=0,scale=-2:720 -crf 18 -b:a 160k -ar 44100 -ac 2 "$1.mp4"
|
|
#ffmpeg -i "$1" "${SUBPARAMS[@]}" -c:v h264 -c:a aac -preset fast -movflags +faststart -vf scale=-2:720 -crf 20 -b:a 160k -ar 44100 -ac 2 "$1.mp4"
|
|
#ffmpeg -i "$1" "${SUBPARAMS[@]}" -c:v h264 -c:a aac -preset fast -movflags +faststart -vf scale=-2:720 -crf 24 -b:a 96k -ar 44100 -ac 2 "$1.mp4"
|
|
#ffmpeg -i "$1" "${SUBPARAMS[@]}" -c:v h264 -c:a aac -preset fast -movflags +faststart -crf 20 -b:a 160k -ar 44100 -ac 2 "$1.mp4"
|
|
ffmpeg -i "$1" "${SUBPARAMS[@]}" -c:v h264 -c:a aac -preset fast -movflags +faststart -crf 24 -b:a 96k -ar 44100 -ac 2 "$1.mp4"
|
|
#ffmpeg -i "$1" "${SUBPARAMS[@]}" -c:v libx265 -c:a aac -preset fast -movflags +faststart -crf 20 -b:a 160k -ar 44100 -ac 2 "$1.x265.mp4"
|
|
#ffmpeg -i "$1" "${SUBPARAMS[@]}" -map 0 -c:v h264 -c:a aac -preset fast -movflags +faststart -filter_complex "[0:v]scale=-2:720;[0:a:1]$NIGHT_MODE;[0:a:0]$STEREO" -metadata:s:a:0 language=eng -metadata:s:a:1 language=ger -crf 24 -b:a 96k -ar 44100 -ac 2 "$1.mkv"
|