Projects
Multimedia
ffhevc
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 175
View file
ffhevc.changes
Changed
@@ -1,4 +1,16 @@ ------------------------------------------------------------------- +Tue Oct 29 06:17:00 UTC 2019 - neutrino8@opensuse.org + +- Update to version 4.0.2 + * Removed an unneeded check for audio codec in the conerror_func() function + * Removed a stale "" in the case statement that checks the channels for AC3 + * Support setting the matrixed stereo type when resampling stereo input + * Support setting the filter type of the audio resample filter + * Add the bsf bitstream filter to convert from length prefix to start + code prefix when remuxing to m2ts/mts/ts + * Cosmetics + +------------------------------------------------------------------- Mon Oct 28 05:30:00 UTC 2019 - neutrino8@opensuse.org - Update to version 4.0.1
View file
ffhevc.spec
Changed
@@ -17,7 +17,7 @@ Name: ffhevc -Version: 4.0.1 +Version: 4.0.2 Release: 0 Summary: A small shell script for encoding to H.265/HEVC with FFmpeg License: GPL-2.0+
View file
ffhevc-4.0.1.tar.gz/ChangeLog -> ffhevc-4.0.2.tar.gz/ChangeLog
Changed
@@ -1,3 +1,15 @@ +2019-10-29 - ffhevc 4.0.2 + * Removed an unneeded check for audio codec in the conerror_func() + function + * Removed a stale "" in the case statement that checks the channels + for AC3 + * Support setting the matrixed stereo type when resampling stereo + input + * Support setting the filter type of the audio resample filter + * Add the bsf bitstream filter to convert from length prefix + to start code prefix when remuxing to m2ts/mts/ts + * Cosmetics + 2019-10-28 - ffhevc 4.0.1 * Added support for director/cast metadata for MP4/MOV * Added +use_metadata_tags to the $movflags variable for MP4/MOV
View file
ffhevc-4.0.1.tar.gz/ffhevc -> ffhevc-4.0.2.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: 4.0.1 -# Date: 2019-10-28 +# Version: 4.0.2 +# Date: 2019-10-29 # # 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="4.0.1" +version="4.0.2" CFG="$HOME/.ffhevc" cfgversion="50" @@ -437,7 +437,8 @@ if [ ! -z "$CONFMT" ]; then case "$CONFMT" in mp4|mov) movflags="-movflags +faststart+frag_keyframe+use_metadata_tags" ;; - mkv|m2ts|mts|ts) true ;; + m2ts|mts|ts) bsf="-bsf:v:0 hevc_mp4toannexb" ;; + mkv) true ;; *) error "-> HEVC video not supported by the chosen container!" error "-> Supported containers are: mkv, mp4, mov, m2ts, mts and ts" @@ -956,7 +957,7 @@ printf "Specify the Deinterlace Method [default is 0]: " read dmethod case "$dmethod" in - 0|"") video_deint_func ofps ;; + 0|"") video_deint_func ofps ;; 1) echo green "-> Detecting FPS value..." @@ -2644,11 +2645,10 @@ esac conerror_func() { - test -z "${acodec[i]}" && audcodec[i]="ac3" || audcodec[i]="${acodec[i]}" if [ ! -z "$remuxcon" ]; then - error "-> Additional container $c does not support ${audcodec[i]} audio!" + error "-> Additional container $c does not support ${acodec[i]} audio!" else - error "-> The $c container does not support ${audcodec[i]} audio!" + error "-> The $c container does not support ${acodec[i]} audio!" error "-> Check your config file, if needed, in '$CFG'" fi error "-> See: https://en.wikipedia.org/wiki/Comparison_of_video_container_formats" @@ -2791,7 +2791,7 @@ [1-6]) true ;; *) case "${acodec[i]}" in - ac3|"") error "-> AC-3 supports only 1-6 channels!" ;; + ac3) error "-> AC-3 supports only 1-6 channels!" ;; eac3) error "-> E-AC-3 encoder in ffmpeg supports only 1-6 channels!" ;; esac exit 1 @@ -3360,7 +3360,32 @@ esac ;; esac - aresample[i]="aresample=${audhz[i]}," + echo + brown " Resampling Filter Types" + brown " ~~~~~~~~~~~~~~~~~~~~~~~" + echo " 0 -> Cubic" + echo " 1 -> Blackman-Nuttall windowed sinc" + echo " 2 -> Kaiser windowed sinc" + echo + printf "Track $i: Specify the Resampling Filter Type [default is 2]: " + read arft[i] + case "${arft[i]}" in + 0) audfiltype[i]=":filter_type=cubic" ;; + 1) audfiltype[i]=":filter_type=blackman_nuttall" ;; + 2|"") audfiltype[i]=":filter_type=kaiser" ;; + *) + error "-> Invalid option!" + exit 1 + ;; + esac + case "${ach[i]}" in + 2) + printf "Track $i: Specify the Matrixed Stereo Encoding [none/dolby/dplii - default is none]: " + read amse[i] + test -z "${amse[i]}" && audmatrix[i]=":matrix_encoding=none" || audmatrix[i]=":matrix_encoding=${amse[i]}" + ;; + esac + aresample[i]="aresample=${audhz[i]}${audfiltype[i]}${audmatrix[i]}," ahzmeta[i]=", ${audhz[i]} Hz" fi fi @@ -3590,24 +3615,24 @@ test ! -z "$COMMENT" && METACOMMENT="-metadata comment=\"$COMMENT\"" encoder_func() { - VIDOPTS="${EXTSUBS[*]} $vidmap -disposition:v:0 default $aspect $ofps $METADATA $CHAPS $METATITLE $METAGENRE $METAYEAR $METADIRECTOR $METACAST $METACOMMENT $ffvbv_maxrate $ffvbv_bufsize $vfilters $coloroptions" + VIDOPTS="${EXTSUBS[*]} $vidmap -disposition:v:0 default $bsf $movflags $aspect $ofps $METADATA $CHAPS $METATITLE $METAGENRE $METAYEAR $METADIRECTOR $METACAST $METACOMMENT $ffvbv_maxrate $ffvbv_bufsize $vfilters $coloroptions" case "$1" in 1p|crf) test "$encmode" = "1p" && passone="bitrate=$vbitrate" || passone="crf=$CRF" - OPTS1="${audparams[*]} $subparams $strict $movflags $MKVCOVER \"$OUTPUT\"" + OPTS1="${audparams[*]} $strict $subparams $MKVCOVER \"$OUTPUT\"" ;; 2p) passone="stats=\"${OUTFILE%.*}.log\":pass=1:bitrate=$vbitrate" passtwo="stats=\"${OUTFILE%.*}.log\":pass=2:bitrate=$vbitrate" OPTS1="-an -f null -y /dev/null" - OPTS2="${audparams[*]} $subparams $strict $movflags $MKVCOVER \"$OUTPUT\"" + OPTS2="${audparams[*]} $strict $subparams $MKVCOVER \"$OUTPUT\"" ;; 3p) passone="stats=\"${OUTFILE%.*}.log\":pass=1:bitrate=$vbitrate" passtwo="stats=\"${OUTFILE%.*}.log\":pass=3:bitrate=$vbitrate" OPTS1="-an -f null -y /dev/null" OPTS2="-an -f null -y /dev/null" - OPTS3="${audparams[*]} $subparams $strict $movflags $MKVCOVER \"$OUTPUT\"" + OPTS3="${audparams[*]} $strict $subparams $MKVCOVER \"$OUTPUT\"" ;; esac echo "nice -n $NICE $FFMPEG $verbose -i \"$input\" $VIDOPTS -c:v libx265 -x265-params $passone$X265PARAMS $OPTS1" @@ -3665,7 +3690,8 @@ echo "green \"-> Remuxing to $i...\"" >> "$OUTFILE" case "$i" in mp4|mov) movflags2="-movflags +faststart+frag_keyframe+use_metadata_tags" ;; - *) movflags2="" ;; + m2ts|ts|mts) movflags2=""; vflags="-bsf:v:0 hevc_mp4toannexb" ;; + *) movflags2=""; vflags="" ;; esac case "$i" in mkv) @@ -3687,7 +3713,7 @@ ;; esac fi - 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" + echo "$FFMPEG -i \"$OUTPUT\" -map 0 -c:v copy -c:a copy $suboption $vflags $movflags2 $strict $coloroptions $MKVCOVER2 $CHAPS $METATITLE $METAGENRE $METAYEAR $METADIRECTOR $METACAST $METACOMMENT ${audmeta[*]} ${audlang[*]} ${sublang[*]} ${sublng[*]} \"${OUTPUT%.*}.$i\" >/dev/null 2>&1" >> "$OUTFILE" echo "test \"\$?\" = \"0\" && green \"-> Done\" || red \"-> Failed!\"" >> "$OUTFILE" case "$i" in mp4|mov)
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
.