Projects
Multimedia
ffhevc
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 27
View file
ffhevc.changes
Changed
@@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Nov 23 15:20:00 UTC 2016 - neutrino8@opensuse.org + +- Update to version 3.0.5 + * 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:44:00 UTC 2016 - neutrino8@opensuse.org - Correct a small issue in the cropping code
View file
ffhevc.spec
Changed
@@ -17,7 +17,7 @@ Name: ffhevc -Version: 3.0.4 +Version: 3.0.5 Release: 0 Summary: A small shell script for encoding to H.265/HEVC with ffmpeg License: GPL-2.0+
View file
ffhevc-3.0.4.tar.gz/ChangeLog -> ffhevc-3.0.5.tar.gz/ChangeLog
Changed
@@ -1,3 +1,16 @@ +2016-11-23 - ffhevc 3.0.5 + * 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 - ffhevc 3.0.4 * Moved checks for supported containers into its own function, check_container_func()
View file
ffhevc-3.0.4.tar.gz/Makefile -> ffhevc-3.0.5.tar.gz/Makefile
Changed
@@ -7,10 +7,11 @@ install: mkdir -p -m 755 $(PREFIX)/bin $(DOCDIR)/ffhevc $(MANDIR) - cp -fa ffhevc $(PREFIX)/bin + cp -f ffhevc $(PREFIX)/bin chmod 755 $(PREFIX)/bin/ffhevc - cp -fa AUTHORS LICENSE README ChangeLog preset.txt $(DOCDIR)/ffhevc - cp -fa ffhevc.1 $(MANDIR) + cp -f AUTHORS LICENSE README ChangeLog preset.txt $(DOCDIR)/ffhevc + chmod 644 $(DOCDIR)/ffhevc/* + cp -f ffhevc.1 $(MANDIR) gzip -9 $(MANDIR)/ffhevc.1 uninstall:
View file
ffhevc-3.0.4.tar.gz/ffhevc -> ffhevc-3.0.5.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.0.4 -# Date: 2016-11-20 +# Version: 3.0.5 +# Date: 2016-11-23 # # 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.0.4" +version="3.0.5" CFG="$HOME/.ffhevc" cfgversion="33" @@ -483,9 +483,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")" @@ -512,8 +512,8 @@ ;; 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" ;; + mp4) green "-> ac3|eac3|dts|aac|fdk-aac|mp3|vorbis|flac|copy" ;; + mov) green "-> ac3|eac3|dts|aac|fdk-aac|mp3|vorbis|copy" ;; other) error "-> HEVC video not supported by the $i container!" error "-> Supported containers are: mkv, mp4, mov, m2ts, mts and ts" @@ -692,7 +692,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 @@ -700,7 +700,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)" ;; @@ -841,7 +841,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 @@ -1252,6 +1252,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 @@ -1401,6 +1419,7 @@ abrdef[i]="448" ;; flac) + test "$CONFMT" = "mp4" && strict="-strict -2" acdc[i]="flac" ameta[i]="FLAC" abropts[i]="0-8" @@ -1452,12 +1471,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|flac|truehd) conerror_func ;; esac ;; esac @@ -1466,12 +1485,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 @@ -1519,7 +1539,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 ;; @@ -1628,7 +1648,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=bit_rate -of default=noprint_wrappers=1:nokey=1)" if [ ! -z "${ASR[i]}" ]; then green "-> Track $i: detected ${ASR[i]} Hz" else @@ -1865,7 +1885,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" ;; @@ -1991,7 +2011,7 @@ echo "echo" >> "$OUTFILE" echo "green \"-> Remuxing to $i...\"" >> "$OUTFILE" echo "" >> "$OUTFILE" - echo "$FFMPEG -i \"$OUTPUT\" -map 0 -c copy \"${OUTPUT%.*}.$i\" >/dev/null 2>&1" >> "$OUTFILE" + echo "$FFMPEG -i \"$OUTPUT\" -map 0 -c copy $strict \"${OUTPUT%.*}.$i\" >/dev/null 2>&1" >> "$OUTFILE" echo "test \"\$?\" = \"0\" && green \"-> Done\" || red \"-> Failed!\"" >> "$OUTFILE" done echo "echo" >> "$OUTFILE"
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
.