Projects
Multimedia
ffx264
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 115
View file
ffx264.changes
Changed
@@ -1,4 +1,17 @@ ------------------------------------------------------------------- +Sat Oct 19 07:16:00 UTC 2019 - neutrino8@opensuse.org + +- Update to version 3.9.1 +* Use atomicparsley to add cover art for the mp4/m4v + containers. This removes dependence on MP4Box and + makes it possible to copy over metadata info in + an easy way +* Add +frag_keyframe to the -movflags option when + output is mp4 +* Renamed variable METACOVER to MKVCOVER +* Updated the man page + +------------------------------------------------------------------- Fri Oct 18 04:56:00 UTC 2019 - neutrino8@opensuse.org - Update to version 3.9.0
View file
ffx264.spec
Changed
@@ -17,7 +17,7 @@ Name: ffx264 -Version: 3.9.0 +Version: 3.9.1 Release: 0 Summary: A small shell script for encoding to H.264 with ffmpeg License: GPL-2.0+ @@ -27,7 +27,7 @@ Requires: ffmpeg Requires: bc Requires: MPlayer -Requires: gpac +Requires: AtomicParsley BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch
View file
ffx264-3.9.0.tar.gz/ChangeLog -> ffx264-3.9.1.tar.gz/ChangeLog
Changed
@@ -1,3 +1,13 @@ +---------- - ffx264 3.9.1 + * Use atomicparsley to add cover art for the mp4/m4v + containers. This removes dependence on MP4Box and + makes it possible to copy over metadata info in + an easy way + * Add +frag_keyframe to the -movflags option when + output is mp4 + * Renamed variable METACOVER to MKVCOVER + * Updated the man page + 2019-10-18 - ffx264 3.9.0 * Bugfix: use correct video track for crop preview with MPlayer
View file
ffx264-3.9.0.tar.gz/ffx264 -> ffx264-3.9.1.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.9.0 -# Date: 2019-10-18 +# Version: 3.9.1 +# Date: 2019-10-19 # # ffx264 is free software ; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -24,10 +24,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.9.0" +version="3.9.1" CFG="$HOME/.ffx264" -cfgversion="37" +cfgversion="38" genconfig_func() { cat<<EOF>>"$CFG" @@ -123,7 +123,7 @@ FFMPEG="" FFPROBE="" MPLAYER="" -MP4BOX="" +ATOMICPARSLEY="" # Add a custom comment to your encodes # Leave empty to disable/ask each time @@ -385,17 +385,17 @@ fi fi -if [ ! -z "$MP4BOX" ]; then - if [ ! -x "$MP4BOX" ]; then - error "-> MP4Box is missing from your system!" +if [ ! -z "$ATOMICPARSLEY" ]; then + if [ ! -x "$ATOMICPARSLEY" ]; then + error "-> atomicparsley is missing from your system!" error "-> Check the config in '$CFG'" echo exit 1 fi else - MP4BOX="$(which MP4Box 2>/dev/null)" - if [ ! -x "$MP4BOX" ]; then - error "-> MP4Box is missing from your system!" + ATOMICPARSLEY="$(which atomicparsley 2>/dev/null)" + if [ ! -x "$ATOMICPARSLEY" ]; then + error "-> atomicparsley is missing from your system!" echo exit 1 fi @@ -431,7 +431,7 @@ CONFMT="$(echo "$CONFMT" | tr '[:upper:]' '[:lower:]')" if [ ! -z "$CONFMT" ]; then case "$CONFMT" in - mp4|m4v|mov) movflags="-movflags +faststart" ;; + mp4|m4v|mov) movflags="-movflags +faststart+frag_keyframe" ;; avi|m2ts|mts|ts) annexb="-bsf:v h264_mp4toannexb" ;; mkv|flv|wmv) true ;; *) @@ -664,7 +664,7 @@ fi case "$CONFMT" in - mkv|mp4|mov|m4v) + mkv|mp4|m4v) printf "Specify a Cover Image in JPG/PNG format [press 'Enter' to skip]: " read -e cover if [ ! -z "$cover" ]; then @@ -681,16 +681,9 @@ ;; esac case "$CONFMT" in - mkv) METACOVER="-attach \"$(readlink -e "$cover")\" -metadata:s:t mimetype=\"image/$img\"" ;; - *) MP4COVER="-itags cover=\"$(readlink -e "$cover")\"" ;; + mkv) MKVCOVER="-attach \"$(readlink -e "$cover")\" -metadata:s:t mimetype=\"image/$img\"" ;; + mp4|m4v) MP4COVER="1" ;; esac - if [ ! -z "$remuxcon" ]; then - for i in $remuxcon; do - case "$i" in - mp4|mov|m4v) MP4COVER2="-itags cover=\"$(readlink -e "$cover")\"" ;; - esac - done - fi fi fi ;; @@ -3337,20 +3330,20 @@ case "$1" in 1p|crf) test "$encmode" = "1p" && passone="bitrate=$vbitrate" || passone="crf=$CRF" - OPTS1="${audparams[*]} $subparams $strict $movflags $METACOVER \"$OUTPUT\"" + OPTS1="${audparams[*]} $subparams $strict $movflags $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 $METACOVER \"$OUTPUT\"" + OPTS2="${audparams[*]} $subparams $strict $movflags $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 $METACOVER \"$OUTPUT\"" + OPTS3="${audparams[*]} $subparams $strict $movflags $MKVCOVER \"$OUTPUT\"" ;; esac echo "nice -n $NICE $FFMPEG -i \"$input\" $VIDOPTS -c:v libx264 -x264-params $passone$X264PARAMS $OPTS1" @@ -3393,14 +3386,14 @@ encoder_func $encmode >> "$OUTFILE" echo "" >> "$OUTFILE" case "$CONFMT" in - mp4|mov|m4v) + mp4|m4v) if [ ! -z "$MP4COVER" ]; then - case "$CONFMT" in - mp4|m4v) hint="-hint" ;; - esac - echo "$MP4BOX -add \"$OUTPUT\" $MP4COVER -mpeg4 $hint -new \"${OUTPUT%.*}_tmp$$.$CONFMT\" >/dev/null 2>&1" >> "$OUTFILE" - echo "rm -f \"$OUTPUT\"" >> "$OUTFILE" - echo "mv -f \"${OUTPUT%.*}_tmp$$.$CONFMT\" \"$OUTPUT\"" >> "$OUTFILE" + echo "echo" >> "$OUTFILE" + echo "green \"-> Adding cover image...\"" >> "$OUTFILE" + echo "$ATOMICPARSLEY \"$OUTPUT\" --artwork \"$(readlink -e "$cover")\" --overWrite >/dev/null 2>&1" >> "$OUTFILE" + echo "test \"\$?\" = \"0\" && green \"-> Done\" || red \"-> Failed!\"" >> "$OUTFILE" + echo "echo" >> "$OUTFILE" + echo "" >> "$OUTFILE" fi ;; esac @@ -3409,23 +3402,28 @@ echo "" >> "$OUTFILE" echo "echo" >> "$OUTFILE" echo "green \"-> Remuxing to $i...\"" >> "$OUTFILE" - echo "" >> "$OUTFILE" case "$i" in - avi|m2ts|mts|ts) echo "$FFMPEG -i \"$OUTPUT\" -map 0 -c copy -bsf:v h264_mp4toannexb $strict \"${OUTPUT%.*}.$i\" >/dev/null 2>&1" >> "$OUTFILE" ;; - wmv) echo "$FFMPEG -fflags +genpts -i \"$OUTPUT\" -map 0 -c copy $strict \"${OUTPUT%.*}.$i\" >/dev/null 2>&1" >> "$OUTFILE" ;; - *) echo "$FFMPEG -i \"$OUTPUT\" -map 0 -c copy $strict \"${OUTPUT%.*}.$i\" >/dev/null 2>&1" >> "$OUTFILE" ;; + wmv) vflags1="-fflags +genpts"; vflags2=""; MKVCOVER2="" ;; + avi|m2ts|mts|ts) vflags1=""; vflags2="-bsf:v:0 h264_mp4toannexb"; MKVCOVER2="" ;; + mkv) + vflags1="" + vflags2="" + if [ ! -z "$MP4COVER" ]; then + MKVCOVER2="-attach \"$(readlink -e "$cover")\" -metadata:s:t mimetype=\"image/$img\"" + fi + ;; + *) vflags1=""; vflags2=""; MKVCOVER2="" ;; esac + echo "$FFMPEG $vflags1 -i \"$OUTPUT\" -map 0 -c copy $vflags2 $strict $MKVCOVER2 $METATITLE $METAGENRE $METAYEAR $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|m4v) - if [ ! -z "$MP4COVER2" ]; then - case "$i" in - mp4|m4v) hint2="-hint" ;; - esac + mp4|m4v) + if [ ! -z "$MKVCOVER" ]; then echo "" >> "$OUTFILE" - echo "$MP4BOX -add \"${OUTPUT%.*}.$i\" $MP4COVER2 -mpeg4 $hint2 -new \"${OUTPUT%.*}_tmp$$.$i\" >/dev/null 2>&1" >> "$OUTFILE" - echo "rm -f \"${OUTPUT%.*}.$i\"" >> "$OUTFILE" - echo "mv -f \"${OUTPUT%.*}_tmp$$.$i\" \"${OUTPUT%.*}.$i\"" >> "$OUTFILE" + echo "echo" >> "$OUTFILE" + echo "green \"-> Adding cover image...\"" >> "$OUTFILE" + echo "$ATOMICPARSLEY \"${OUTPUT%.*}.$i\" --artwork \"$(readlink -e "$cover")\" --overWrite >/dev/null 2>&1" >> "$OUTFILE" + echo "test \"\$?\" = \"0\" && green \"-> Done\" || red \"-> Failed!\"" >> "$OUTFILE" fi ;; esac
View file
ffx264-3.9.0.tar.gz/ffx264.1 -> ffx264-3.9.1.tar.gz/ffx264.1
Changed
@@ -3,7 +3,7 @@ .de IPs .IP "\\$1" .. -.TH ffx264 1 "Oct 18, 2019" +.TH ffx264 1 "Oct 19, 2019" .SH NAME ffx264 @@ -30,7 +30,7 @@ .br - MPlayer (for crop preview only) .br -- MP4Box from GPAC (for mp4/m4v/mov cover art only) +- atomicparsley, version 0.9.2 or higher (for mp4 cover art only) .br - bc
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
.