Projects
Multimedia
ffhevc
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 20
View file
ffhevc.changes
Changed
@@ -1,4 +1,215 @@ ------------------------------------------------------------------- +Wed Nov 16 09:02:00 UTC 2016 - neutrino8@opensuse.org + +- Update to version 3.0.2 + * Added support for 3-pass encoding + * Added support for setting a default audio codec in the config + file. Bumps up config file version to 32 + * Moved setting the video bitrate before the video filters + * More variables renamings and other small code tweaks + * Do some checking on duplicate entries when using additional + containers and warn and exit + * Updated the man page + +------------------------------------------------------------------- +Mon Nov 14 09:18:00 UTC 2016 - neutrino8@opensuse.org + +- Update to version 3.0.1 + * Set default amount of subtitles to 1 instead of exiting when no + value is given + * Allow the user to choose the amount of audio tracks he wants at + run time instead of requiring it to be set in the config file. + This removes config file var MAX_AUD_TRACKS and bumps up version + to 31 + * Renamed array variables audmapval and submapval to audindex and + subindex since we're not mapping but specifying the audio/sub + index id with these vars + * Fixed a possible case where audio params weren't cleared in + case the nosound option was chosen + * Removed an if conditional checking for MAX_SUBS which no longer + is used + +------------------------------------------------------------------- +Sun Nov 13 11:36:00 UTC 2016 - neutrino8@opensuse.org + +- Update to version 3.0.0 + * Added support for batch encoding mode, to be activated with the + new -b option. It's used to encode directories with video files + * Renamed variable $mode to $encmode for clarity + * Reworked the input/output code + * Disabled strong-intra-smoothing in the default x265 options + in the config file + * Instead of relying on a config var to set the subtitles amount + to support, ask the user each time to provide it. Makes the + code less complex and easier to extend in the future. Bumps up + config file version to 30 + * Check if the X265PARAMS var is missing from config in case we're + not using an x265 preset + * Updated the man page + +------------------------------------------------------------------- +Sat Nov 12 10:48:00 UTC 2016 - neutrino8@opensuse.org + +- Update to version 2.9.9 + * Added support for importing external srt/ssa subtitles for the + mkv, m2ts, mts and ts containers + * Moved the subtitle code into its own video_subtitles_func() + function + * Added support for simultaneously copying subtitles from the + input file and copying external ones + * Renamed variable SUBT to SUBNR for clarity + * Updated the README file and man page + +------------------------------------------------------------------- +Thu Nov 10 21:15:00 UTC 2016 - neutrino8@opensuse.org + +- Update to version 2.9.8 + * Check if name of input file matches that of output file and warn + and exit. Requires the realpath utility + * Added support for the m2ts, mts and ts containers + * Merged the code that checks if an audio codec is supported by a + container with that that checks for additional output containers. + Removes code duplication and maintainability + * Update to the audio sample rates. Sync them with + ffmpeg -h encoder=<encoder> + * Restrict TrueHD channels to 2, 5 and 6 as that's what the encoder + supports + * Updated the README file + + +------------------------------------------------------------------- +Wed Nov 09 07:00:00 UTC 2016 - neutrino8@opensuse.org + +- Update to version 2.9.7 + * Renamed config var CON to CONFMT. Updates config file version + to 29 + * Reduced some duplication in the audio codec checks for the + container formats + * Reduced some error message duplication when checking if an + additional container supports an audio codec + * Rework to the additional container selection code + * Added color functions for the additional container conversion + * Added back support for the MOV container + +------------------------------------------------------------------- +Tue Nov 08 10:10:00 UTC 2016 - neutrino8@opensuse.org + +- Update to version 2.9.6 + * Added support for encoding to TrueHD audio. Requires a very + recent ffmpeg version, preferably latest from git + * Some small improvements to the additional container output + * Moved the video_deinterlace_func() function inside the actual + deinterlace code + * Update to the README file + * Update to the man page + +------------------------------------------------------------------- +Mon Nov 07 16:25:00 UTC 2016 - neutrino8@opensuse.org + +- Update to version 2.9.5 + * Cosmetics in the code for deinterlacing + * Instead of skipping FPS conversion if the FPS can't be detected, + ask the user to provide it + * Use single brackets instead of double ones in the nosound + setup code + * Added license snippet at the top of the script + * Added support for outputting to additional container formats + * Do some checking on supported audio codecs for the supported + containers + * Check specified container and warn and exit if it's not supported + * Support setting the FLAC compression level + * Break out of the if conditionals in the audio code and replace + them with two case statements + * Update to the README file + +------------------------------------------------------------------- +Sun Nov 06 09:52:00 UTC 2016 - neutrino8@opensuse.org + +- Update to version 2.9.4 + * Bugfix: resampling wasn't working for fdk-aac due to missing + value in the case statement + * Check if output file exists and if so, move it to $file.old + * Use test directly instead of an if condition to set the audio + filters + * Support bitrate calculations for target file size when doing + audio copy + * Use fdk* in the case statements for easier typing + * Renamed variable astrm to astream for clarity + * Use [1-2]p in the case statements for passmodes instead of 1p|2p + * New function, video_field_parity_func(), to detect and report the + interlace field order. Used by motion-compensation deinterlacing + and interlaced encoding + * Detect and display audio sample rate in case resampling is chosen + * Improvements to the video_fps_func() function. Get the FPS value + directly instead of outputting to a file and reading it + +------------------------------------------------------------------- +Sat Nov 05 10:56:00 UTC 2016 - neutrino8@opensuse.org + +- Update to version 2.9.3 + * Use a single var, $ofps, to set the output FPS for both + deinterlace bobbing and FPS conversion + * Use new $bob var to indicate that we do bobbing and use that + var to disable FPS conversion + * Renamed $fp var in video_deinterlace_func() to $fpar + * Print a warning message that FPS conversion gets disabled if + the user chooses audio copy + * Added support for the FDK-AAC audio codec. Requires ffmpeg + to be compiled with libfdk-aac support + * Support FPS conversion with the 'fps' filter + * Some minor code optimizations + +------------------------------------------------------------------- +Fri Nov 04 10:43:00 UTC 2016 - neutrino8@opensuse.org + +- Update to version 2.9.2 + * Bugfix: the scale variable was used twice for different things + causing an overwrite of the scale filter parameters, which + eventually results in ffmpeg complaining and exiting + * Added support for NTSC <-> NTSC and NTSC <-> PAL frame rate + conversions + * New var in config file, VID_FPS_CONVERT, to enable/disable + FPS conversion. Bumps up config file version to 28 + * Moved the FPS detection code into its own function so it can + be easily reused + * Minor cosmetics + * Updated the README file + +------------------------------------------------------------------- +Thu Nov 03 15:29:00 UTC 2016 - neutrino8@gmail.com + +- Update to version 2.9.1 + * Added support for interlace-aware encoding + * Added support for the spp, uspp and pp7 deblockers + * Support asking for software scaler during exec time + * Added new SCALE var to the config file to enable/disable + support for software scaling. Bumps up the config file + version to 27 + * Do a test write to see if output directory is writable by + the script executing user + * Updated the README file + +------------------------------------------------------------------- +Wed Nov 02 19:40:00 UTC 2016 - neutrino8@gmail.com + +- Update to version 2.9.0 + * Added support for motion compensation deinterlacing for both + deinterlacing at original FPS and bobbing + * Use denoise var instead of denoiser for the denoise filters + and rotate var instead of transpose for the transpose filter + * Added support for deblocking with the fspp filter. This bumps + up the config file version to 26 + * Update to the README file + +------------------------------------------------------------------- +Tue Nov 01 00:35:00 UTC 2016 - neutrino8@gmail.com + +- Update to version 2.8.9 + * Added support for bobbing (deinterlace at double FPS) + * Cosmetics: add menu header to the Color Primaries option + +------------------------------------------------------------------- +======= Mon Nov 14 09:18:00 UTC 2016 - neutrino8@opensuse.org - Update to version 3.0.1 @@ -196,6 +407,7 @@ * Cosmetics: add menu header to the Color Primaries option ------------------------------------------------------------------- +>>>>>>> ./ffhevc.changes.r2 Tue Oct 18 20:26:00 UTC 2016 - neutrino8@gmail.com - Add changes file
View file
ffhevc.spec
Changed
@@ -17,7 +17,7 @@ Name: ffhevc -Version: 3.0.1 +Version: 3.0.2 Release: 0 Summary: A small shell script for encoding to H.265/HEVC with ffmpeg License: GPL-2.0+ @@ -29,7 +29,8 @@ BuildArch: noarch %description -A very basic and small shell script for encoding video files to the H.265/HEVC video format using ffmpeg and libx265. +A small shell script for encoding video files to the H.265/HEVC video +format using ffmpeg and libx265. %prep %setup -q
View file
ffhevc-3.0.1.tar.gz/ChangeLog -> ffhevc-3.0.2.tar.gz/ChangeLog
Changed
@@ -1,3 +1,13 @@ +2016-11-16 - ffhevc 3.0.2 + * Added support for 3-pass encoding + * Added support for setting a default audio codec in the config + file. Bumps up config file version to 32 + * Moved setting the video bitrate before the video filters + * More variables renamings and other small code tweaks + * Do some checking on duplicate entries when using additional + containers and warn and exit + * Updated the man page + 2016-11-14 - ffhevc 3.0.1 * Set default amount of subtitles to 1 instead of exiting when no value is given
View file
ffhevc-3.0.1.tar.gz/ffhevc -> ffhevc-3.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: 3.0.1 -# Date: 2016-11-14 +# Version: 3.0.2 +# Date: 2016-11-16 # # ffhevc is free software ; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -23,10 +23,10 @@ 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.1" +version="3.0.2" CFG="$HOME/.ffhevc" -cfgversion="31" +cfgversion="32" genconfig_func() { cat<<EOF>>"$CFG" @@ -44,7 +44,7 @@ # Container format extension # Leave empty to ask each time -CONFMT="mkv" +CONFMT="" # Nice value (0-19) NICE="19" @@ -90,6 +90,10 @@ AUD_VOLUME="y" AUD_RESAMPLE="y" +# Set a default audio codec +# Leave empty to ask each time +DEFAULT_AUD_CODEC="" + # Enable subtitles support? # Note: not all containers support # all types of subs! @@ -127,7 +131,7 @@ ;; m) case "$OPTARG" in - [1-2]p|crf) true ;; + [1-3]p|crf) true ;; *) error "-> Invalid mode!" error "-> Use: $(basename $0) -h" @@ -144,7 +148,7 @@ error "-> No such file!" exit 1 fi - PRSTFILE="$OPTARG" + PRESETFILE="$OPTARG" ;; p) case "$OPTARG" in @@ -187,6 +191,7 @@ echo " defaults to crf mode. Valid pass modes are:" echo " 1p (1-pass mode)" echo " 2p (2-pass mode)" + echo " 3p (3-pass mode)" echo " crf (constant rate factor mode)" echo brown " -b" @@ -288,9 +293,9 @@ source "$CFG" fi -if [ ! -z "$PRSTFILE" ]; then +if [ ! -z "$PRESETFILE" ]; then if [ ! -z "$vpreset" ]; then - if [ ! -z "$(grep '^X265PARAMS' "$PRSTFILE")" ]; then + if [ ! -z "$(grep '^X265PARAMS' "$PRESETFILE")" ]; then error "-> x265 presets/tune profiles are mutually exclusive with custom presets!" error "-> If you want to use a custom configuration file, don't add or comment" error " out the X265PARAMS variable in it. Then you can use the built-in" @@ -299,14 +304,14 @@ exit 1 fi else - if [ -z "$(grep '^X265PARAMS' "$PRSTFILE")" ]; then + if [ -z "$(grep '^X265PARAMS' "$PRESETFILE")" ]; then error "-> The X265PARAMS variable is commented out or missing in your file!" error "-> Please at least add to the file: X265PARAMS=\"ref=4\" (for example)" echo exit 1 fi fi - source "$PRSTFILE" + source "$PRESETFILE" else if [ -z "$vpreset" ]; then if [ -f "$CFG" -a -z "$(grep '^X265PARAMS' "$CFG")" ]; then @@ -358,12 +363,14 @@ echo exit 1 else - mkdir -p "$OUTDIR" 2>/dev/null - if [ $? != 0 ]; then - error "-> Could not create the output directory!" - error "-> Check your config in '$CFG'" - echo - exit 1 + if [ ! -d "$OUTDIR" ]; then + mkdir -p "$OUTDIR" 2>/dev/null + if [ $? != 0 ]; then + error "-> Could not create the output directory!" + error "-> Check your config in '$CFG'" + echo + exit 1 + fi fi fi @@ -417,7 +424,7 @@ fi # Check if output dir is writable -WRITE="$(dirname "$OUTPUT")/.ff_writable$$" +WRITE="$(dirname "$OUTPUT")/.$(basename $0)_writable$$" touch "$WRITE" 2>/dev/null if [ $? != 0 ]; then error "-> Specified output directory is not writable by user '$(id -un)'" @@ -484,7 +491,7 @@ if [ "$acf" = "y" -o "$acf" = "Y" ]; then printf "Specify the Container Formats [example: mp4,mov,m2ts - press 'Enter' to skip]: " read econ - test ! -z "$econ" && extracon="$(echo "$econ" | sed 's|,| |g' | tr '[:upper:]' '[:lower:]')" + test ! -z "$econ" && extracon="$(echo "$econ" | tr '[:upper:]' '[:lower:]' | tr '[:punct:]' ' ')" if [ ! -z "$extracon" ]; then container_func() { case "$1" in @@ -504,12 +511,19 @@ esac } + DUPS="$(echo -e "$extracon" | sed 's| |\n|g' | sort | uniq -d)" + if [ ! -z "$DUPS" ]; then + error "-> You provided a duplicate container entry!" + exit 1 + fi + for i in $extracon; do + echo if [ "$i" = "$CONFMT" ]; then - error "-> Additional container matches the main output container!" + error "-> Additional container $i matches the main output container!" + echo exit 1 fi - echo case "$i" in mkv|m2ts|ts) green "-> Note: additional container $i supports all the audio codecs" ;; mp4) container_func mp4 ;; @@ -557,7 +571,7 @@ fi case "$encmode" in - [1-2]p) + [1-3]p) printf "Specify the desired Video Bitrate in kbps [default is 5000]: " read vbtr test -z "$vbtr" && vbitrate="5000" || vbitrate="$vbtr" @@ -673,6 +687,7 @@ video_field_parity_func() { echo green "-> Detecting Field Parity..." + sleep 1 FPAR="$($FFPROBE -i "$input" -show_streams -select_streams v:0 -show_frames -read_intervals %+7 2>&1 | sed -n 's|^field_order=||p' | tail -1)" case "$FPAR" in t*|T*) fp="tff"; fparity="Top Field First (TFF)" ;; @@ -1081,15 +1096,12 @@ if [ ! -z "${subnr[i]}" ]; then printf "Sub $i: Specify the 3-letter Language Code for Metadata [press 'Enter' to skip]: " read slang[i] - if [ ! -z "${slang[i]}" ]; then - sublang[i]="-metadata:s:s:${subindex[i]} language=${slang[i]}" - fi - subcopy[i]="-map ${subnr[i]} -c:s:${subindex[i]} copy ${sublang[i]}" + test ! -z "${slang[i]}" && sublang[i]="-metadata:s:s:${subindex[i]} language=${slang[i]}" # Workaround for an ffmpeg disposition issue - # where in some cases it sets subsequent tracks + # where in some cases it flags subsequent tracks # as default. test "$i" = "1" && sdis="default" || sdis="none" - subdis[i]="-disposition:s:${subindex[i]} $sdis" + subcopy[i]="-map ${subnr[i]} -c:s:${subindex[i]} copy ${sublang[i]} -disposition:s:${subindex[i]} $sdis" else error "-> No value given!" exit 1 @@ -1144,17 +1156,14 @@ else printf "Sub $i: Specify the 3-letter Language Code for Metadata [press 'Enter' to skip]: " read slng[i] - if [ ! -z "${slng[i]}" ]; then - sublng[i]="-metadata:s:s:${subidx[i]} language=${slng[i]}" - fi - EXTSUBS[i]="-i \"${subfile[i]}\"" + test ! -z "${slng[i]}" && sublng[i]="-metadata:s:s:${subidx[i]} language=${slng[i]}" if [ ! -z "${subindex[*]}" ]; then sdispo="none" else test "$i" = "1" && sdispo="default" || sdispo="none" fi - subdispo[i]="-disposition:s:${subidx[i]} $sdispo" - subcpy[i]="-map $i:0 -c:s:${subidx[i]} copy ${sublng[i]}" + EXTSUBS[i]="-i \"${subfile[i]}\"" + subcpy[i]="-map $i:0 -c:s:${subidx[i]} copy ${sublng[i]} -disposition:s:${subidx[i]} $sdispo" fi done fi @@ -1242,39 +1251,46 @@ test -z "${astream[i]}" && atrack[i]="0:1" || atrack[i]="${astream[i]}" printf "Track $i: Specify the 3-letter Language Code for Metadata [press 'Enter' to skip]: " read alang[i] - if [ ! -z "${alang[i]}" ]; then - audlang[i]="-metadata:s:a:${audindex[i]} language=${alang[i]}" - fi + test ! -z "${alang[i]}" && audlang[i]="-metadata:s:a:${audindex[i]} language=${alang[i]}" audmap[i]="-map ${atrack[i]}" done - echo - brown " Available Audio Codecs" - brown " ~~~~~~~~~~~~~~~~~~~~~~" - echo " AC3 -----> Channels Support: 6 (codec max)" - echo " EAC3 ----> Channels Support: 6 (encoder max)" - echo " DTS -----> Channels Support: 6 (codec max)" - echo " AAC -----> Channels Support: 8 (ffmpeg max)" - echo " FDK-AAC -> Channels Support: 8 (ffmpeg max)" - echo " Opus ----> Channels Support: 8 (ffmpeg max)" - echo " Vorbis --> Channels Support: 8 (ffmpeg max)" - echo " MP3 -----> Channels Support: 2 (codec max)" - echo " TrueHD --> Channels Support: 6 (encoder max)" - echo " FLAC ----> Channels Support: 8 (codec max)" - echo " PCM -----> Channels Support: 8 (ffmpeg max)" - echo " COPY ----> Channels Support: depends on audio codec" - echo " NOSOUND -> Channels Support: N/A" + if [ -z "$DEFAULT_AUD_CODEC" ]; then + echo + brown " Available Audio Codecs" + brown " ~~~~~~~~~~~~~~~~~~~~~~" + echo " AC3 -----> Channels Support: 6 (codec max)" + echo " EAC3 ----> Channels Support: 6 (encoder max)" + echo " DTS -----> Channels Support: 6 (codec max)" + echo " AAC -----> Channels Support: 8 (ffmpeg max)" + echo " FDK-AAC -> Channels Support: 8 (ffmpeg max)" + echo " Opus ----> Channels Support: 8 (ffmpeg max)" + echo " Vorbis --> Channels Support: 8 (ffmpeg max)" + echo " MP3 -----> Channels Support: 2 (codec max)" + echo " TrueHD --> Channels Support: 6 (encoder max)" + echo " FLAC ----> Channels Support: 8 (codec max)" + echo " PCM -----> Channels Support: 8 (ffmpeg max)" + echo " COPY ----> Channels Support: depends on audio codec" + echo " NOSOUND -> Channels Support: N/A" + else + echo + green "-> Using default audio codec set in config file: $DEFAULT_AUD_CODEC" + fi for i in $(eval echo "{1..$ATRACKS}"); do echo # Workaround for an ffmpeg disposition issue # where in some cases it flags subsequent # tracks as default. - test "$i" = "1" && adis="default" || adis="none" - auddis[i]="-disposition:a:${audindex[i]} $adis" + test "$i" = "1" && adispo="default" || adispo="none" + auddispo[i]="-disposition:a:${audindex[i]} $adispo" - printf "Track $i: Specify the Audio Codec [default is AC3]: " - read acodec[i] + if [ -z "$DEFAULT_AUD_CODEC" ]; then + printf "Track $i: Specify the Audio Codec [default is AC3]: " + read acodec[i] + else + acodec[i]="$DEFAULT_AUD_CODEC" + fi acodec[i]="$(echo "${acodec[i]}" | tr '[:upper:]' '[:lower:]')" case "${acodec[i]}" in ac3|"") @@ -1366,7 +1382,7 @@ # clear any audio options given for t in $(eval echo "{1..$ATRACKS}"); do audparams[t]= - auddis[t]= + auddispo[t]= done echo error "-> NOSOUND chosen. Clearing all other audio options!" @@ -1559,7 +1575,7 @@ printf "Track $i: Set the Audio Volume? [y/N]: " read setavol[i] if [ "${setavol[i]}" = "y" -o "${setavol[i]}" = "Y" ]; then - printf "Track $i: Specify the Audio Volume filter value in dB [-100-100 - default is 4.0]: " + printf "Track $i: Specify the Audio Volume value in dB [-100-100 - default is 4.0]: " read avol[i] test -z "${avol[i]}" && audvol[i]="4" || audvol[i]="${avol[i]}" avolume[i]="volume=${audvol[i]}dB," @@ -1762,7 +1778,7 @@ test ! -z "${afilters[i]}" && audfilters[i]="-filter:a:${audindex[i]} ${afilters[i]}" fi - audparams[i]="${audmap[i]} -c:a:${audindex[i]} ${acdc[i]} ${audprofile[i]} ${audcomplevel[i]} ${audbtr[i]} ${audchan[i]} ${audfilters[i]} ${audlang[i]} ${audmeta[i]}" + audparams[i]="${audmap[i]} -c:a:${audindex[i]} ${acdc[i]} ${audprofile[i]} ${audcomplevel[i]} ${audbtr[i]} ${audchan[i]} ${audfilters[i]} ${audlang[i]} ${audmeta[i]} ${auddispo[i]}" done fi @@ -1773,7 +1789,7 @@ fi case "$encmode" in - [1-2]p) + [1-3]p) # Haven't found a reliable way to make it work with # FLAC and PCM audio so just skip this if one of # these audio codecs is chosen. Patch welcome @@ -1843,6 +1859,7 @@ case "$encmode" in 1p) pass="1-pass" ;; 2p) pass="2-pass" ;; + 3p) pass="3-pass" ;; crf|"") pass="CRF"; encmode="crf" ;; esac @@ -1874,24 +1891,35 @@ test ! -z "$COMMENT" && METACOMMENT="-metadata comment=\"$COMMENT\"" encoder_func() { - OPTS1="${EXTSUBS[*]} -map 0:0 -disposition:v:0 default $ofps $NOSUBS $MDATA $CHPS $METATITLE $METAGENRE $METAYEAR $METACOMMENT $vfilters $sws" + VIDOPTS="${EXTSUBS[*]} -map 0:0 -disposition:v:0 default $ofps $NOSUBS $MDATA $CHPS $METATITLE $METAGENRE $METAYEAR $METACOMMENT $vfilters $sws" case "$1" in 1p|crf) test "$encmode" = "1p" && passone="bitrate=$vbitrate" || passone="crf=$CRF" - OPTS2="${audparams[*]} ${auddis[*]} ${subcopy[*]} ${subcpy[*]} ${subdis[*]} ${subdispo[*]} $strict $movflags $METACOVER \"$OUTPUT\"" + OPTS1="${audparams[*]} ${subcopy[*]} ${subcpy[*]} $strict $movflags $METACOVER \"$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[*]} ${subcopy[*]} ${subcpy[*]} $strict $movflags $METACOVER \"$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[*]} ${auddis[*]} ${subcopy[*]} ${subcpy[*]} ${subdis[*]} ${subdispo[*]} $strict $movflags $METACOVER \"$OUTPUT\"" + OPTS3="${audparams[*]} ${subcopy[*]} ${subcpy[*]} $strict $movflags $METACOVER \"$OUTPUT\"" ;; esac - echo "nice -n $NICE $FFMPEG -i \"$input\" $OPTS1 -c:v libx265 -x265-params $passone$X265PARAMS $OPTS2" + echo "nice -n $NICE $FFMPEG -i \"$input\" $VIDOPTS -c:v libx265 -x265-params $passone$X265PARAMS $OPTS1" case "$1" in - 2p) + 2p|3p) echo - echo "nice -n $NICE $FFMPEG -i \"$input\" $OPTS1 -c:v libx265 -x265-params $passtwo$X265PARAMS $OPTS3" + echo "nice -n $NICE $FFMPEG -i \"$input\" $VIDOPTS -c:v libx265 -x265-params $passtwo$X265PARAMS $OPTS2" + if [ "$1" = "3p" ]; then + echo + echo "nice -n $NICE $FFMPEG -i \"$input\" $VIDOPTS -c:v libx265 -x265-params $passtwo$X265PARAMS $OPTS3" + fi ;; esac }
View file
ffhevc-3.0.1.tar.gz/ffhevc.1 -> ffhevc-3.0.2.tar.gz/ffhevc.1
Changed
@@ -3,7 +3,7 @@ .de IPs .IP "\\$1" .. -.TH ffhevc 1 "Nov 12, 2016" +.TH ffhevc 1 "Nov 14, 2016" .SH NAME ffhevc @@ -39,6 +39,8 @@ .br .B 2p (2-pass mode) .br +.B 3p (3-pass mode) +.br .B crf (constant rate factor mode) .RE .
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
.