Projects
Multimedia
ffhevc
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 16
View file
ffhevc.changes
Changed
@@ -1,4 +1,22 @@ ------------------------------------------------------------------- +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
View file
ffhevc.spec
Changed
@@ -17,7 +17,7 @@ Name: ffhevc -Version: 2.9.9 +Version: 3.0.0 Release: 0 Summary: A small shell script for encoding to H.265/HEVC with ffmpeg License: GPL-2.0+
View file
ffhevc-2.9.9.tar.gz/ChangeLog -> ffhevc-3.0.0.tar.gz/ChangeLog
Changed
@@ -1,3 +1,18 @@ +2016-11-13 - ffhevc 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 + 2016-11-12 - ffhevc 2.9.9 * Added support for importing external srt/ssa subtitles for the mkv, m2ts, mts and ts containers
View file
ffhevc-2.9.9.tar.gz/ffhevc -> ffhevc-3.0.0.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: 2.9.9 -# Date: 2016-11-12 +# Version: 3.0.0 +# Date: 2016-11-13 # # 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="2.9.9" +version="3.0.0" CFG="$HOME/.ffhevc" -cfgversion="29" +cfgversion="30" genconfig_func() { cat<<EOF>>"$CFG" @@ -96,17 +96,11 @@ # detected audio tracks MAX_AUD_TRACKS="2" -# Set to "n" to disable subtitles +# Enable subtitles support? # Note: not all containers support # all types of subs! SUBS="y" -# Max amount of subtitles to support -# Any non-zero value will do. Set it -# to "auto" to ask for as many as -# detected subtitles -MAX_SUBS="1" - # Copy original metadata from input? METADATA="n" @@ -115,8 +109,8 @@ # libx265 parameters. Modify, if needed, # to fit your needs -# merange is calculated as: ctu size - 4 - 2 (- 1 if me=hex is used) -X265PARAMS="ref=4:me=star:bframes=6:rd=5:subme=6:merange=58:strong-intra-smoothing=1:ctu=64:sao=0:cu-lossless=1:cutree=1:rskip=1:max-merge=3:rc-lookahead=60:aq-mode=1:aq-strength=1.1:rdoq-level=1:psy-rdoq=5.5:psy-rd=3.0:limit-modes=1:limit-refs=1:rd-refine=1:deblock=-2,-2:weightb=1:weightp=1:rect=1:amp=0:wpp=1:pmode=0:pme=0:b-intra=1:b-adapt=2:b-pyramid=1:tskip-fast=0:fast-intra=0:early-skip=0:min-keyint=24:keyint=240" +# merange is calculated as: ctu size - 4(luma) - 2(chroma) (- 1 if me=hex is used) +X265PARAMS="ref=4:me=star:bframes=6:rd=5:subme=6:merange=58:strong-intra-smoothing=0:ctu=64:sao=0:cu-lossless=1:cutree=1:rskip=1:max-merge=3:rc-lookahead=60:aq-mode=3:aq-strength=1.0:rdoq-level=1:psy-rdoq=5.5:psy-rd=3.0:limit-modes=1:limit-refs=1:rd-refine=1:deblock=-2,-2:weightb=1:weightp=1:rect=1:amp=0:wpp=1:pmode=0:pme=0:b-intra=1:b-adapt=2:b-pyramid=1:tskip-fast=0:fast-intra=0:early-skip=0:min-keyint=24:keyint=240" # Leave empty to auto-detect ffmpeg/ffprobe or # set your custom ones (eg, /path/to/bin/ffmpeg) @@ -131,7 +125,7 @@ EOF } -while getopts ":v :m: :c: :p: :t: :e :r :h" opt; do +while getopts ":v :b :e :r :h :m: :c: :p: :t:" opt; do case "$opt" in v) echo "$version" @@ -146,7 +140,10 @@ exit 1 ;; esac - mode="$OPTARG" + encmode="$OPTARG" + ;; + b) + batchmode="1" ;; c) if [ ! -f "$OPTARG" ]; then @@ -198,6 +195,10 @@ echo " 2p (2-pass mode)" echo " crf (constant rate factor mode)" echo + brown " -b" + echo " Activate batch encoding mode. This mode is used to encode" + echo " directories with video files in them." + echo brown " -c /path/to/file/preset.txt" echo " Load a custom preset file. An example 'preset.txt' file" echo " is included with the ffhevc package. This option can also" @@ -253,8 +254,8 @@ done if [ ! -z "$PRSTFILE" ]; then - if [ ! -z "$(grep '^X265PARAMS' "$PRSTFILE")" ]; then - if [ ! -z "$vpreset" -o ! -z "$vtune" ]; then + if [ ! -z "$vpreset" -o ! -z "$vtune" ]; then + if [ ! -z "$(grep '^X265PARAMS' "$PRSTFILE")" ]; then echo error "-> x265 presets/tune profiles are mutually exclusive with custom presets!" echo @@ -265,6 +266,19 @@ exit 1 fi fi +else + if [ -z "$vpreset" ]; then + if [ -f "$CFG" -a -z "$(grep '^X265PARAMS' "$CFG")" ]; then + echo + error "-> The X265PARAMS variable is commented out" + error " or missing from '$CFG'" + echo + error "-> Regenerating config file!" + rm -f "$CFG" + genconfig_func + echo + fi + fi fi brown " __ __ _" @@ -306,12 +320,14 @@ if [ ! -x "$FFMPEG" ]; then error "-> ffmpeg is missing from your system!" error "-> Check the config in '$CFG'" + echo exit 1 fi else FFMPEG="$(which ffmpeg 2>/dev/null)" if [ ! -x "$FFMPEG" ]; then error "-> ffmpeg is missing from your system!" + echo exit 1 fi fi @@ -320,127 +336,185 @@ if [ ! -x "$FFPROBE" ]; then error "-> ffprobe is missing from your system!" error "-> Check the config in '$CFG'" + echo exit 1 fi else FFPROBE="$(which ffprobe 2>/dev/null)" if [ ! -x "$FFPROBE" ]; then error "-> ffprobe is missing from your system!" + echo exit 1 fi fi -printf "Specify the Input File: " -read -e input +if [ -z "$OUTDIR" ]; then + error "-> OUTDIR is not set in the config file!" + error "-> Check your config in '$CFG'" + 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 + fi +fi + +if [ ! -z "$batchmode" ]; then + error "-> Note: batch mode is in effect!" + error "-> Be careful which settings you use as they will" + error " apply to all files and may cause problems!" + echo + printf "Specify a File from the Directory to Encode from: " + read -e input +else + printf "Specify the Input File: " + read -e input +fi + if [ ! -f "$input" ]; then error "-> No such file!" exit 1 fi -printf "Specify a Name for the Output: " -read -e output -if [ -z "$output" ]; then - error "-> You have to provide a name for the output!" - exit 1 +if [ ! -z "$batchmode" ]; then + OUTPUT="$OUTDIR/$(basename $0)_$$" + printf "Specify the Output Directory [default is $OUTPUT]: " + read -e output + test -z "$output" && OUTPUT="$OUTPUT/\$i" || OUTPUT="$output/\$i" + mkdir -p "$(dirname "$OUTPUT")" 2>/dev/null + if [ $? != 0 ]; then + error "-> Could not create the output directory!" + exit 1 + fi else + printf "Specify a Name for the Output: " + read -e output
View file
ffhevc-2.9.9.tar.gz/ffhevc.1 -> ffhevc-3.0.0.tar.gz/ffhevc.1
Changed
@@ -9,7 +9,7 @@ .SH SYNOPSIS .B ffhevc -[\-m <mode>] [\-p <preset>] [\-t <tune>] [\-v|\-e|\-r|\-h] [\-c <preset/config file>] +[\-m <mode>] [\-p <preset>] [\-t <tune>] [\-b|\-v|\-e|\-r|\-h] [\-c <preset/config file>] .br .SH DESCRIPTION @@ -43,6 +43,10 @@ .RE . .TP +.B -b +Activate batch encoding mode. This mode is used to encode directories +with video files in them. +.TP .B -c /path/to/file/preset.txt Load a custom preset file. The package includes an example preset file. This option can also be used to load a custom configuration file instead
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
.