]> code.delx.au - transcoding/blob - hencode
hencode customisable quality
[transcoding] / hencode
1 #!/bin/bash
2
3 set -eu
4
5 THIS_DIR="$(cd "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" && pwd)"
6
7 PAL24FPS=0
8 AUDIO_SELECT="--audio-lang-list eng"
9 QUALITY="--quality 20"
10
11 ARGS=( "$@" )
12 for i in $(seq 0 "$(($# - 1))"); do
13 case "${ARGS[$i]}" in
14 --output|-o)
15 OUTPUTFILE="${ARGS[$i+1]}"
16 ;;
17 --audio|--audio-lang-list)
18 AUDIO_SELECT=""
19 ;;
20 --pal24fps)
21 PAL24FPS=1
22 AENCODER="copy"
23 ARGS+=("--cfr" "--rate" "25")
24 unset "ARGS[$i]"
25 ;;
26 --quality)
27 QUALITY=""
28 ;;
29 --vb)
30 QUALITY=""
31 ;;
32 *)
33 ;;
34 esac
35 done
36 set -- "${ARGS[@]}"
37
38 set -x
39
40
41 HandBrakeCLI \
42 --encoder x264 --x264-preset slow \
43 $QUALITY \
44 --loose-anamorphic \
45 --aencoder "${AENCODER:-fdk_aac}" --mixdown 7point1 --aq 3 \
46 $AUDIO_SELECT \
47 --subtitle scan --subtitle-forced \
48 --markers \
49 "$@"
50
51
52 if [ "$PAL24FPS" -eq 1 ]; then
53 mv "$OUTPUTFILE" "pal25fps $OUTPUTFILE"
54 "${THIS_DIR}/fix-pal-speedup" "pal25fps $OUTPUTFILE" "$OUTPUTFILE"
55 rm "pal25fps $OUTPUTFILE"
56 fi