Projects
Multimedia
ffhevc
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 40
View file
ffhevc.changes
Changed
@@ -1,4 +1,14 @@ ------------------------------------------------------------------- +Tue Jan 24 16:20:00 UTC 2017 - neutrino8@opensuse.org + +- Update to version 3.1.7 + * Removed one of the OUTPUT variables for batch mode. It is + no longer needed + * Rewrote the audio channel layout code. It is now based on + per-codec encoder support + * Repositioned the audio channel checking code + +------------------------------------------------------------------- Fri Jan 20 13:37:00 UTC 2017 - neutrino8@opensuse.org - Update to version 3.1.6
View file
ffhevc.spec
Changed
@@ -17,7 +17,7 @@ Name: ffhevc -Version: 3.1.6 +Version: 3.1.7 Release: 0 Summary: A small shell script for encoding to H.265/HEVC with ffmpeg License: GPL-2.0+
View file
ffhevc-3.1.6.tar.gz/ChangeLog -> ffhevc-3.1.7.tar.gz/ChangeLog
Changed
@@ -1,3 +1,10 @@ +2017-01-24 - ffhevc 3.1.7 + * Removed one of the OUTPUT variables for batch mode. It is + no longer needed + * Rewrote the audio channel layout code. It is now based on + per-codec encoder support + * Repositioned the audio channel checking code + 2017-01-20 - ffhevc 3.1.6 * Fixed a small issue in the output for batch mode
View file
ffhevc-3.1.6.tar.gz/ffhevc -> ffhevc-3.1.7.tar.gz/ffhevc
Changed
@@ -2,8 +2,8 @@ # # Small script to encode to H.265/HEVC video using FFmpeg and libx265. # Author: Grozdan "microchip" Nikolov <neutrino8@opensuse.org> -# Version: 3.1.6 -# Date: 2017-01-20 +# Version: 3.1.7 +# Date: 2017-01-24 # # ffhevc is free software ; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ brown() { echo -e "\e[0;33m$1\e[0;39;49m"; } error() { echo -e "\e[1;31m$1\e[0;39;49m"; } -version="3.1.6" +version="3.1.7" CFG="$HOME/.ffhevc" cfgversion="34" @@ -504,7 +504,6 @@ mv -f "$OUTPUT" "$OUTPUT.$$.old" fi else - OUTPUT="$(dirname "$OUTPUT")/\${i%.*}.$CONFMT" CHDIR="cd \"$(dirname "$input")\"" FORLOOP_START="for i in *; do" CHKFILE_START="if [ -f \"\$i\" ]; then" @@ -1802,55 +1801,6 @@ printf "Track $i: How many Channels to Encode? [${chanrange[i]} - default is ${defchan[i]}]: " read achan[i] test -z "${achan[i]}" && ach[i]="${defchan[i]}" || ach[i]="${achan[i]}" - case "${ach[i]}" in - 1) chlayout[i]="mono"; achmeta[i]="Mono" ;; - 2) chlayout[i]="stereo"; achmeta[i]="Stereo" ;; - 3) chlayout[i]="3.0"; achmeta[i]="3.0" ;; - 4) - printf "Track $i: Use Quad or 4.0 Layout? [quad/4.0 - default is quad]: " - read acl - case "$(echo "$acl" | tr '[:upper:]' '[:lower:]')" in - quad|"") - case "${acodec[i]}" in - dts) chlayout[i]="quad(side)" ;; - alac) - echo - error "-> Quad channel layout not supported by ALAC encoder!" - error "-> Use 4.0 instead but channel order may be wrong" - echo - exit 1 - ;; - ""|*) chlayout[i]="quad" ;; - esac - achmeta[i]="4.0" - ;; - 4.0|4) - if [ "${acodec[i]}" = "dts" ]; then - echo - error "-> 4.0 channel layout not supported by DTS encoder!" - error "-> Use Quad instead but channel order may be wrong" - echo - exit 1 - fi - achmeta[i]="4.0" - chlayout[i]="4.0" - ;; - *) - error "-> Invalid value!" - exit 1 - ;; - esac - ;; - 5) achmeta[i]="5.0"; test "${acodec[i]}" = "dts" && chlayout[i]="5.0(side)" || chlayout[i]="5.0" ;; - 6) achmeta[i]="5.1"; test "${acodec[i]}" = "dts" && chlayout[i]="5.1(side)" || chlayout[i]="5.1" ;; - 7) achmeta[i]="6.1"; test "${acodec[i]}" = "alac" && chlayout[i]="6.1(back)" || chlayout[i]="6.1" ;; - 8) achmeta[i]="7.1"; test "${acodec[i]}" = "alac" && chlayout[i]="7.1(wide)" || chlayout[i]="7.1" ;; - *) - error "-> ${ach[i]} channels not supported!" - exit 1 - ;; - esac - case "${acodec[i]}" in ac3|eac3|"") case "${ach[i]}" in @@ -1915,8 +1865,284 @@ ;; esac + echo + brown " Audio Channel Layouts" + brown " ~~~~~~~~~~~~~~~~~~~~~" + case "${acodec[i]}" in + ac3|eac3|"") + echo " 0 -> Mono 4 -> Quad 8 --> 5.0" + echo " 1 -> Stereo 5 -> Quad(side) 9 --> 5.0(side)" + echo " 2 -> 3.0 6 -> 4.0 10 -> 5.1" + echo " 3 -> 3.0(back) 7 -> 4.1 11 -> 5.1(side)" + echo + printf "Specify the Audio Channel Layout [default is 10]: " + read achanlayout[i] + case "${achanlayout[i]}" in + 0) achlayout[i]="mono"; achmeta[i]="Mono" ;; + 1) achlayout[i]="stereo"; achmeta[i]="Stereo" ;; + 2) achlayout[i]="3.0"; achmeta[i]="3.0" ;; + 3) achlayout[i]="3.0(back)"; achmeta[i]="3.0" ;; + 4) achlayout[i]="quad"; achmeta[i]="Quad" ;; + 5) achlayout[i]="quad(side)"; achmeta[i]="Quad" ;; + 6) achlayout[i]="4.0"; achmeta[i]="4.0" ;; + 7) achlayout[i]="4.1"; achmeta[i]="4.1" ;; + 8) achlayout[i]="5.0"; achmeta[i]="5.0" ;; + 9) achlayout[i]="5.0(side)"; achmeta[i]="5.0" ;; + 10|"") achlayout[i]="5.1"; achmeta[i]="5.1" ;; + 11) achlayout[i]="5.1(side)"; achmeta[i]="5.1" ;; + *) + error "-> Invalid option!" + exit 1 + ;; + esac + ;; + dts) + echo " 0 -> Mono 3 -> 5.0(side)" + echo " 1 -> Stereo 4 -> 5.1(side)" + echo " 2 -> Quad(side)" + echo + printf "Specify the Audio Channel Layout [default is 4]: " + read achanlayout[i] + case "${achanlayout[i]}" in + 0) achlayout[i]="mono"; achmeta[i]="Mono" ;; + 1) achlayout[i]="stereo"; achmeta[i]="Stereo" ;; + 2) achlayout[i]="quad(side)"; achmeta[i]="Quad" ;; + 3) achlayout[i]="5.0(side)"; achmeta[i]="5.0" ;; + 4|"") achlayout[i]="5.1(side)"; achmeta[i]="5.1" ;; + *) + error "-> Invalid option!" + exit 1 + ;; + esac + ;; + aac) + echo " 0 -> Mono 4 -> 4.0 8 --> 5.0(side) 12 -> 7.1(wide)" + echo " 1 -> Stereo 5 -> Quad 9 --> 5.1 13 -> 7.1(wide-side)" + echo " 2 -> 3.0 6 -> Quad(side) 10 -> 5.1(side)" + echo " 3 -> 3.0(back) 7 -> 5.0 11 -> 7.1" + echo + printf "Specify the Audio Channel Layout [default is 11]: " + read achanlayout[i] + case "${achanlayout[i]}" in + 0) achlayout[i]="mono"; achmeta[i]="Mono" ;; + 1) achlayout[i]="stereo"; achmeta[i]="Stereo" ;; + 2) achlayout[i]="3.0"; achmeta[i]="3.0" ;; + 3) achlayout[i]="3.0(back)"; achmeta[i]="3.0" ;; + 4) achlayout[i]="4.0"; achmeta[i]="4.0" ;; + 5) achlayout[i]="quad"; achmeta[i]="Quad" ;; + 6) achlayout[i]="quad(side)"; achmeta[i]="Quad" ;; + 7) achlayout[i]="5.0"; achmeta[i]="5.0" ;; + 8) achlayout[i]="5.0(side)"; achmeta[i]="5.0" ;; + 9) achlayout[i]="5.1"; achmeta[i]="5.1" ;; + 10) achlayout[i]="5.1(side)"; achmeta[i]="5.1" ;; + 11|"") achlayout[i]="7.1"; achmeta[i]="7.1" ;; + 12) achlayout[i]="7.1(wide)"; achmeta[i]="7.1" ;; + 13) achlayout[i]="7.1(wide-side)"; achmeta[i]="7.1" ;; + *) + error "-> Invalid option!" + exit 1 + ;; + esac + ;; + fdk*) + echo " 0 -> Mono 4 -> 5.0" + echo " 1 -> Stereo 5 -> 5.1" + echo " 2 -> 3.0 6 -> 7.1" + echo " 3 -> 4.0 7 -> 7.1(wide)" + echo + printf "Specify the Audio Channel Layout [default is 6]: " + read achanlayout[i] + case "${achanlayout[i]}" in + 0) achlayout[i]="mono"; achmeta[i]="Mono" ;; + 1) achlayout[i]="stereo"; achmeta[i]="Stereo" ;; + 2) achlayout[i]="3.0"; achmeta[i]="3.0" ;; + 3) achlayout[i]="4.0"; achmeta[i]="4.0" ;; + 4) achlayout[i]="5.0"; achmeta[i]="5.0" ;; + 5) achlayout[i]="5.1"; achmeta[i]="5.1" ;; + 6|"") achlayout[i]="7.1"; achmeta[i]="7.1" ;; + 7) achlayout[i]="7.1(wide)"; achmeta[i]="7.1" ;; + *) + error "-> Invalid option!" + exit 1 + ;; + esac + ;; + vorbis) + echo " 0 -> Mono 4 -> Quad(side) 8 --> 5.1(side)" + echo " 1 -> Stereo 5 -> 5.0 9 --> 6.1" + echo " 2 -> 3.0 6 -> 5.0(side) 10 -> 7.1" + echo " 3 -> Quad 7 -> 5.1" + echo + printf "Specify the Audio Channel Layout [default is 10]: " + read achanlayout[i] + case "${achanlayout[i]}" in + 0) achlayout[i]="mono"; achmeta[i]="Mono" ;; + 1) achlayout[i]="stereo"; achmeta[i]="Stereo" ;; + 2) achlayout[i]="3.0"; achmeta[i]="3.0" ;; + 3) achlayout[i]="quad"; achmeta[i]="Quad" ;; + 4) achlayout[i]="quad(side)"; achmeta[i]="Quad" ;; + 5) achlayout[i]="5.0"; achmeta[i]="5.0" ;; + 6) achlayout[i]="5.0(side)"; achmeta[i]="5.0" ;; + 7) achlayout[i]="5.1"; achmeta[i]="5.1" ;; + 8) achlayout[i]="5.1(side)"; achmeta[i]="5.1" ;; + 9) achlayout[i]="6.1"; achmeta[i]="6.1" ;; + 10|"") achlayout[i]="7.1"; achmeta[i]="7.1" ;; + *) + error "-> Invalid option!" + exit 1 + ;; + esac + ;; + opus) + echo " 0 -> Mono 4 -> 5.0 8 -> 7.1" + echo " 1 -> Stereo 5 -> 5.1" + echo " 2 -> 3.0 6 -> 6.1" + echo " 3 -> Quad 7 -> 7.0" + echo + printf "Specify the Audio Channel Layout [default is 8]: " + read achanlayout[i] + case "${achanlayout[i]}" in + 0) achlayout[i]="mono"; achmeta[i]="Mono" ;; + 1) achlayout[i]="stereo"; achmeta[i]="Stereo" ;; + 2) achlayout[i]="3.0"; achmeta[i]="3.0" ;; + 3) achlayout[i]="quad"; achmeta[i]="Quad" ;; + 4) achlayout[i]="5.0"; achmeta[i]="5.0" ;; + 5) achlayout[i]="5.1"; achmeta[i]="5.1" ;; + 6) achlayout[i]="6.1"; achmeta[i]="6.1" ;; + 7) achlayout[i]="7.0"; achmeta[i]="7.0" ;; + 8|"") achlayout[i]="7.1"; achmeta[i]="7.1" ;; + *) + error "-> Invalid option!" + exit 1 + ;; + esac + ;; + mp3) + echo " 0 -> Mono" + echo " 1 -> Stereo" + echo + printf "Specify the Audio Channel Layout [default is 1]: " + read achanlayout[i] + case "${achanlayout[i]}" in + 0) achlayout[i]="mono"; achmeta[i]="Mono" ;; + 1|"") achlayout[i]="stereo"; achmeta[i]="Stereo" ;; + *) + error "-> Invalid option!" + exit 1 + ;; + esac + ;; + truehd) + echo " 0 -> Stereo" + echo " 1 -> 5.0" + echo " 2 -> 5.1" + echo + printf "Specify the Audio Channel Layout [default is 2]: " + read achanlayout[i] + case "${achanlayout[i]}" in + 0) achlayout[i]="stereo"; achmeta[i]="Stereo" ;; + 1) achlayout[i]="5.0"; achmeta[i]="5.0" ;; + 2) achlayout[i]="5.1"; achmeta[i]="5.1" ;; + *) + error "-> Invalid option!" + exit 1 + ;; + esac + ;; + flac) + echo " 0 -> Mono 4 -> Quad(side) 8 --> 5.1(side) 12 -> 7.0 16 -> 7.1(wide-side)" + echo " 1 -> Stereo 5 -> 5.0 9 --> 6.1 13 -> 7.0(front)" + echo " 2 -> 3.0 6 -> 5.0(side) 10 -> 6.1(front) 14 -> 7.1" + echo " 3 -> Quad 7 -> 5.1 11 -> 6.1(back) 15 -> 7.1(wide)" + echo + printf "Specify the Audio Channel Layout [default is 14]: " + read achanlayout[i] + case "${achanlayout[i]}" in + 0) achlayout[i]="mono"; achmeta[i]="Mono" ;; + 1) achlayout[i]="stereo"; achmeta[i]="Stereo" ;; + 2) achlayout[i]="3.0"; achmeta[i]="3.0" ;; + 3) achlayout[i]="quad"; achmeta[i]="Quad" ;; + 4) achlayout[i]="quad(side)"; achmeta[i]="Quad" ;; + 5) achlayout[i]="5.0"; achmeta[i]="5.0" ;; + 6) achlayout[i]="5.0(side)"; achmeta[i]="5.0" ;; + 7) achlayout[i]="5.1"; achmeta[i]="5.1" ;; + 8) achlayout[i]="5.1(side)"; achmeta[i]="5.1" ;; + 9) achlayout[i]="6.1"; achmeta[i]="6.1" ;; + 10) achlayout[i]="6.1(front)"; achmeta[i]="6.1" ;; + 11) achlayout[i]="6.1(back)"; achmeta[i]="6.1" ;; + 12) achlayout[i]="7.0"; achmeta[i]="7.0" ;; + 13) achlayout[i]="7.0(front)"; achmeta[i]="7.0" ;; + 14|"") achlayout[i]="7.1"; achmeta[i]="7.1" ;; + 15) achlayout[i]="7.1(wide)"; achmeta[i]="7.1" ;; + 16) achlayout[i]="7.1(wide-side)"; achmeta[i]="7.1" ;; + *) + error "-> Invalid option!" + exit 1 + ;; + esac + ;; + alac) + echo " 0 -> Mono 4 -> 5.0" + echo " 1 -> Stereo 5 -> 5.1" + echo " 2 -> 3.0 6 -> 6.1(back)" + echo " 3 -> 4.0 7 -> 7.1(wide)" + echo + printf "Specify the Audio Channel Layout [default is 7]: " + read achanlayout[i] + case "${achanlayout[i]}" in + 0) achlayout[i]="mono"; achmeta[i]="Mono" ;; + 1) achlayout[i]="stereo"; achmeta[i]="Stereo" ;; + 2) achlayout[i]="3.0"; achmeta[i]="3.0" ;; + 3) achlayout[i]="4.0"; achmeta[i]="4.0" ;; + 4) achlayout[i]="5.0"; achmeta[i]="5.0" ;; + 5) achlayout[i]="5.1"; achmeta[i]="5.1" ;; + 6) achlayout[i]="6.1(back)"; achmeta[i]="6.1" ;; + 7|"") achlayout[i]="7.1(wide)"; achmeta[i]="7.1" ;; + *) + error "-> Invalid option!" + exit 1 + ;; + esac + ;; + pcm) + echo " 0 -> Mono 4 -> Quad 8 --> 5.1 12 -> 6.1 16 -> 7.0(front)" + echo " 1 -> Stereo 5 -> Quad(side) 9 --> 5.1(side) 13 -> 6.1(front) 17 -> 7.1" + echo " 2 -> 2.1 6 -> 5.0 10 -> 6.0 14 -> 6.1(back) 18 -> 7.1(wide)" + echo " 3 -> 3.0 7 -> 5.0(side) 11 -> 6.0(front) 15 -> 7.0 19 -> 7.1(wide-side)" + echo + printf "Specify the Audio Channel Layout [default is 17]: " + read achanlayout[i] + case "${achanlayout[i]}" in + 0) achlayout[i]="mono"; achmeta[i]="Mono" ;; + 1) achlayout[i]="stereo"; achmeta[i]="Stereo" ;; + 2) achlayout[i]="2.1"; achmeta[i]="2.1" ;; + 3) achlayout[i]="3.0"; achmeta[i]="3.0" ;; + 4) achlayout[i]="quad"; achmeta[i]="Quad" ;; + 5) achlayout[i]="quad(side)"; achmeta[i]="Quad" ;; + 6) achlayout[i]="5.0"; achmeta[i]="5.0" ;; + 7) achlayout[i]="5.0(side)"; achmeta[i]="5.0" ;; + 8) achlayout[i]="5.1"; achmeta[i]="5.1" ;; + 9) achlayout[i]="5.1(side)"; achmeta[i]="5.1" ;; + 10) achlayout[i]="6.0"; achmeta[i]="6.0" ;; + 11) achlayout[i]="6.0(front)"; achmeta[i]="6.0" ;; + 12) achlayout[i]="6.1"; achmeta[i]="6.1" ;; + 13) achlayout[i]="6.1(front)"; achmeta[i]="6.1" ;; + 14) achlayout[i]="6.1(back)"; achmeta[i]="6.1" ;; + 15) achlayout[i]="7.0"; achmeta[i]="7.0" ;; + 16) achlayout[i]="7.0(front)"; achmeta[i]="7.0" ;; + 17|"") achlayout[i]="7.1"; achmeta[i]="7.1" ;; + 18) achlayout[i]="7.1(wide)"; achmeta[i]="7.1" ;; + 19) achlayout[i]="7.1(wide-side)"; achmeta[i]="7.1" ;; + *) + error "-> Invalid option!" + exit 1 + ;; + esac + ;; + esac + audmeta[i]="-metadata:s:a:${audindex[i]} title=\"${ameta[i]} ${achmeta[i]} ${abtrmeta[i]}\"" - audchan[i]="-ac:a:${audindex[i]} ${ach[i]} -channel_layout:a:${audindex[i]} \"${chlayout[i]}\"" + audchan[i]="-ac:a:${audindex[i]} ${ach[i]} -channel_layout:a:${audindex[i]} \"${achlayout[i]}\"" if [ "$AUD_NORMALIZE" = "y" ]; then printf "Track $i: Normalize the Audio Volume? [y/N]: "
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.