<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Liomans Blog &#187; videocodecs</title>
	<atom:link href="http://www.lioman.de/tag/videocodecs/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lioman.de</link>
	<description>42 ist die Antwort - aber wie lautet die Frage?</description>
	<lastBuildDate>Fri, 11 May 2012 09:45:30 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Script: Videos in XVID encodieren</title>
		<link>http://www.lioman.de/2009/11/script-videos-in-xvid-encodieren/</link>
		<comments>http://www.lioman.de/2009/11/script-videos-in-xvid-encodieren/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 17:40:35 +0000</pubDate>
		<dc:creator>Lioman</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[PC und Technik]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[encodieren]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[videocodecs]]></category>
		<category><![CDATA[xvid]]></category>

		<guid isPermaLink="false">http://www.lioman.de/?p=1068</guid>
		<description><![CDATA[<p>Platzsparende Videocodecs wie x264 verpackt in einem MP4-Container bieten hochqualitative Videos bei kleiner Größe. So ist es nicht verwunderlich, dass Videos mit diesem Format im Netz weit verbreitet sind. Das Problem dabei: Viele Standaloneplayer können es nicht lesen. Man muss &#8230; <a href="http://www.lioman.de/2009/11/script-videos-in-xvid-encodieren/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>Zum Blog: <a href=http://www.lioman.de/?utm_source=feed&utm_medium=feed&utm_campaign=feed>www.lioman.de </a>
<img src="http://lioman.bplaced.net/piwik/piwik.php?idsite=1&rec=1action_name=Feed" style="border:0" alt="" />
</p>]]></description>
			<content:encoded><![CDATA[<p><em><strong>Platzsparende Videocodecs wie </strong></em><a id="aptureLink_ynOQW1qJww" href="http://de.wikipedia.org/wiki/X264">x264</a><em><strong> verpackt in einem MP4-Container bieten hochqualitative Videos bei kleiner Größe. So ist es nicht verwunderlich, dass Videos mit diesem Format im Netz weit verbreitet sind.  Das Problem dabei: Viele Standaloneplayer können es nicht lesen. Man muss also umencodieren.</strong></em></p>
<p>Da ich immer mal wieder Videos in verschiedensten Formaten aus dem Netz lade, sie aber mit dem DVD-Recorder anschauen möchte, habe ich ein kleines Script geschrieben, dass alles automatisch erledigt.</p>
<p>Der Player kann wie die meisten XVID/DIVX &#8211; Avicontainer lesen. Es sollen also alle Videos in dieses Format überführt werden. Das Problem: Es gibt viele verschiedene Quellen und Qualitätsstufen. HDTV-Videos wie <a title="HOME" href="http://www.home-2009.com/" target="_blank">HOME </a>über <a title="Torrent" href="http://www.legaltorrents.com/torrents/547-home-2009" target="_blank">Legaltorrents.com</a> (Sehr groß, mp4, aac), Youtube/ Vimeo videos (kleine flv, zT. HQ-Videos/mp4) , Streammitschnitte (unterschiedlicher Ausführung) und natürlich TV-Mitschnitte in DVD-Qualität. Die verschieden Quellen sollen alle jeweils so optimal wie möglich verarbeitet werden und von Hand ist es viel zu viel Arbeit.</p>
<p>Ich möchte als Ergebnis eine möglichst hohe Qualität haben, bei vernünftiger Videogröße und natürlich absoluter Kompatibilität.</p>
<p>Dazu folgende Erkenntnis: Das Ergebnis wird nie besser als die Quelle werden. Es macht also keinen Sinn aus einem kleinen *.flv-Video ein 1280&#215;720-Video mit ac3-Sound und einer Bitrate von 1000 zu machen. Andererseits kann der Player nicht mit zu Großen Bildern umgehen und ich will ja auch Platz sparen.</p>
<p>Was macht das Script:</p>
<ol>
<li>Quelle prüfen</li>
<li>Qualität festsetzen<br />
nicht besser als Quelle aber höchstens 720 in der Breite bei einer Bitrate von 750</li>
<li>2-pass-Encodieren und danach aufräumen</li>
</ol>
<p>Wie nutzt man das Script?</p>
<ol>
<li>runterladen</li>
<li>entpacken</li>
<li>
<pre>chmod +x #(Ausfuehrbar machen)</pre>
</li>
<li><span style="font-size: small;">
<pre>./Video2xvid video1 video2 video3</pre>
<p></span></li>
<li>Das Script Encodiert alle Videos nacheinander</li>
</ol>
<p>Über Vorschläge zur verbesserung des Scriptes oder Fragen nach Hilfe freue ich mich.</p>
<p>Nun das Script, ich hoffe ich habe es ausreichend kommentiert:</p>
<p>(Weiter unten nochmal als Download)</p>
<pre>#!/bin/bash
#Lösche logdatei um Störungen zu vermeiden
rm -v divx2pass.log
Gesamtdauer=0
while [ ${1} != '' ]
  do
#Bestimme Breite
BREITE=`mplayer -identify \$1\ -ao null -vo null -frames 0 2&gt;/dev/null | grep ^ID_VIDEO_WIDTH | cut -c16-`; echo \Orginalbreite= $BREITE\
if [ $BREITE -le 720 ]; then
VBREITE=$BREITE
else
VBREITE=720
fi

# Bestimme Audio-Codec
ACODEC=`mplayer -identify \$1\ -ao null -vo null -frames 0 2&gt;/dev/null | grep ^ID_AUDIO_CODEC | cut -c16-`; echo \Audiocodec= $ACODEC\
if [ \$ACODEC\ == \a52\ -o \$ACODEC\ == \faad\ ]; then
AOPTS=\lavc -lavcopts acodec=ac3 -af volnorm=1\
else
AOPTS=\mp3lame -lameopts abr:br=196 -af lavcresample=44100,volnorm=1\
fi

#Bestime Bitrate
RATE=`mplayer -identify \$1\ -ao null -vo null -frames 0 2&gt;/dev/null | grep ^ID_VIDEO_BITRATE | cut -c18-`;
echo \Orginalbitrate= $RATE\
if [ $RATE == 0 ]; then
	BRATE=750
	else
	if [ $RATE -le 800000 ]; then
		BRATE=$((RATE/1000))
		else
		BRATE=750
	fi
fi

# Bestimme Namen
NAME=`echo \$1\ | sed 's/\.[^\.]*$//'`; echo $NAME

#Bestimme Startzeit
START=$(date +\%s\);

#Starte Codieren
echo \~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
echo \Encodiere $1 in $NAME-xvid.avi\
echo
echo \Beginne mit erstem Durchgang\
echo
echo \~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
mencoder  -ffourcc XVID -oac $AOPTS -ovc xvid -xvidencopts pass=1:trellis:hq_ac -vf scale=$VBREITE:-3 -o /dev/null $1

echo \~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
echo \Nun folgt Durchgang Nummer Zwei\
echo \~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
mencoder  -ffourcc XVID -oac $AOPTS -af lavcresample=44100,volnorm=1 -ovc xvid -xvidencopts pass=2:bitrate=$BRATE:hq_ac:trellis:chroma_opt:vhq=2:bvhq=1:quant_type=mpeg -vf scale=$VBREITE:-3 -o $NAME-xvid.avi $1

#Berechne Dauer
ENDE=$(date +\%s\);
DAUER=$(((ENDE-START)/60));
echo \************************************\
echo \**Encodieren in XVID abgeschlossen**\
echo \**                                **\
echo \** es dauerte ca. $DAUER Minuten     **\
echo \************************************\
echo
Gesamtdauer=$((Gesamtdauer+DAUER))

# Aufräumen
echo -e \Logdatei wird gelöscht\
rm -v divx2pass.log

# Auswahl anzeigen
echo \Soll Orginaldatei gelöscht werden [y/n]\
echo \Nach 15 Sekunden ohne Eingabe wird ohne Löschen beendet\
read -t 15 -n 1 TASTE
if [ \$TASTE\ == \y\ ] ; then
echo \Lösche $1\
rm -f $1
shift
else
shift
fi
done
# Beenden
echo \~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
echo
echo \Encodieren beendet\
echo
echo \Gesamtdauer ca. $Gesamtdauer Minuten\
echo \~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\</pre>
<p>Und hier die Datei zum Download: <a href="http://www.lioman.de/wp-content/uploads/Video2xvid.tar.gz">Video2xvid.tar.gz</a>
<ul class='related_post'>
<li><a href='http://www.lioman.de/2011/01/skript-dvdvideo-in-xvid-umwandeln/' title='Skript: DVD/Video in XVID umwandeln'>Skript: DVD/Video in XVID umwandeln</a></li>
<li><a href='http://www.lioman.de/2011/11/skript-aktuelle-version-von-chromium-runterladen/' title='Skript: Aktuelle Version von Chromium runterladen'>Skript: Aktuelle Version von Chromium runterladen</a></li>
<li><a href='http://www.lioman.de/2011/04/video-20-jahre-linux/' title='Video: 20 Jahre Linux'>Video: 20 Jahre Linux</a></li>
<li><a href='http://www.lioman.de/2011/01/skript-mp3-in-ogg-konvertieren/' title='Skript: mp3 in ogg konvertieren'>Skript: mp3 in ogg konvertieren</a></li>
</ul>
<p>Zum Blog: <a href=http://www.lioman.de/?utm_source=feed&utm_medium=feed&utm_campaign=feed>www.lioman.de </a>
<img src="http://lioman.bplaced.net/piwik/piwik.php?idsite=1&rec=1action_name=Feed" style="border:0" alt="" />
</p>]]></content:encoded>
			<wfw:commentRss>http://www.lioman.de/2009/11/script-videos-in-xvid-encodieren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

