Projects
Multimedia
ffxvid
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 62
View file
ffxvid.changes
Changed
@@ -1,4 +1,17 @@ ------------------------------------------------------------------- +Sat Oct 19 07:16:00 UTC 2019 - neutrino8@opensuse.org + +- Update to version 1.4.8 +* 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 1.4.7
View file
ffxvid.spec
Changed
@@ -17,7 +17,7 @@ Name: ffxvid -Version: 1.4.7 +Version: 1.4.8 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
ffxvid-1.4.7.tar.gz/ChangeLog -> ffxvid-1.4.8.tar.gz/ChangeLog
Changed
@@ -1,3 +1,13 @@ +----------- - ffxvid 1.4.8 + * 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 - ffxvid 1.4.7 * Bugfix: use correct video track for crop preview with MPlayer
View file
ffxvid-1.4.7.tar.gz/ffxvid -> ffxvid-1.4.8.tar.gz/ffxvid
Changed
@@ -2,8 +2,8 @@ # # Small script to encode to Xvid video using FFmpeg. # Author: Grozdan "microchip" Nikolov <neutrino8@opensuse.org> -# Version: 1.4.7 -# Date: 2019-10-18 +# Version: 1.4.8 +# 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="1.4.7" +version="1.4.8" CFG="$HOME/.ffxvid" -cfgversion="11" +cfgversion="12" genconfig_func() { cat<<EOF>>"$CFG" @@ -122,7 +122,7 @@ FFMPEG="" FFPROBE="" MPLAYER="" -MP4BOX="" +ATOMICPARSLEY="" # Add a custom comment to your encodes # Leave empty to disable/ask each time @@ -324,17 +324,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 @@ -370,11 +370,11 @@ 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|mkv|wmv) true ;; *) error "-> Xvid video not supported by the chosen container!" - error "-> Supported containers are: avi, wmv, mov, mkv" + error "-> Supported containers are: avi, wmv, mp4, m4v, mov, mkv" error "-> Check your config file, if needed, in '$CFG'" exit 1 ;; @@ -594,7 +594,7 @@ fi case "$CONFMT" in - mkv|mp4|m4v|mov) + mkv|mp4|m4v) printf "Specify a Cover Image in JPG/PNG format [press 'Enter' to skip]: " read -e cover if [ ! -z "$cover" ]; then @@ -611,16 +611,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|m4v|mov) MP4COVER2="-itags cover=\"$(readlink -e "$cover")\"" ;; - esac - done - fi fi fi ;; @@ -3163,13 +3156,13 @@ case "$1" in 1p|cq) test "$encmode" = "1p" && passone="-b:v $vbitrate" || passone="-q:v $CQ" - OPTS1="${audparams[*]} $subparams $strict $movflags $METACOVER \"$OUTPUT\"" + OPTS1="${audparams[*]} $subparams $strict $movflags $MKVCOVER \"$OUTPUT\"" ;; 2p) passone="-pass 1 -b:v $vbitrate -passlogfile \"${OUTFILE%.*}.log\"" passtwo="-pass 2 -b:v $vbitrate -passlogfile \"${OUTFILE%.*}.log\"" OPTS1="-an -f null -y /dev/null" - OPTS2="${audparams[*]} $subparams $strict $movflags $METACOVER \"$OUTPUT\"" + OPTS2="${audparams[*]} $subparams $strict $movflags $MKVCOVER \"$OUTPUT\"" ;; esac echo "nice -n $NICE $FFMPEG -i \"$input\" $VIDOPTS -c:v libxvid $passone $XVIDPARAMS $OPTS1" @@ -3208,14 +3201,14 @@ encoder_func $encmode >> "$OUTFILE" echo "" >> "$OUTFILE" case "$CONFMT" in - mp4|m4v|mov) + 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 @@ -3224,22 +3217,26 @@ echo "" >> "$OUTFILE" echo "echo" >> "$OUTFILE" echo "green \"-> Remuxing to $i...\"" >> "$OUTFILE" - echo "" >> "$OUTFILE" case "$i" in - 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) vflags="-fflags +genpts"; MKVCOVER2="" ;; + mkv) + vflags="" + if [ ! -z "$MP4COVER" ]; then + MKVCOVER2="-attach \"$(readlink -e "$cover")\" -metadata:s:t mimetype=\"image/$img\"" + fi + ;; + *) vflags=""; MKVCOVER2="" ;; esac + echo "$FFMPEG $vflags -i \"$OUTPUT\" -map 0 -c copy $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|m4v|mov) - 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
ffxvid-1.4.7.tar.gz/ffxvid.1 -> ffxvid-1.4.8.tar.gz/ffxvid.1
Changed
@@ -3,7 +3,7 @@ .de IPs .IP "\\$1" .. -.TH ffxvid 1 "Oct 18, 2019" +.TH ffxvid 1 "Oct 19, 2019" .SH NAME ffxvid @@ -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
.