Projects
Multimedia
ffx264
Sign Up
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 128
View file
ffx264.changes
Changed
@@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Sat Oct 26 07:05:00 UTC 2019 - neutrino8@opensuse.org + +- Update to version 3.9.8 +* Renamed audio variable aid[i] to aidx[i] and moved it outside + of the if conditional that decides the audio codec. This + removes the same code in three places and now uses the + global aidx[i] variable +* HE-AACv2 only supports 2 channels. Update the audio code + to reflect that +* When running in batch mode, add a warning about automatic + audio metadata and offer an option to enable/disable it +* Added -tmp option to MP4Box to store temp files in the + output directory +* Some minor improvements to the audio options + +------------------------------------------------------------------- Fri Oct 25 05:31:00 UTC 2019 - neutrino8@opensuse.org - Update to version 3.9.7
View file
ffx264.spec
Changed
@@ -17,7 +17,7 @@ Name: ffx264 -Version: 3.9.7 +Version: 3.9.8 Release: 0 Summary: A small shell script for encoding to H.264/AVC with FFmpeg License: GPL-2.0+
View file
ffx264-3.9.7.tar.gz/ChangeLog -> ffx264-3.9.8.tar.gz/ChangeLog
Changed
@@ -1,3 +1,16 @@ +2019-10-26 - ffx264 3.9.8 + * Renamed audio variable aid[i] to aidx[i] and moved it outside + of the if conditional that decides the audio codec. This + removes the same code in three places and now uses the + global aidx[i] variable + * HE-AACv2 only supports 2 channels. Update the audio code + to reflect that + * When running in batch mode, add a warning about automatic + audio metadata and offer an option to enable/disable it + * Added -tmp option to MP4Box to store temp files in the + output directory + * Some minor improvements to the audio options + 2019-10-25 - ffx264 3.9.7 * Detect audio bit depth and add it to the audio metadata * Added detection for DTS Express and DTS-HD HR for audio copy
View file
ffx264-3.9.7.tar.gz/ffx264 -> ffx264-3.9.8.tar.gz/ffx264
Changed
@@ -2,8 +2,8 @@ # # Small script to encode to H.264/AVC video using FFmpeg and libx264. # Author: Grozdan "microchip" Nikolov <neutrino8@opensuse.org> -# Version: 3.9.7 -# Date: 2019-10-25 +# Version: 3.9.8 +# Date: 2019-10-26 # # ffx264 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.9.7" +version="3.9.8" CFG="$HOME/.ffx264" cfgversion="40" @@ -2361,15 +2361,40 @@ # support strict="-strict -2" + if [ ! -z "$batchmode" ]; then + echo + error "-> Due to current codebase limitations, automatic audio metadata" + error " will be that of the first input file provided. If all input files" + error " have the same audio properties (bit depth, sample rate, etc)" + error " this won't be an issue. Usually, complete seasons of film series" + error " have the same audio properties." + error " Otherwise you may want to:" + echo + error "-> Disable auto metadata completely" + echo + error "-> Enable it but you will need to modify the batchfile yourself and" + error " update the data to reflect the correct audio properties. Then" + error " encode from there." + echo + printf "Disable Automatic Audio Metadata? [y/N]: " + read noautometa + if [ "$noautometa" = "y" -o "$noautometa" = "Y" ]; then + noaudmeta="1" + fi + echo + fi + for i in $(eval echo "{1..$ATRACKS}"); do audindex[i]="$(($i-1))" printf "Track $i: Specify the Audio Track to Encode or Copy [default is 0:1]: " read astream[i] test -z "${astream[i]}" && atrack[i]="0:1" || atrack[i]="${astream[i]}" + + audmap[i]="-map ${atrack[i]}" + printf "Track $i: Specify the 3-letter Language Code for Metadata [press 'Enter' to skip]: " read alang[i] test ! -z "${alang[i]}" && audlang[i]="-metadata:s:a:${audindex[i]} language=${alang[i]}" - audmap[i]="-map ${atrack[i]}" done if [ -z "$DEFAULT_AUD_CODEC" ]; then @@ -2495,14 +2520,14 @@ flac) acdc[i]="flac" acdcmeta[i]="FLAC" - abropts[i]="0-12" + abropts[i]="0(low)-12(high)" abrdef[i]="5" skiptfs="1" ;; alac) acdc[i]="alac" acdcmeta[i]="ALAC" - abropts[i]="0-12" + abropts[i]="0(low)-12(high)" abrdef[i]="5" skiptfs="1" ;; @@ -2582,13 +2607,14 @@ esac done + aidx[i]="$(($(echo "${atrack[i]}" | awk -F: '{print $2}')-1))" + test "${aidx[i]}" = "-1" && aidx[i]="0" + if [ "${acodec[i]}" != "copy" ]; then - aid[i]="$(($(echo "${atrack[i]}" | awk -F: '{print $2}')-1))" - test "${aid[i]}" = "-1" && aid[i]="0" - GETAUDBD[i]="$($FFPROBE -i "$input" -v quiet -select_streams a:${aid[i]} -show_entries stream=bits_per_raw_sample -of default=noprint_wrappers=1:nokey=1 | tail -1)" + GETAUDBD[i]="$($FFPROBE -i "$input" -v quiet -select_streams a:${aidx[i]} -show_entries stream=bits_per_raw_sample -of default=noprint_wrappers=1:nokey=1 | tail -1)" if [ ! -z "${GETAUDBD[i]}" ]; then case "${GETAUDBD[i]}" in - [1-9]*) abdmeta[i]=", ${GETAUDBD[i]} bits src" ;; + [1-9]*) abdmeta[i]=", ${GETAUDBD[i]} bits input" ;; esac fi case "${acodec[i]}" in @@ -2646,7 +2672,7 @@ esac case "${acodec[i]}" in - ac3|eac3|truehd|dts|aac|fdk*|mp3|vorbis|libopus|opus|wmav1|wmav2|"") + ac3|eac3|truehd|dts|aac|fdk*|mp3|vorbis|libopus|opus|wmav1|wmav2) printf "Track $i: Specify the Audio Bitrate in kbps [${abropts[i]} - default is ${abrdef[i]}]: " read abr[i] test -z "${abr[i]}" && abitrate[i]="${abrdef[i]}k" || abitrate[i]="${abr[i]}k" @@ -2663,15 +2689,20 @@ dts) chanrange[i]="1/2/4/5/6"; defchan[i]="6" ;; fdk*) case "${aacprof[i]}" in - aac_low|aac_he|aac_ld) chanrange[i]="1-8"; defchan[i]="8" ;; - *) chanrange[i]="1-2"; defchan[i]="2" ;; + aac_he_v2) true ;; + *) chanrange[i]="1-8"; defchan[i]="8" ;; esac ;; esac - 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 "${aacprof[i]}" in + aac_he_v2) ach[i]="2" ;; + ""|*) + 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]}" + ;; + esac case "${acodec[i]}" in ac3|eac3) case "${ach[i]}" in @@ -2705,15 +2736,7 @@ ;; fdk*) case "${aacprof[i]}" in - aac_he_v2) - case "${ach[i]}" in - 1|2) true ;; - *) - error "-> HE-AACv2 supports only 1-2 channels!" - exit 1 - ;; - esac - ;; + aac_he_v2) true ;; *) case "${ach[i]}" in [1-6]|8) true ;; @@ -2828,25 +2851,30 @@ 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 "Track $i: 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(wide)" ;; + case "${aacprof[i]}" in + aac_he_v2) achlayout[i]="stereo"; achmeta[i]=" Stereo" ;; *) - error "-> Invalid option!" - exit 1 + 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 "Track $i: 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(wide)" ;; + *) + error "-> Invalid option!" + exit 1 + ;; + esac ;; esac ;; @@ -3058,7 +3086,7 @@
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
.