Projects
Multimedia
ffx264
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 28
View file
ffx264.changes
Changed
@@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Nov 23 15:20:00 UTC 2016 - neutrino8@opensuse.org + +- Update to version 3.2.1 + * Added support for FLAC audio in MP4. Requires a very recent + ffmpeg version + * Added the $strict variable to the remuxing code + * Use the improved way of gathering info for the audio sample + rate detection + * Added the ability to flag the first internal or external + subtitle as default, when using the option for internal and + external subtitle copying + * Added support for LD-AAC audio encoding with libfdk-aac + * Removed stderr to stdout redirection (2>&1) for some of the + ffprobe lines. It is no longer needed + +------------------------------------------------------------------- Sun Nov 20 16:46:00 UTC 2016 - neutrino8@opensuse.org - Update the Makefile
View file
ffx264.spec
Changed
@@ -17,7 +17,7 @@ Name: ffx264 -Version: 3.2.0 +Version: 3.2.1 Release: 0 Summary: A small shell script for encoding to H.264 with ffmpeg License: GPL-2.0+
View file
ffx264-3.2.0.tar.gz/ChangeLog -> ffx264-3.2.1.tar.gz/ChangeLog
Changed
@@ -1,3 +1,16 @@ +2016-11-23 - ffx264 3.2.1 + * Added support for FLAC audio in MP4. Requires a very recent + ffmpeg version + * Added the $strict variable to the remuxing code + * Use the improved way of gathering info for the audio sample + rate detection + * Added the ability to flag the first internal or external + subtitle as default, when using the option for internal and + external subtitle copying + * Added support for LD-AAC audio encoding with libfdk-aac + * Removed stderr to stdout redirection (2>&1) for some of the + ffprobe lines. It is no longer needed + 2016-11-20 - ffx264 3.2.0 * Moved checks for supported containers into its own function, check_container_func()
View file
ffx264-3.2.0.tar.gz/Makefile -> ffx264-3.2.1.tar.gz/Makefile
Changed
@@ -7,10 +7,11 @@ install: mkdir -p -m 755 $(PREFIX)/bin $(DOCDIR)/ffx264 $(MANDIR) - cp -fa ffx264 $(PREFIX)/bin + cp -f ffx264 $(PREFIX)/bin chmod 755 $(PREFIX)/bin/ffx264 - cp -fa AUTHORS LICENSE README ChangeLog preset.txt $(DOCDIR)/ffx264 - cp -fa ffx264.1 $(MANDIR) + cp -f AUTHORS LICENSE README ChangeLog preset.txt $(DOCDIR)/ffx264 + chmod 644 $(DOCDIR)/ffx264/* + cp -f ffx264.1 $(MANDIR) gzip -9 $(MANDIR)/ffx264.1 uninstall:
View file
ffx264-3.2.0.tar.gz/ffx264 -> ffx264-3.2.1.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.2.0 -# Date: 2016-11-20 +# Version: 3.2.1 +# Date: 2016-11-23 # # 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.2.0" +version="3.2.1" CFG="$HOME/.ffx264" cfgversion="29" @@ -485,9 +485,9 @@ if [ -z "$batchmode" ]; then if [ -e "$OUTPUT" ]; then echo - error "-> Renaming existing file to '$OUTPUT.$$'" + error "-> Renaming existing file to '$OUTPUT.$$.old'" echo - mv -f "$OUTPUT" "$OUTPUT.$$" + mv -f "$OUTPUT" "$OUTPUT.$$.old" fi else OUTPUT="$(readlink -f "$(dirname "$OUTPUT")/\${i%.*}.$CONFMT")" @@ -514,11 +514,11 @@ ;; esac case "$1" in - mp4) green "-> ac3|eac3|dts|aac|fdk-aac|mp3|vorbis|copy|nosound" ;; - mov) green "-> ac3|eac3|dts|aac|fdk-aac|mp3|vorbis|flac|copy|nosound" ;; - m4v) green "-> ac3|aac|fdk-aac|copy|nosound" ;; - avi) green "-> ac3|eac3|dts|aac|fdk-aac|mp3|vorbis|pcm|flac|copy|nosound" ;; - flv) green "-> aac|fdk-aac|mp3|copy|nosound" ;; + mp4) green "-> ac3|eac3|dts|aac|fdk-aac|mp3|vorbis|flac|copy" ;; + mov) green "-> ac3|eac3|dts|aac|fdk-aac|mp3|vorbis|copy" ;; + m4v) green "-> ac3|aac|fdk-aac|copy" ;; + avi) green "-> ac3|eac3|dts|aac|fdk-aac|mp3|vorbis|pcm|flac|copy" ;; + flv) green "-> aac|fdk-aac|mp3|copy" ;; other) error "-> H.264 video not supported by the $i container!" error "-> Supported containers are: mkv, mp4, mov, m4v, m2ts, mts, ts, flv and avi" @@ -705,7 +705,7 @@ # Used by mc/bobbing deinterlace and FPS conversion video_fps_func() { - GETFPS="$($FFPROBE -i "$input" -v error -select_streams v:0 -show_entries stream=r_frame_rate -of default=noprint_wrappers=1:nokey=1 2>&1)" + GETFPS="$($FFPROBE -i "$input" -v error -select_streams v:0 -show_entries stream=r_frame_rate -of default=noprint_wrappers=1:nokey=1)" } # Used by mc/bobbing deinterlace, IVTC and interlace-aware encoding @@ -713,7 +713,7 @@ echo green "-> Detecting Field Parity..." sleep 1 - FPAR="$($FFPROBE -i "$input" -v error -select_streams v:0 -show_entries stream=field_order -of default=noprint_wrappers=1:nokey=1 2>&1)" + FPAR="$($FFPROBE -i "$input" -v error -select_streams v:0 -show_entries stream=field_order -of default=noprint_wrappers=1:nokey=1)" case "$FPAR" in t*|T*) fp="tff"; fparity="Top Field First (TFF)" ;; b*|B*) fp="bff"; fparity="Bottom Field First (BFF)" ;; @@ -854,7 +854,7 @@ # Used by cropping and bitrate # calc for target file size video_length_func() { - VLENGTH="$($FFPROBE -i "$input" -v error -select_streams v:0 -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 2>&1 | awk -F. '{print $1}')" + VLENGTH="$($FFPROBE -i "$input" -v error -select_streams v:0 -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 | awk -F. '{print $1}')" } if [ "$AUTOCROP" = "y" ]; then @@ -1265,6 +1265,24 @@ 2) video_subtitles_func infile video_subtitles_func ext + if [ ! -z "${subcopy[*]}" -a ! -z "${subcpy[*]}" ]; then + printf "Flag first Internal (i) or External (e) Sub as Default? [i/e - default is i]: " + read subdef + case "$subdef" in + i*|I*|"") + subcopy[1]="$(echo "${subcopy[1]}" | sed 's|none$|default|')" + subcpy[1]="$(echo "${subcpy[1]}" | sed 's|default$|none|')" + ;; + e*|E*) + subcopy[1]="$(echo "${subcopy[1]}" | sed 's|default$|none|')" + subcpy[1]="$(echo "${subcpy[1]}" | sed 's|none$|default|')" + ;; + *) + error "-> Invalid option!" + exit 1 + ;; + esac + fi ;; "") true @@ -1414,6 +1432,7 @@ abrdef[i]="448" ;; flac) + test "$CONFMT" = "mp4" && strict="-strict -2" acdc[i]="flac" ameta[i]="FLAC" abropts[i]="0-8" @@ -1465,12 +1484,12 @@ case "$c" in mp4) case "${acodec[i]}" in - pcm|opus|flac|truehd) conerror_func ;; + pcm|opus|truehd) conerror_func ;; esac ;; mov) case "${acodec[i]}" in - pcm|opus|truehd) conerror_func ;; + pcm|opus|truehd|flac) conerror_func ;; esac ;; m4v) @@ -1494,12 +1513,13 @@ if [ "${acodec[i]}" != "copy" ]; then case "${acodec[i]}" in fdk*) - printf "Track $i: Which AAC Profile to Use? [LC/HE/HEv2 - default is LC]: " + printf "Track $i: Which AAC Profile to Use? [LC/HE/HEv2/LD - default is LC]: " read aprof[i] case "${aprof[i]}" in lc|LC|"") ameta[i]="LC-AAC"; aacprof[i]="aac_low" ;; he|HE) ameta[i]="HE-AACv1"; aacprof[i]="aac_he" ;; hev2|HEv2|HEV2) ameta[i]="HE-AACv2"; aacprof[i]="aac_he_v2" ;; + ld|LD) ameta[i]="LD-AAC"; aacprof[i]="aac_ld" ;; *) error "- Invalid AAC profile!" exit 1 @@ -1547,7 +1567,7 @@ dts) chanrange[i]="1/2/4/5/6"; defchan[i]="6" ;; fdk*) case "${aacprof[i]}" in - aac_low|aac_he) chanrange[i]="1-8"; defchan[i]="8" ;; + aac_low|aac_he|aac_ld) chanrange[i]="1-8"; defchan[i]="8" ;; *) chanrange[i]="1-2"; defchan[i]="2" ;; esac ;; @@ -1656,7 +1676,7 @@ green "-> Track $i: detecting audio sample rate..." sleep 1 aid[i]="$(($(echo "${atrack[i]}" | awk -F: '{print $2}')-1))" - ASR[i]="$($FFPROBE -i "$input" -show_streams -select_streams a:${aid[i]} 2>&1 | sed -n 's|^sample_rate=||p')" + ASR[i]="$($FFPROBE -i "$input" -v error -select_streams a:${aid[i]} -show_entries stream=sample_rate -of default=noprint_wrappers=1:nokey=1)" if [ ! -z "${ASR[i]}" ]; then green "-> Track $i: detected ${ASR[i]} Hz" else @@ -1893,7 +1913,7 @@ for i in $(eval echo "{1..$ATRACKS}"); do if [ "${acodec[i]}" = "copy" ]; then aid[i]="$(($(echo "${atrack[i]}" | awk -F: '{print $2}')-1))" - abtr[i]="$($FFPROBE -i "$input" -v error -select_streams a:${aid[i]} -show_entries stream=bit_rate -of default=noprint_wrappers=1:nokey=1 2>&1)" + abtr[i]="$($FFPROBE -i "$input" -v error -select_streams a:${aid[i]} -show_entries stream=bit_rate -of default=noprint_wrappers=1:nokey=1)" case "${abtr[i]}" in [1-9]*) abitrate[i]="$((${abtr[i]}/1000))" ;; ""|*) abitrate[i]="0" ;; @@ -2021,8 +2041,8 @@ echo "green \"-> Remuxing to $i...\"" >> "$OUTFILE" echo "" >> "$OUTFILE" case "$i" in - avi|m2ts|mts|ts) echo "$FFMPEG -i \"$OUTPUT\" -map 0 -c copy -bsf:v h264_mp4toannexb \"${OUTPUT%.*}.$i\" >/dev/null 2>&1" >> "$OUTFILE" ;; - *) echo "$FFMPEG -i \"$OUTPUT\" -map 0 -c copy \"${OUTPUT%.*}.$i\" >/dev/null 2>&1" >> "$OUTFILE" ;; + avi|m2ts|mts|ts) echo "$FFMPEG -i \"$OUTPUT\" -map 0 -c copy -bsf:v h264_mp4toannexb $strict \"${OUTPUT%.*}.$i\" >/dev/null 2>&1" >> "$OUTFILE" ;; + *) echo "$FFMPEG -i \"$OUTPUT\" -map 0 -c copy $strict \"${OUTPUT%.*}.$i\" >/dev/null 2>&1" >> "$OUTFILE" ;; esac echo "test \"\$?\" = \"0\" && green \"-> Done\" || red \"-> Failed!\"" >> "$OUTFILE" done
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
.