Projects
Multimedia
ffx264
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 21
View file
ffx264.changes
Changed
@@ -1,4 +1,195 @@ ------------------------------------------------------------------- +Wed Nov 16 09:10:00 UTC 2016 - neutrino8@opensuse.org + +- Update to version 3.1.8 + * Added support for 3-pass encoding + * Added support for setting a default audio codec in the config + file. Bumps up config file version to 28 + * 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.1.7 + * 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 27 + * 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 + +------------------------------------------------------------------- +Sun Nov 13 11:36:00 UTC 2016 - neutrino8@opensuse.org + +- Update to version 3.1.6 + * 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 + * 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 26 + * Check if the X264PARAMS var is missing from config in case we're + not using an x264 preset + * Updated the man page + +------------------------------------------------------------------- +Sat Nov 12 10:48:00 UTC 2016 - neutrino8@opensuse.org + +- Update to version 3.1.5 + * 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 3.1.4 + * 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, ts and flv 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 + currently supports + * Updated the README file + +------------------------------------------------------------------- +Wed Nov 09 07:00:00 UTC 2016 - neutrino8@opensuse.org + +- Update to version 3.1.3 + * Renamed config var CON to CONFMT. Updates config file version + to 25 + * 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 + +------------------------------------------------------------------- +Tue Nov 08 10:10:00 UTC 2016 - neutrino8@opensuse.org + +- Update to version 3.1.2 + * 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 3.1.1 + * 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 + * Added h264_mp4toannexb flag in case we're outputting to the AVI + container + * 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 3.1.0 + * 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 + +------------------------------------------------------------------- +Fri Nov 04 10:43:00 UTC 2016 - neutrino8@opensuse.org + +- Update to version 3.0.8 + * 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 24 + * 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:31:00 UTC 2016 - neutrino8@gmail.com + +- Update to version 3.0.7 + * 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 23 + * Do a test write to see if output directory is writable by + the script executing user + * Updated the README file + +------------------------------------------------------------------- +Wed Nov 02 19:41:00 UTC 2016 - neutrino8@gmail.com + +- Update to version 3.0.6 + * 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 22 + * Update to the README file + +------------------------------------------------------------------- +Tue Nov 01 00:35:00 UTC 2016 - neutrino8@gmail.com + +- Update to version 3.0.5 + * 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.1.7 @@ -176,6 +367,7 @@ * Cosmetics: add menu header to the Color Primaries option -------------------------------------------------------------------
View file
ffx264.spec
Changed
@@ -17,7 +17,7 @@ Name: ffx264 -Version: 3.1.7 +Version: 3.1.8 Release: 0 Summary: A small shell script for encoding to H.264 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.264 video format using ffmpeg and libx264. +A small shell script for encoding video files to the H.264/AVC video format +using ffmpeg and libx264. %prep %setup -q
View file
ffx264-3.1.7.tar.gz/ChangeLog -> ffx264-3.1.8.tar.gz/ChangeLog
Changed
@@ -1,3 +1,13 @@ +2016-11-16 - ffx264 3.1.8 + * Added support for 3-pass encoding + * Added support for setting a default audio codec in the config + file. Bumps up config file version to 28 + * 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 - ffx264 3.1.7 * Set default amount of subtitles to 1 instead of exiting when no value is given
View file
ffx264-3.1.7.tar.gz/ffx264 -> ffx264-3.1.8.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.1.7 -# Date: 2016-11-14 +# Version: 3.1.8 +# Date: 2016-11-16 # # ffx264 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.1.7" +version="3.1.8" CFG="$HOME/.ffx264" -cfgversion="27" +cfgversion="28" 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! @@ -126,7 +130,7 @@ ;; m) case "$OPTARG" in - [1-2]p|crf) true ;; + [1-3]p|crf) true ;; *) error "-> Invalid mode!" error "-> Use: $(basename $0) -h" @@ -143,7 +147,7 @@ error "-> No such file!" exit 1 fi - PRSTFILE="$OPTARG" + PRESETFILE="$OPTARG" ;; p) case "$OPTARG" in @@ -186,6 +190,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" @@ -289,9 +294,9 @@ source "$CFG" fi -if [ ! -z "$PRSTFILE" ]; then +if [ ! -z "$PRESETFILE" ]; then if [ ! -z "$vpreset" ]; then - if [ ! -z "$(grep '^X264PARAMS' "$PRSTFILE")" ]; then + if [ ! -z "$(grep '^X264PARAMS' "$PRESETFILE")" ]; then error "-> x264 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 X264PARAMS variable in it. Then you can use the built-in" @@ -300,14 +305,14 @@ exit 1 fi else - if [ -z "$(grep '^X264PARAMS' "$PRSTFILE")" ]; then + if [ -z "$(grep '^X264PARAMS' "$PRESETFILE")" ]; then error "-> The X264PARAMS variable is commented out or missing in your file!" error "-> Please at least add to the file: X264PARAMS=\"ref=4\" (for example)" echo exit 1 fi fi - source "$PRSTFILE" + source "$PRESETFILE" else if [ -z "$vpreset" ]; then if [ -f "$CFG" -a -z "$(grep '^X264PARAMS' "$CFG")" ]; then @@ -359,12 +364,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 @@ -418,7 +425,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)'" @@ -486,7 +493,7 @@ if [ "$acf" = "y" -o "$acf" = "Y" ]; then printf "Specify the Container Formats [example: mp4,m2ts,mov - 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 @@ -509,12 +516,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|mts|ts) green "-> Note: additional container $i supports all the audio codecs" @@ -570,7 +584,7 @@ fi case "$encmode" in - [1-2]p) + [1-3]p) printf "Specify the desired Video Bitrate in kbps [default is 8000]: " read vbtr test -z "$vbtr" && vbitrate="8000" || vbitrate="$vbtr" @@ -686,6 +700,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)" ;; @@ -1095,15 +1110,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 @@ -1158,17 +1170,14 @@ else printf "Sub $i: Specify the 3-letter Language Code for Metadata [press 'Enter' to skip]: " read slng[i]
View file
ffx264-3.1.7.tar.gz/ffx264.1 -> ffx264-3.1.8.tar.gz/ffx264.1
Changed
@@ -3,7 +3,7 @@ .de IPs .IP "\\$1" .. -.TH ffx264 1 "Nov 12, 2016" +.TH ffx264 1 "Nov 14, 2016" .SH NAME ffx264 @@ -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
.