Changes of Revision 174

ffhevc.changes Changed
x
 
1
@@ -1,4 +1,14 @@
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
@@ -17,7 +17,7 @@
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
@@ -1,3 +1,10 @@
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,8 +2,8 @@
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
@@ -24,7 +24,7 @@
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
@@ -436,7 +436,7 @@
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
@@ -664,18 +664,16 @@
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
@@ -2753,6 +2751,15 @@
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
@@ -3657,6 +3664,10 @@
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
@@ -3676,7 +3687,7 @@
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
@@ -3684,7 +3695,7 @@
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
@@ -3704,7 +3715,7 @@
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