Changes of Revision 174
ffhevc.changes
Changed
x
1
2
-------------------------------------------------------------------
3
+Mon Oct 28 05:30:00 UTC 2019 - neutrino8@opensuse.org
4
+
5
+- Update to version 4.0.1
6
+ * Added support for director/cast metadata for MP4/MOV
7
+ * Added +use_metadata_tags to the $movflags variable for MP4/MOV
8
+ * Support ADPCM encoding for DTS audio
9
+ * Fixed an issue where asking for director/cast occured multiple
10
+ times if remuxing to other containers was enabled
11
+
12
+-------------------------------------------------------------------
13
Sun Oct 27 07:28:00 UTC 2019 - neutrino8@opensuse.org
14
15
- Update to version 4.0.0
16
ffhevc.spec
Changed
10
1
2
3
4
Name: ffhevc
5
-Version: 4.0.0
6
+Version: 4.0.1
7
Release: 0
8
Summary: A small shell script for encoding to H.265/HEVC with FFmpeg
9
License: GPL-2.0+
10
ffhevc-4.0.0.tar.gz/ChangeLog -> ffhevc-4.0.1.tar.gz/ChangeLog
Changed
12
1
2
+2019-10-28 - ffhevc 4.0.1
3
+ * Added support for director/cast metadata for MP4/MOV
4
+ * Added +use_metadata_tags to the $movflags variable for MP4/MOV
5
+ * Support ADPCM encoding for DTS audio
6
+ * Fixed an issue where asking for director/cast occured multiple
7
+ times if remuxing to other containers was enabled
8
+
9
2019-10-27 - ffhevc 4.0.0
10
* Use 16 bits as bit depth metadata when encoding to TrueHD audio
11
* Removed an unneeded if conditional in the audio bit depth code
12
ffhevc-4.0.0.tar.gz/ffhevc -> ffhevc-4.0.1.tar.gz/ffhevc
Changed
113
1
2
#
3
# Small script to encode to H.265/HEVC video using FFmpeg and libx265.
4
# Author: Grozdan "microchip" Nikolov <neutrino8@opensuse.org>
5
-# Version: 4.0.0
6
-# Date: 2019-10-27
7
+# Version: 4.0.1
8
+# Date: 2019-10-28
9
#
10
# ffhevc is free software ; you can redistribute it and/or modify
11
# it under the terms of the GNU General Public License as published by
12
13
brown() { echo -e "\e[0;33m$1\e[0;39;49m"; }
14
error() { echo -e "\e[1;31m$1\e[0;39;49m"; }
15
16
-version="4.0.0"
17
+version="4.0.1"
18
19
CFG="$HOME/.ffhevc"
20
cfgversion="50"
21
22
CONFMT="$(echo "$CONFMT" | tr '[:upper:]' '[:lower:]')"
23
if [ ! -z "$CONFMT" ]; then
24
case "$CONFMT" in
25
- mp4|mov) movflags="-movflags +faststart+frag_keyframe" ;;
26
+ mp4|mov) movflags="-movflags +faststart+frag_keyframe+use_metadata_tags" ;;
27
mkv|m2ts|mts|ts) true ;;
28
*)
29
error "-> HEVC video not supported by the chosen container!"
30
31
test ! -z "$comment" && COMMENT="$comment"
32
fi
33
34
-for i in $CONFMT $remuxcon; do
35
- case "$i" in
36
- mkv)
37
- printf "Specify the Director of the Content [press 'Enter' to skip]: "
38
- read director
39
- test ! -z "$director" && METADIRECTOR="-metadata director=\"$director\""
40
- printf "Specify the Cast of the Content [press 'Enter' to skip]: "
41
- read cast
42
- test ! -z "$cast" && METACAST="-metadata cast=\"$cast\""
43
- ;;
44
- esac
45
-done
46
+case "$CONFMT" in
47
+ mkv|mp4|mov)
48
+ printf "Specify the Director of the Content [press 'Enter' to skip]: "
49
+ read director
50
+ test ! -z "$director" && METADIRECTOR="-metadata director=\"$director\""
51
+ printf "Specify the Cast of the Content [press 'Enter' to skip]: "
52
+ read cast
53
+ test ! -z "$cast" && METACAST="-metadata cast=\"$cast\""
54
+ ;;
55
+esac
56
57
case "$CONFMT" in
58
mkv|mp4|mov)
59
60
test -z "${abr[i]}" && abitrate[i]="${abrdef[i]}k" || abitrate[i]="${abr[i]}k"
61
audbtr[i]="-b:a:${audindex[i]} ${abitrate[i]}"
62
abtrmeta[i]=" @ $(echo "${abitrate[i]}" | sed 's|k||') kbps"
63
+ case "${acodec[i]}" in
64
+ dts)
65
+ printf "Track $i: Use ADPCM Encoding? [y/N]: "
66
+ read dts_adpcm[i]
67
+ if [ "$dts_adpcm" = "y" -o "$dts_adpcm" = "Y" ]; then
68
+ audbtr[i]="${audbtr[i]} -dca_adpcm:a:${audindex[i]} true"
69
+ fi
70
+ ;;
71
+ esac
72
;;
73
esac
74
75
76
echo "echo" >> "$OUTFILE"
77
echo "green \"-> Remuxing to $i...\"" >> "$OUTFILE"
78
case "$i" in
79
+ mp4|mov) movflags2="-movflags +faststart+frag_keyframe+use_metadata_tags" ;;
80
+ *) movflags2="" ;;
81
+ esac
82
+ case "$i" in
83
mkv)
84
if [ ! -z "$MP4COVER" ]; then
85
MKVCOVER2="-attach \"$(readlink -e "$cover")\" -metadata:s:t mimetype=\"image/$img\""
86
87
;;
88
esac
89
fi
90
- echo "$FFMPEG -i \"$OUTPUT\" -map 0 -c:v copy -c:a copy $suboption $strict $coloroptions $MKVCOVER2 $CHAPS $METATITLE $METAGENRE $METAYEAR $METADIRECTOR $METACAST $METACOMMENT ${audmeta[*]} ${audlang[*]} ${sublang[*]} ${sublng[*]} \"${OUTPUT%.*}.$i\" >/dev/null 2>&1" >> "$OUTFILE"
91
+ echo "$FFMPEG -i \"$OUTPUT\" -map 0 -c:v copy -c:a copy $suboption $strict $coloroptions $movflags2 $MKVCOVER2 $CHAPS $METATITLE $METAGENRE $METAYEAR $METADIRECTOR $METACAST $METACOMMENT ${audmeta[*]} ${audlang[*]} ${sublang[*]} ${sublng[*]} \"${OUTPUT%.*}.$i\" >/dev/null 2>&1" >> "$OUTFILE"
92
echo "test \"\$?\" = \"0\" && green \"-> Done\" || red \"-> Failed!\"" >> "$OUTFILE"
93
case "$i" in
94
mp4|mov)
95
96
echo "" >> "$OUTFILE"
97
echo "echo" >> "$OUTFILE"
98
echo "green \"-> Adding cover image to $i...\"" >> "$OUTFILE"
99
- echo "$MP4BOX -add \"${OUTPUT%.*}.$i\"$color -itags cover=\"$(readlink -e "$cover")\":name=\"$(basename "${OUTPUT%.*}")\":genre=\"$genre\":created=\"$year\":comment=\"$COMMENT\" -tmp \"$(dirname "$OUTPUT")\" -mpeg4 -new \"${OUTPUT%.*}_COVER_$$.$i\" >/dev/null 2>&1" >> "$OUTFILE"
100
+ echo "$MP4BOX -add \"${OUTPUT%.*}.$i\"$color -itags cover=\"$(readlink -e "$cover")\":name=\"$(basename "${OUTPUT%.*}")\":genre=\"$genre\":created=\"$year\":composer=\"$director\":artist=\"$cast\":comment=\"$COMMENT\" -tmp \"$(dirname "$OUTPUT")\" -mpeg4 -new \"${OUTPUT%.*}_COVER_$$.$i\" >/dev/null 2>&1" >> "$OUTFILE"
101
echo "RET=\$?" >> "$OUTFILE"
102
echo "test \"\$RET\" = \"0\" && green \"-> Done\" || red \"-> Failed!\"" >> "$OUTFILE"
103
echo "if [ \"\$RET\" = \"0\" ]; then" >> "$OUTFILE"
104
105
esac
106
echo "echo" >> "$OUTFILE"
107
echo "green \"-> Adding cover image to $CONFMT...\"" >> "$OUTFILE"
108
- echo "$MP4BOX -add \"$OUTPUT\"$color -itags cover=\"$(readlink -e "$cover")\":name=\"$(basename "${OUTPUT%.*}")\":genre=\"$genre\":created=\"$year\":comment=\"$COMMENT\" -tmp \"$(dirname "$OUTPUT")\" -mpeg4 -new \"${OUTPUT%.*}_COVER_$$.$CONFMT\" >/dev/null 2>&1" >> "$OUTFILE"
109
+ echo "$MP4BOX -add \"$OUTPUT\"$color -itags cover=\"$(readlink -e "$cover")\":name=\"$(basename "${OUTPUT%.*}")\":genre=\"$genre\":created=\"$year\":composer=\"$director\":artist=\"$cast\":comment=\"$COMMENT\" -tmp \"$(dirname "$OUTPUT")\" -mpeg4 -new \"${OUTPUT%.*}_COVER_$$.$CONFMT\" >/dev/null 2>&1" >> "$OUTFILE"
110
echo "RET=\$?" >> "$OUTFILE"
111
echo "test \"\$RET\" = \"0\" && green \"-> Done\" || red \"-> Failed!\"" >> "$OUTFILE"
112
echo "if [ \"\$RET\" = \"0\" ]; then" >> "$OUTFILE"
113