<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.campisano.org/wiki/Script_ffmpeg.sh/history?feed=atom</id>
	<title>Script ffmpeg.sh - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.campisano.org/wiki/Script_ffmpeg.sh/history?feed=atom"/>
	<link rel="alternate" type="text/html" href="https://www.campisano.org/wiki/Script_ffmpeg.sh/history"/>
	<updated>2026-05-14T07:09:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://www.campisano.org/mediawiki/index.php?title=Script_ffmpeg.sh&amp;diff=483&amp;oldid=prev</id>
		<title>imported&gt;T1t0: 1 revision</title>
		<link rel="alternate" type="text/html" href="https://www.campisano.org/mediawiki/index.php?title=Script_ffmpeg.sh&amp;diff=483&amp;oldid=prev"/>
		<updated>2011-08-28T05:54:46Z</updated>

		<summary type="html">&lt;p&gt;1 revision&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if [ -z &amp;quot;$1&amp;quot; ] || [ -z &amp;quot;$2&amp;quot; ]; then&lt;br /&gt;
    echo	&amp;quot;Usage: $0 &amp;lt;input-file&amp;gt; &amp;lt;output-file&amp;gt; [other-opts]&amp;quot;;&lt;br /&gt;
    exit -1;&lt;br /&gt;
fi;&lt;br /&gt;
&lt;br /&gt;
if [ ! -x &amp;quot;`which ffmpeg`&amp;quot; ]; then&lt;br /&gt;
    echo	&amp;quot;Can&amp;#039;t find ffmpeg command&amp;quot;;&lt;br /&gt;
    exit;&lt;br /&gt;
fi;&lt;br /&gt;
&lt;br /&gt;
if [ ! -f &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
    echo	&amp;quot;Can&amp;#039;t find input file&amp;quot;;&lt;br /&gt;
    exit;&lt;br /&gt;
fi;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OTHEROPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ARRAY=(&amp;quot;$@&amp;quot;)&lt;br /&gt;
COUNT=2&lt;br /&gt;
#while test $COUNT -lt $#; do&lt;br /&gt;
while test $COUNT -lt &amp;quot;$#&amp;quot;; do&lt;br /&gt;
    OTHEROPTS=&amp;quot;$OTHEROPTS ${ARRAY[COUNT]}&amp;quot;;&lt;br /&gt;
    COUNT=$((COUNT+1));&lt;br /&gt;
done;&lt;br /&gt;
&lt;br /&gt;
echo -e &amp;quot;input-file=\t$1&amp;quot;&lt;br /&gt;
echo -e &amp;quot;output-file=\t$2&amp;quot;&lt;br /&gt;
echo -e &amp;quot;other-opts=\t$OTHEROPTS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
nice -5 ffmpeg -t 1 -i &amp;quot;$1&amp;quot; -f null - &amp;amp;&amp;gt; ___time.log;&lt;br /&gt;
TIME=`cat ___time.log | grep Duration | cut -d . -f 1 | cut -d &amp;#039; &amp;#039; -f 4`;&lt;br /&gt;
if [ $? -ne 0 ]; then&lt;br /&gt;
    echo	&amp;quot;qualcosa e&amp;#039; andato storto durante la lettura della durata del filmato&amp;quot;;&lt;br /&gt;
    exit -1&lt;br /&gt;
fi;&lt;br /&gt;
rm -f ___time.log;&lt;br /&gt;
echo &amp;quot;movie time               :	$TIME&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
SECONDS=$(( $(echo $TIME | cut -d : -f 1)*3600 + $(echo $TIME | cut -d : -f 2)*60 +  $(echo $TIME | cut -d : -f 3) ));&lt;br /&gt;
if [ $? -ne 0 ]; then&lt;br /&gt;
    echo	&amp;quot;qualcosa e&amp;#039; andato storto durante il calcolo della durata in secondi&amp;quot;;&lt;br /&gt;
    exit -1&lt;br /&gt;
fi;&lt;br /&gt;
echo &amp;quot;movie time in seconds    :	$SECONDS&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
MAXSIZE=700&lt;br /&gt;
AUDIOBITRATE=128;&lt;br /&gt;
VIDEOBITRATE=$(( ($MAXSIZE*1024*8) /$SECONDS - $AUDIOBITRATE));&lt;br /&gt;
# tolgo il 10% per essere sicuro che rientri in $MAXSIZE&lt;br /&gt;
VIDEOBITRATE=$(($VIDEOBITRATE- ($VIDEOBITRATE/10)));&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;defined audio bitrate    :	$AUDIOBITRATE&amp;quot;;&lt;br /&gt;
echo &amp;quot;extimated vidio bitrate  :	$VIDEOBITRATE&amp;quot;;&lt;br /&gt;
echo&lt;br /&gt;
echo&lt;br /&gt;
echo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
### Encoding in ONE pass&lt;br /&gt;
&lt;br /&gt;
nice -5 ffmpeg -i &amp;quot;$1&amp;quot; \&lt;br /&gt;
-f avi -deinterlace \&lt;br /&gt;
-vcodec mpeg4 -b $VIDEOBITRATE \&lt;br /&gt;
-acodec mp3 -ar 44100 -ac 1 -ab $AUDIOBITRATE \&lt;br /&gt;
$OTHEROPTS \&lt;br /&gt;
&lt;br /&gt;
&amp;quot;$2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
### Encoding in TWO pass&lt;br /&gt;
&lt;br /&gt;
# 1st pass: the statistics of the video are recorded&lt;br /&gt;
#nice -5 ffmpeg -i &amp;quot;$1&amp;quot; \&lt;br /&gt;
#-f avi -deinterlace \&lt;br /&gt;
#-vcodec mpeg4 -b $VIDEOBITRATE \&lt;br /&gt;
#-acodec mp3 -ar 44100 -ac 1 -ab $AUDIOBITRATE \&lt;br /&gt;
#-pass 1 -passlogfile ___ffmpeg.log \&lt;br /&gt;
#$OTHEROPTS \&lt;br /&gt;
#___pass1.avi&lt;br /&gt;
&lt;br /&gt;
# 2nd pass: the video is generated at the exact requested bitrate&lt;br /&gt;
#nice -5 ffmpeg -i &amp;quot;$1&amp;quot; \&lt;br /&gt;
#-f avi -deinterlace \&lt;br /&gt;
#-vcodec mpeg4 -b $VIDEOBITRATE \&lt;br /&gt;
#-acodec mp3 -ar 44100 -ac 1 -ab $AUDIOBITRATE \&lt;br /&gt;
#-pass 2 -passlogfile ___ffmpeg.log \&lt;br /&gt;
#$OTHEROPTS \&lt;br /&gt;
#&amp;quot;$2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
echo&lt;br /&gt;
&lt;br /&gt;
ls -sh &amp;quot;$2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#echo test&lt;br /&gt;
#ffmpeg -t 10 -v 5 -i &amp;quot;$2&amp;quot; -f null -&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#rm -f ___test.avi ___ffmpeg.log&lt;br /&gt;
&lt;br /&gt;
#ffmpeg -i &amp;quot;$1&amp;quot; \&lt;br /&gt;
#-acodec mp3 -ar 44100 -ab $AUDIOBITRATE \&lt;br /&gt;
#-vcodec mpeg4 -hq -4mv -b $VIDEOBITRATE \&lt;br /&gt;
#-pass 1 -passlogfile ___ffmpeg.log \&lt;br /&gt;
#___test.avi&lt;br /&gt;
&lt;br /&gt;
##ffmpeg -i &amp;quot;$1&amp;quot; \&lt;br /&gt;
##-acodec copy \&lt;br /&gt;
##-vcodec mpeg4 \&lt;br /&gt;
##-pass 1 -passlogfile ___ffmpeg.log \&lt;br /&gt;
##___test.avi&lt;br /&gt;
&lt;br /&gt;
#if [ $? -ne 0 ]; then&lt;br /&gt;
#    echo	&amp;quot;qualcosa e&amp;#039; andato storto durante il primo passaggio della codifica!&amp;quot;;&lt;br /&gt;
#    exit -1&lt;br /&gt;
#fi;&lt;br /&gt;
&lt;br /&gt;
#ffmpeg -i &amp;quot;$1&amp;quot; \&lt;br /&gt;
#-acodec mp3 -ar 44100 -ab $AUDIOBITRATE \&lt;br /&gt;
#-vcodec mpeg4 -hq -4mv -b $VIDEOBITRATE \&lt;br /&gt;
#-pass 2 -passlogfile ___ffmpeg.log \&lt;br /&gt;
#&amp;quot;$2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# -s 352x288 \&lt;br /&gt;
#-an \&lt;br /&gt;
#-acodec mp3 -ar 44100 -ab $AUDIOBITRATE \&lt;br /&gt;
#-vcodec mpeg4 -hq -4mv -b $VIDEOBITRATE \&lt;br /&gt;
#-deinterlace -async 1 -s 640x460 \&lt;br /&gt;
#-croptop 110 -cropbottom 110 -cropleft 6 -cropright 6 \&lt;br /&gt;
#-pass 1 -passlogfile ___ffmpeg.log \&lt;br /&gt;
# End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>imported&gt;T1t0</name></author>
	</entry>
</feed>