<?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>Wesley&#039;s Techblog &#187; Multimedia</title>
	<atom:link href="http://wesley.vidiqatch.org/category/multimedia/feed/" rel="self" type="application/rss+xml" />
	<link>http://wesley.vidiqatch.org</link>
	<description>This blog does not need a smart-ass tagline</description>
	<lastBuildDate>Wed, 09 Sep 2009 21:36:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Open source DJ mixxx&#8217;ing</title>
		<link>http://wesley.vidiqatch.org/06-01-2008/open-source-dj-mixxxing/</link>
		<comments>http://wesley.vidiqatch.org/06-01-2008/open-source-dj-mixxxing/#comments</comments>
		<pubDate>Sun, 06 Jan 2008 15:33:16 +0000</pubDate>
		<dc:creator>Wesley</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mixxx]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://wesley.debianbox.be/2008/01/06/open-source-dj-mixxxing/</guid>
		<description><![CDATA[Sinds vorige week ben ik begonnen met mee te helpen aan de ontwikkeling van het open source DJ programma mixxx. Mixxx is een stabiel programma waarmee men live muziek kan mixen. Het heeft een aantal zeer interessante features, zoals bijvoorbeeld automatische ritmedetectie en ondersteuning voor een heleboel hardware.

Waar staan we vandaag? 1.6.0
Ik werk mee aan [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: #000000;"><strong>Sinds vorige week ben ik begonnen met mee te helpen aan de ontwikkeling van het open source DJ programma mixxx. Mixxx is een stabiel programma waarmee men live muziek kan mixen. Het heeft een aantal zeer interessante features, zoals bijvoorbeeld automatische ritmedetectie en ondersteuning voor een heleboel hardware.</strong></span></p>
<p style="text-align: center;"><a href="http://wesley.vidiqatch.org/images/mixxx.png"><span style="color: #000080;"><img style="border: 0pt none;" src="http://wesley.vidiqatch.org/images/mixxx_thumb.png" border="1" alt="Mixxx 1.6.0 with Collusion/WS/Green skin" align="bottom" /></span></a></p>
<p style="margin-bottom: 0cm"><span style="color: #0066cc;"><span style="font-size: medium;"><strong>Waar staan we vandaag? 1.6.0</strong></span></span></p>
<p>Ik werk mee aan de nieuwe versie waarvan twee weken geleden een eerste bètaversie werd gelanceerd. Voor de nieuwe 1.6.0 versie zijn een heleboel nieuwe features gepland. Ik som even de belangrijkste veranderingen op:</p>
<ul>
<li>Scratchen via <strong>timecoded 	vinyl</strong>-platen <em>[ <a href="http://www.youtube.com/watch?v=U2ZPSSXlK60">link 	naar flash video 1</a>, <a href="http://www.youtube.com/watch?v=9dRLNT2yspg">video 2</a> ]</em></li>
<li><strong>Kleurenschema&#8217;s</strong> voor skins</li>
<li>Nieuwe <strong>muziekbibliotheek</strong> (muziekbrowser)</li>
<li>Verbeterde <strong>ritmedetectie</strong></li>
<li>Verbeterde ondersteuning voor <strong>MIDI-controllers</strong> (hardware)</li>
<li><strong>HQ-equalizer</strong> toegevoegd</li>
<li>Audio core herschreven/vernieuwd</li>
<li>Ondersteuning voor <strong>LADSPA geluidseffecten</strong></li>
<li><strong>Live broadcasten</strong> over internet (Icecast, Shoutcast)</li>
<li><strong>Rechtstreeks opnemen</strong> naar MP3, Ogg Vorbis, Wav, Flac</li>
</ul>
<p>Ik werk momenteel aan de laatste twee punten. Het is niet zeker of het helemaal af zal raken voor de <em>Hardy freeze</em> in februari (het moment waarop programma&#8217;s naar <em>Ubuntu 8.04 Hardy Heron</em> geupload worden en niet meer aangepast mogen worden) maar Ogg Vorbis Icecast/Shoutcast-ondersteuning is zo goed als af, dus dat zal er waarschijnlijk zeker inzitten.</p>
<p>Zelf kijk ik uit naar de ondersteuning voor LADSPA geluidseffecten, maar ik vermoed dat dat niet af zal raken voor de 1.6.0-versie. Dan maar wat langer wachten&#8230;</p>
<p style="margin-bottom: 0cm"><span style="font-size: medium;"><span style="color: #0066cc;"><strong>Evolutie van de broadcasting code</strong></span></span></p>
<p style="margin-bottom: 0cm; text-align: center;"><a href="http://wesley.vidiqatch.org/images/mixxx_broadcast_prefs.png"><img title="Mixxx Live Broadcasting Preferences" src="http://wesley.vidiqatch.org/images/mixxx_broadcast_prefs_thumb.png" alt="Mixxx Live Broadcasting Preferences" /></a></p>
<p>Zoals eerder gezegd ben ik momenteel bezig met het implementeren van Icecast/Shoutcast ondersteuning zodat we een mix rechtstreeks over internet kunnen broadcasten. Aanvankelijk dachten we dat het simpel zou zijn om dit systeem te implementeren (gewoon <em>libshout</em> gebruiken) maar al snel bleek dat we eerst nog een encoder moesten schrijven. Ik ben de laatste dagen dus vooral bezig geweest met het schrijven van een Ogg Vorbis-encoder met behulp van <em>libvorbis</em>, <em>libogg</em> en <em>libvorbisenc</em>.</p>
<p>Afgezien van het feit dat er voor libvorbis <strong>geen technische API-documentatie</strong> beschikbaar is, is het ons uiteindelijk toch gelukt om de encoder werkend te krijgen. Alles ging goed, maar de audio latency was nu wel verhoogd omdat de &#8216;audio callback thread&#8217; voor een korte periode geblokkeerd werd wanneer de encoder zijn werk deed. Toen we ook nog beseften dat we om metadata te updaten een nieuwe stream moesten initialiseren was het onvermijdelijk om een nieuw systeem te ontwerpen om de encoder parallel in een aparte thread te laten draaien <em>(</em><em><strong>multithreaded</strong></em><em>)</em> met een eigen buffer.</p>
<p>Albert ging hiermee aan de slag en na twee of drie dagen knoeien presenteerde hij een nieuwe &#8216;engine&#8217; <em>(de SideChain-engine)</em> aan ons die de audio buffert voor andere engines (zoals de broadcast engine) en deze engines in een aparte thread draait. <strong>Het resultaat is lage audio latency en geen enkel performanceprobleem meer.</strong> Ook werd het totale CPU-verbruik verlaagd omdat de encoder nu iets minder vaak aangeroepen wordt.</p>
<p>Om het schematisch voor te stellen:</p>
<p><strong>voor: </strong><em><strong>[</strong></em><em> afbeelding:</em><em><strong> <a href="http://wesley.vidiqatch.org/images/mixxx_broadcast_scheme.png">Oorspronkelijke Broadcast Implementatie</a> ]</strong></em><strong><br />
na: </strong><em><strong>[ </strong></em><em>afbeelding:</em><em><strong> <a href="http://wesley.vidiqatch.org/images/mixxx_broadcast_scheme_threaded.png">Threaded Broadcast Implementatie</a> ]</strong></em></p>
<p><strong>Wat moet er nog gedaan worden?</strong> De <em>SideChain-engine</em> moet nog een klein beetje aangepast worden, er moet nog een <em>MP3-encoder</em> worden geschreven, het instellingenvenster moet afgemaakt worden, en tenslotte moet de code wat opgeschoond worden, en moet alles grondig getest worden!</p>
]]></content:encoded>
			<wfw:commentRss>http://wesley.vidiqatch.org/06-01-2008/open-source-dj-mixxxing/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Neem je Linux (of Wine) games op!</title>
		<link>http://wesley.vidiqatch.org/27-12-2007/neem-je-linux-of-wine-games-op/</link>
		<comments>http://wesley.vidiqatch.org/27-12-2007/neem-je-linux-of-wine-games-op/#comments</comments>
		<pubDate>Thu, 27 Dec 2007 05:57:05 +0000</pubDate>
		<dc:creator>Wesley</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Multimedia]]></category>

		<guid isPermaLink="false">http://wesley.debianbox.be/2007/12/27/neem-je-linux-of-wine-games-op/</guid>
		<description><![CDATA[Het laatste jaar zijn er twee projecten ontstaan die het mogelijk maken om OpenGL en Alsa op te nemen zonder al te veel verlies van performance. Voor de gamers die niet weten waarover ik het heb: dit is bij wijze van spreken &#8216;FRAPS for Linux&#8217;. Ik heb beide projecten uitgetest en ze werken allebei prachtig: [...]]]></description>
			<content:encoded><![CDATA[<p><em>Het laatste jaar zijn er twee projecten ontstaan die het mogelijk maken om <strong>OpenGL en Alsa op te nemen</strong> zonder al te veel verlies van performance. Voor de <strong>gamers</strong> die niet weten waarover ik het heb: dit is bij wijze van spreken <strong>&#8216;FRAPS for Linux&#8217;</strong>. Ik heb beide projecten uitgetest en ze werken allebei prachtig: <strong>yukon</strong> en <strong>glc</strong>.</em></p>
<p style="text-align: center;"><a href="http://www.youtube.com/watch?v=lJph0HceV0o"><span style="color: #000080;"><img style="border: 0pt none;" src="http://wesley.vidiqatch.org/images/glc_rec_thumb.png" border="1" alt="glc recording" align="bottom" /></span></a></p>
<p style="text-align: center;"><a href="http://www.youtube.com/watch?v=lJph0HceV0o"><strong>Klik hier voor de volledige video-opname op YouTube</strong></a></p>
<p style="text-align: center;"><span style="color: #808080;">Dit is <strong>Aquaria Demo</strong> in <strong>Wine</strong><br />
opgenomen met <strong>glc</strong> op <strong>1024&#215;768</strong><br />
met <strong>Compiz ingeschakeld</strong>.</span></p>
<p>Je bent vrij om te gebruiken wat voor jou het beste werkt:</p>
<ul>
<li><a href="https://devel.neopsis.com/projects/yukon/">yukon</a></li>
<li><a href="http://nullkey.ath.cx/projects/glc">glc</a></li>
</ul>
<p>Persoonlijk ben ik momenteel voorstander van<strong> glc</strong> omdat de ontwikkelaar zéér snel is met het reageren op bugreports en omdat glc is <strong>geoptimaliseerd voor multi-core systemen</strong>. Ook heeft glc enkele speciale mogelijkheden zoals <strong>on-the-fly color conversion</strong> van BGR naar YV12 (geeft grotere compressie) en je kan zowel <strong>QuickLZ</strong> als <strong>LZO</strong> gebruiken om de stream on-the-fly te comprimeren. Een andere speciale feature van glc is de mogelijkheid om <strong>meerdere OpenGL of Alsa streams</strong> tegelijkertijd op te nemen.</p>
<p>glc werkte perfect bij mij, maar ik had een klein probleem met het opnemen van sommige games in Wine (problemen met audio en af en toe een crash). Na een kort gesprek met de ontwikkelaar (<em>nullkey</em>) en na het opsturen van enkele <em>gdb traces</em> werd het probleem <strong>binnen 10 minuten</strong> volledig opgelost door de ontwikkelaar. Prachtig, toch? De nieuwste versie van glc is momenteel 0.4.4 en bevat de Wine patches.</p>
]]></content:encoded>
			<wfw:commentRss>http://wesley.vidiqatch.org/27-12-2007/neem-je-linux-of-wine-games-op/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SMPlayer Overlay Patches</title>
		<link>http://wesley.vidiqatch.org/09-12-2007/smplayer-overlay-patches/</link>
		<comments>http://wesley.vidiqatch.org/09-12-2007/smplayer-overlay-patches/#comments</comments>
		<pubDate>Sun, 09 Dec 2007 21:04:13 +0000</pubDate>
		<dc:creator>Wesley</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Qt]]></category>

		<guid isPermaLink="false">http://wesley.debianbox.be/2007/12/09/smplayer-overlay-patches/</guid>
		<description><![CDATA[
Ik ben bezig aan een patch voor SMPlayer voor mezelf:

ik wil de huidige tijd kunnen zien zonder full-screen te verlaten (en zonder een klok te kopen) &#8211; zoals je kan zien op de bovenstaande screenshot heb ik dat reeds voor elkaar gekregen.
ik wil de afspeeltijd van de film als een klein balkje op het scherm [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://wesley.vidiqatch.org/images/smplayerTimeOverlayPatch.png"><img title="SMPlayer Time Overlay Patch" src="http://wesley.vidiqatch.org/images/smplayerTimeOverlayPatch.png" alt="SMPlayer Time Overlay Patch" /></a></p>
<p><strong>Ik ben bezig aan een patch voor SMPlayer voor mezelf:</strong></p>
<ol>
<li><strong>ik wil de huidige tijd kunnen zien zonder full-screen te verlaten</strong> (en zonder een klok te kopen) &#8211; zoals je kan zien op de bovenstaande screenshot heb ik dat reeds voor elkaar gekregen.</li>
<li><strong>ik wil de afspeeltijd van de film als een klein balkje op het scherm zien</strong>, niet via het tekstuele OSD, en ik wil eveneens de film kunnen <strong>doorspoelen</strong> door op een willekeurige plaats op mijn mooie alpha-transparante balk te klikken&#8230; want dat is veel mooier dan zo&#8217;n uitschuivend balkje dat je video naar boven duwt <img src='http://wesley.vidiqatch.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ol>
<p><strong>Technische details:</strong></p>
<ul>
<li>mplayer gepatched en gecompileerd met <em>vf_overlay</em> patch</li>
<li><em>QPainter</em> (van <em>Qt 4.3</em>) tekent de klok en tekst</li>
<li>getekende bitmap wordt vertaald naar het benodigde formaat en naar een gedeelde geheugenplek geschreven</li>
<li>mplayer (vf_overlay) leest de bitmap uit en legt hem over de video heen</li>
<li>mediaspeler waar de patch in wordt ontwikkeld is SMPlayer (mplayer frontend)</li>
</ul>
<p><em>Ik denk niet dat ik deze patch upstream zal opsturen, tenzij er veel vraag naar is. De reden daarvoor is simpelweg dat je een onofficiële mplayer patch nodig hebt (vf_overlay patch) om van deze patch gebruik te maken, en (ik maak een gok) 95% van de smplayer-gebruikers zijn dus sowieso niets met deze patch.</em></p>
<p>Ik ben wel van plan om de patch op het forum van SMPlayer te plaatsen voor degenen die het eens willen bekijken of zelf willen proberen, maar de patch is momenteel nog niet in een &#8220;releasebare&#8221; status.</p>
]]></content:encoded>
			<wfw:commentRss>http://wesley.vidiqatch.org/09-12-2007/smplayer-overlay-patches/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Geautomatiseerde smplayer compilatie met Bash en chroots</title>
		<link>http://wesley.vidiqatch.org/08-06-2007/geautomatiseerde-smplayer-compilatie-met-bash-en-chroots/</link>
		<comments>http://wesley.vidiqatch.org/08-06-2007/geautomatiseerde-smplayer-compilatie-met-bash-en-chroots/#comments</comments>
		<pubDate>Fri, 08 Jun 2007 20:14:36 +0000</pubDate>
		<dc:creator>Wesley</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://wesley.debianbox.be/2007/06/09/geautomatiseerde-smplayer-compilatie-met-bash-en-chroots/</guid>
		<description><![CDATA[Vollen bak examens! En daardoor heb ik beseft dat het te lang duurt om elke week zeven nieuwe smplayer pakketten te compileren (zeven verschillende versies) Het is echt geen pretje om dit handmatig te doen. Er moeten telkens heel wat files aangepast/verplaatst worden etc. En een menselijke fout is ook nogal snel gemaakt  

Dus [...]]]></description>
			<content:encoded><![CDATA[<p><em>Vollen bak examens!</em> En daardoor heb ik beseft dat het te lang duurt om <strong>elke week zeven nieuwe smplayer pakketten</strong> te compileren (zeven verschillende versies) Het is echt geen pretje om dit handmatig te doen. Er moeten telkens heel wat files aangepast/verplaatst worden etc. En een menselijke fout is ook nogal snel gemaakt <img src='http://wesley.vidiqatch.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><img src="http://wesley.vidiqatch.org/images/konsole.png" alt="Konsole (Bash)" /></p>
<p>Dus wat doe je dan als oplossing?</p>
<ul>
<li>Je stelt chroots in voor een dapper en edgy compileeromgeving zodat je geen andere computers (of een reboot naar een andere installatie) nodig hebt om pakketten voor dapper en edgy te compileren. (dit had ik al vanaf het begin gedaan, maar voor de volledigheid vermeld ik het nog een keer)</li>
<li>Je maakt een krachtig Bash script om de pakketten te compileren in jouw plaats.</li>
</ul>
<p><em><strong>Chroots</strong></em></p>
<p><em></em>Een chroot is een map op je systeem waarin je kan chrooten, dat wil zeggen dat je als root directory dan die bepaalde map gebruikt. Chroots worden vaak gebruikt als een effectieve sandbox methode (om bijvoorbeeld een server optimaal te beveiligen door de webserver op die server te chrooten; hierdoor kan de webserver niets doen wat buiten de chroot omgeving ligt)</p>
<p>In mijn geval heb ik een hele lichte basisversie van Ubuntu Dapper Drake en Ubuntu Edgy Eft in een chroot gestoken, en daarna in elke installatie de nodige libraries (softwarebibliotheken) en compileerprogramma&#8217;s geïnstalleerd. Hierdoor kan ik software compileren voor Dapper Drake en Edgy Eft op een Feisty Fawn systeem.</p>
<p><em><strong>Bash script<br />
</strong></em></p>
<p>Hieronder bevindt zich het bash script dat ik gebruik om mijn pakketten te compileren. Het is maar heel snel in elkaar geflanst, maar het doet zijn werk goed genoeg <img src='http://wesley.vidiqatch.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<pre>#!/bin/bash

## Little custom hacked together bash script to compile
## SMPlayer in every possible way for Ubuntu
##
##   - Feisty: qt3; qt3/kde; qt4
##   - Edgy: qt3; qt3/kde (needs chroot)
##   - Dapper: qt3; qt3/kde (needs chroot)
##
##   Usage: create-smplayer-packages sourcecode.tar.gz
##
##               -- Wesley Stessens (wesley@ubuntu.com)

echo -e "\e[1;34mPREPARING SCRIPT...\e[0m"

p="$@"

# strip .tar.gz extension
d=${p:0:${#p}-7}

# figure out deb package names
deb=`echo $d|sed 's/-/_/'`_i386.deb
kdeb=`echo $d|sed 's/-/-kde_/'`_i386.deb
q4deb=`echo $d|sed 's/-/-qt4_/'`_i386.deb

echo -e "\e[1;34mCOPYING PACKAGES...\e[0m"

# copy package to dev dirs
cp $p /media/exthome/dev/$p
cp $p /media/exthome/dapper/media/dev/$p
cp $p /media/exthome/edgy/media/dev/$p

echo -e "\e[1;34mEXTRACTING PACKAGES...\e[0m"

# extract packages
cd /media/exthome/dev
tar zxf /media/exthome/dev/$p
cd /media/exthome/dapper/media/dev
tar zxf /media/exthome/dapper/media/dev/$p
cd /media/exthome/edgy/media/dev
tar zxf /media/exthome/edgy/media/dev/$p

# cd + rename debian directory
cd /media/exthome/dev/$d
mv debian-rvm debian

echo -e "\e[1;34mBUILDING SMPLAYER FOR FEISTY/QT3...\e[0m"

if [ -e "/media/exthome/dev/packages/feisty/$deb" ]; then
	echo -e "\e[1;31mFile $deb already exists in /media/exthome/dev/packages/feisty... Skipping.\e[0m"
else
	# build feisty: qt3
	debian/rules binary &gt; /dev/null
	mv /media/exthome/dev/$deb /media/exthome/dev/packages/feisty/$deb
fi

echo -e "\e[1;34mBUILDING SMPLAYER FOR FEISTY/QT3/KDE...\e[0m"

if [ -e "/media/exthome/dev/packages/feisty/$kdeb" ]; then
	echo -e "\e[1;31mFile $kdeb already exists in /media/exthome/dev/packages/feisty... Skipping.\e[0m"
else
	# build feisty: qt3/kde
	cd /media/exthome/dev/$d
	# backup rules file to rules.orig
	cp debian/rules ../rules.orig
	# remove old compile files
	rm -Rf src/.moc src/.obj src/.ui
	cd src
	make clean
	cd ..
	make clean
	# add kde support to rules file
	sed 's/$(MAKE) PREFIX=\/usr/$(MAKE) PREFIX=\/usr KDE_SUPPORT=1 KDE_INCLUDE_PATH=\/usr\/include\/kde/' &lt; ../rules.orig &gt; debian/rules
	debian/rules binary &gt; /dev/null
	mv /media/exthome/dev/$deb /media/exthome/dev/packages/feisty/$kdeb
fi

echo -e "\e[1;34mBUILDING SMPLAYER FOR FEISTY/QT4...\e[0m"

if [  -e "/media/exthome/dev/packages/feisty/$q4deb" ]; then
	echo -e "\e[1;31mFile $q4deb already exists in /media/exthome/dev/packages/feisty... Skipping.\e[0m"
else
	# build feisty: qt4
	cd /media/exthome/dev/$d
	# remove old compile files
	rm -Rf src/.moc src/.obj src/.ui
	cd src
	make clean
	cd ..
	make clean
	# add qt4 support to rules file; remove qt3 support
	sed 's/# Qt 3/$(MAKE) prep/' &lt; ../rules.orig &gt; debian/rules
	sed -i 's/$(MAKE) PREFIX=\/usr/$(MAKE) PREFIX=\/usr QMAKE=qmake-qt4/' debian/rules
	debian/rules binary &gt; /dev/null
	mv /media/exthome/dev/$deb /media/exthome/dev/packages/feisty/$q4deb
fi

echo -e "\e[1;34mBUILDING SMPLAYER FOR EDGY/QT3...\e[0m"

# Fix directory names
mv /media/exthome/edgy/media/dev/$d/debian-rvm /media/exthome/edgy/media/dev/$d/debian
mv /media/exthome/dapper/media/dev/$d/debian-rvm /media/exthome/dapper/media/dev/$d/debian

if [ -e "/media/exthome/dev/packages/edgy/$deb" ]; then
	echo -e "\e[1;31mFile $deb already exists in /media/exthome/dev/packages/edgy... Skipping.\e[0m"
else
	# build edgy: qt3
	# prepare script for chroot
	echo "cd /media/dev/$d" &gt; /media/exthome/edgy/usr/local/bin/bsmplayerqt3
	echo "debian/rules binary &gt; /dev/null" &gt;&gt; /media/exthome/edgy/usr/local/bin/bsmplayerqt3
	echo "exit 0" &gt;&gt; /media/exthome/edgy/usr/local/bin/bsmplayerqt3
	# do chroot
	chroot /media/exthome/edgy /bin/bash bsmplayerqt3
	# move package out of chroot
	mv /media/exthome/edgy/media/dev/$deb /media/exthome/dev/packages/edgy/$deb
fi

echo -e "\e[1;34mBUILDING SMPLAYER FOR EDGY/QT3/KDE...\e[0m"

if [ -e "/media/exthome/dev/packages/edgy/$kdeb" ]; then
	echo -e "\e[1;31mFile $kdeb already exists in /media/exthome/dev/packages/edgy... Skipping.\e[0m"
else
	# build edgy: qt3/kde
	# prepare script for chroot
	echo "cd /media/dev/$d" &gt; /media/exthome/edgy/usr/local/bin/bsmplayerqt3kde
	echo "cp debian/rules ../rules.orig" &gt;&gt; /media/exthome/edgy/usr/local/bin/bsmplayerqt3kde
	echo "rm -Rf src/.moc src/.obj src/.ui; cd src; make clean; cd ..; make clean" &gt;&gt; /media/exthome/edgy/usr/local/bin/bsmplayerqt3kde
	echo "sed 's/\$(MAKE) PREFIX=\/usr/\$(MAKE) PREFIX=\/usr KDE_SUPPORT=1 KDE_INCLUDE_PATH=\/usr\/include\/kde/' &lt; ../rules.orig &gt; debian/rules" &gt;&gt; /media/exthome/edgy/usr/local/bin/bsmplayerqt3kde
	echo "debian/rules binary &gt; /dev/null" &gt;&gt; /media/exthome/edgy/usr/local/bin/bsmplayerqt3kde
	echo "exit 0" &gt;&gt; /media/exthome/edgy/usr/local/bin/bsmplayerqt3kde
	# do chroot
	chroot /media/exthome/edgy /bin/bash bsmplayerqt3kde
	# move package out of chroot
	mv /media/exthome/edgy/media/dev/$deb /media/exthome/dev/packages/edgy/$kdeb
fi

echo -e "\e[1;34mBUILDING SMPLAYER FOR DAPPER/QT3...\e[0m"

if [ -e "/media/exthome/dev/packages/dapper/$deb" ]; then
	echo -e "\e[1;31mFile $deb already exists in /media/exthome/dev/packages/dapper... Skipping.\e[0m"
else
	# build dapper: qt3
	# prepare script for chroot
	echo "cd /media/dev/$d" &gt; /media/exthome/dapper/usr/local/bin/bsmplayerqt3
	echo "debian/rules binary &gt; /dev/null" &gt;&gt; /media/exthome/dapper/usr/local/bin/bsmplayerqt3
	echo "exit 0" &gt;&gt; /media/exthome/dapper/usr/local/bin/bsmplayerqt3
	# do chroot
	chroot /media/exthome/dapper /bin/bash bsmplayerqt3
	# move package out of chroot
	mv /media/exthome/dapper/media/dev/$deb /media/exthome/dev/packages/dapper/$deb
fi

echo -e "\e[1;34mBUILDING SMPLAYER FOR DAPPER/QT3/KDE...\e[0m"

if [ -e "/media/exthome/dev/packages/dapper/$kdeb" ]; then
	echo -e "\e[1;31mFile $kdeb already exists in /media/exthome/dev/packages/dapper... Skipping.\e[0m"
else
	# build dapper: qt3/kde
	# prepare script for chroot
	echo "cd /media/dev/$d" &gt; /media/exthome/dapper/usr/local/bin/bsmplayerqt3kde
	echo "cp debian/rules ../rules.orig" &gt;&gt; /media/exthome/dapper/usr/local/bin/bsmplayerqt3kde
	echo "rm -Rf src/.moc src/.obj src/.ui; cd src; make clean; cd ..; make clean" &gt;&gt; /media/exthome/dapper/usr/local/bin/bsmplayerqt3kde
	echo "sed 's/\$(MAKE) PREFIX=\/usr/\$(MAKE) PREFIX=\/usr KDE_SUPPORT=1 KDE_INCLUDE_PATH=\/usr\/include\/kde/' &lt; ../rules.orig &gt; debian/rules" &gt;&gt; /media/exthome/dapper/usr/local/bin/bsmplayerqt3kde
	echo "debian/rules binary &gt; /dev/null" &gt;&gt; /media/exthome/dapper/usr/local/bin/bsmplayerqt3kde
	echo "exit 0" &gt;&gt; /media/exthome/dapper/usr/local/bin/bsmplayerqt3kde
	# do chroot
	chroot /media/exthome/dapper /bin/bash bsmplayerqt3kde
	# move package out of chroot
	mv /media/exthome/dapper/media/dev/$deb /media/exthome/dev/packages/dapper/$kdeb
fi

echo -e "\e[1;34m  -- ThE EnD --  \e[0m"
exit 0</pre>
]]></content:encoded>
			<wfw:commentRss>http://wesley.vidiqatch.org/08-06-2007/geautomatiseerde-smplayer-compilatie-met-bash-en-chroots/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Jack up that volume</title>
		<link>http://wesley.vidiqatch.org/12-11-2006/pump-up-that-volume/</link>
		<comments>http://wesley.vidiqatch.org/12-11-2006/pump-up-that-volume/#comments</comments>
		<pubDate>Sun, 12 Nov 2006 03:12:45 +0000</pubDate>
		<dc:creator>Wesley</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[Music]]></category>

		<guid isPermaLink="false">http://wesley.debianbox.be/2006/11/12/pump-up-that-volume/</guid>
		<description><![CDATA[Jack Audio Connection Kit (JACK) is een plezant ding op linux. Hiermee kan je geluidsinvoer/uitvoer van verschillende programma&#8217;s naar elkaar routen en op deze manier zijn er erg leuke dingen mogelijk.
Je kan bijvoorbeeld je stem laten vervormen in realtime door door je microfoon (capture) te linken aan een effecten processor zoals het programma Jack-Rack  [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jackaudio.org/" target="_blank">Jack Audio Connection Kit</a> (JACK) is een plezant ding op linux. Hiermee kan je geluidsinvoer/uitvoer van verschillende programma&#8217;s naar elkaar routen en op deze manier zijn er erg leuke dingen mogelijk.</p>
<p>Je kan bijvoorbeeld je <strong>stem</strong> laten <strong>vervormen in realtime</strong> door door je microfoon (capture) te linken aan een effecten processor zoals het programma <a title="Jack-Rack" href="http://jack-rack.sourceforge.net/" target="_blank">Jack-Rack</a> <img src='http://wesley.vidiqatch.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Daarnaast kan je dan je <strong>gitaar</strong> op Line in aansluiten en de line in linken aan een <strong>realtime digitale gitaarversterker</strong> zoals <a href="http://zyzstar.kosoru.com/?creox" target="_blank">Creox</a>. Dan gaan we nog een <strong>drumcomputer</strong> zoals <a href="http://www.hydrogen-music.org/" target="_blank">Hydrogen</a> gebruiken voor de drums&#8230; En daarna <strong>alles aan elkaar koppelen</strong> in een <a href="http://ardour.org/" target="_blank">Ardour</a> sessie waarmee je alles uiteindelijk kan <strong>opnemen</strong> en <strong>verwerken</strong>.</p>
<p>Geniaal? Zeker wel <img src='http://wesley.vidiqatch.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><em>Tip: met realtime patches in de kernel is superlage latency mogelijk, perfect voor professionele geluidsverwerking&#8230;</em></p>
]]></content:encoded>
			<wfw:commentRss>http://wesley.vidiqatch.org/12-11-2006/pump-up-that-volume/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Videostream rippen, converteren en op DVD branden</title>
		<link>http://wesley.vidiqatch.org/07-09-2006/videostream-rippen-converteren-en-op-dvd-branden/</link>
		<comments>http://wesley.vidiqatch.org/07-09-2006/videostream-rippen-converteren-en-op-dvd-branden/#comments</comments>
		<pubDate>Thu, 07 Sep 2006 09:31:46 +0000</pubDate>
		<dc:creator>Wesley</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Multimedia]]></category>

		<guid isPermaLink="false">http://wesley.debianbox.be/2006/09/07/videostream-rippen-converteren-en-op-dvd-branden/</guid>
		<description><![CDATA[Een videostream rippen vanaf het internet, converteren naar MPEG2 DVD formaat en branden op DVD met een DVD menu.
Voor een opdracht van Frans moest ik een streaming wmv (asf) bestand op een normale video DVD zien te krijgen. Met linux is dit natuurlijk easy  
edit: Leraar Frans was al jaren op zoek naar iemand [...]]]></description>
			<content:encoded><![CDATA[<p><img title="DVD-R" src="http://www.avland.co.uk/avland/dvdr/dvdr.jpg" alt="DVD-R" width="126" height="127" align="left" /><strong>Een videostream rippen vanaf het internet, converteren naar MPEG2 DVD formaat en branden op DVD met een DVD menu.</strong></p>
<p>Voor een opdracht van Frans moest ik een streaming wmv (asf) bestand op een normale video DVD zien te krijgen. Met linux is dit natuurlijk easy <img src='http://wesley.vidiqatch.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong><em><span style="color: #33cc7b;">edit: Leraar Frans was al jaren op zoek naar iemand die dit klaar kon krijgen en niemand kreeg het klaar met Windows. Eén van de &#8220;Windows kenners&#8221; van de klas heeft meer dan 10 programma&#8217;s geprobeerd zonder succes.<br />
</span></em></strong></p>
<p><em><span style="color: #aaaaaa;">Benodigde programma&#8217;s: mplayer, mencoder, mandvd, mkisofs, growisofs</span></em></p>
<p><strong><span style="color: #00aa48;">1. <span style="text-decoration: underline;">mplayer</span>: videostream rippen vanaf het internet en opslaan als een lokaal bestand<br />
</span></strong></p>
<pre><span style="color: #0048aa;"><strong>mplayer -dumpstream http://viptf1.yacast.net/tf1webcast/septahuit/nappy/nappy_320.wmv?MSWMExt=.asf -dumpfile rip.wmv</strong></span></pre>
<p><strong><strong><span style="color: #00aa48;">2. <span style="text-decoration: underline;">mencoder</span>: lokaal videobestand converteren naar MPEG2/AC3 en aanpassen om aan Pal DVD normen te voldoen</span></strong></strong></p>
<p><strong> </strong></p>
<pre><strong><span style="color: #0048aa;"><strong>mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=352:288,harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:acodec=ac3:abitrate=192:aspect=16/9 -ofps 25 -o dvd.mpg rip.wmv</strong></span></strong></pre>
<p><strong> </strong><strong><strong><span style="color: #00aa48;">3. <span style="text-decoration: underline;">mandvd</span>: dvd menu en dvd directory layout maken</span></strong></strong></p>
<p><strong> </strong></p>
<pre><strong><span style="color: #0048aa;"><strong>./mandvd</strong></span></strong></pre>
<p><strong> </strong><strong>Er start een grafische interface op. Kies een bestemmingsmap en het gewenste formaat. In mijn geval PAL en 352&#215;288.</strong></p>
<p><strong> </strong><strong>Ga verder en klik op <strong>Voeg een video toe aan uw project</strong>.<br />
Kies een video titel en klik op <strong>Extract een beeld uit de video</strong> om een kleine afbeelding te krijgen voor in het keuzemenu.</strong></p>
<p><strong> </strong><strong>Ga verder en kies een achtergrond, eventuele achtergrondmuziek, lettertype.</strong></p>
<p><strong> </strong><strong>Ga verder en selecteer de film(s) en klik op <strong>Voeg video toe aan menu</strong>.</strong></p>
<p><strong> </strong><strong>Plaats de thumbnail op de gewenste plaats en vergroot/verklein indien gewenst en kies daarna voor <strong>Bevestig positie knop</strong>.</strong></p>
<p><strong> </strong><strong>Ga verder en klik op <strong>Genereer DVD structuur</strong>.</strong></p>
<p><strong> </strong><strong>Hierna kan u het resultaat bekijken en/of een DVD rechtstreeks branden met K3B.</strong></p>
<p><strong> </strong><strong><strong><span style="color: #00aa48;">4. <span style="text-decoration: underline;">mkisofs</span>: dvd image maken</span></strong></strong></p>
<p><strong> </strong><strong>Ik heb ervoor gekozen om nog extra databestanden toe te voegen aan de DVD door enkele databestanden in de bestemmingsmap van ManDVD te zetten en om daarna de DVD te branden via de commandline.<em><strong> In K3B zit er namelijk een bug in versie 0.12.14 en hierdoor kunnen video DVD&#8217;s die gemaakt worden in K3B niet afgespeeld worden. </strong></em>Een nieuwere versie is reeds beschikbaar, maar moet je voorlopig zelf compileren en daar had ik geen zin in <img src='http://wesley.vidiqatch.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<strong><em><span style="color: #33cc7b;">edit: Ondertussen zit K3B 0.12.17 in de standaard Ubuntu repositories en daar werkt alles weer perfect <img src='http://wesley.vidiqatch.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span></em></strong></strong></p>
<p><strong> </strong></p>
<pre><strong><span style="color: #0048aa;"><strong>mkisofs -dvd-video -o /home/profox/dvd.img /home/profox/bestemmingsmap</strong></span></strong></pre>
<p><strong> </strong><strong><strong><span style="color: #00aa48;">5. <span style="text-decoration: underline;">growisofs</span>: dvd image branden op een DVD-R</span></strong></strong></p>
<p><strong> </strong></p>
<pre><strong><span style="color: #0048aa;"><strong>growisofs -dvd-compat -Z /dev/dvd=/home/profox/dvd.img -speed=4</strong></span></strong></pre>
]]></content:encoded>
			<wfw:commentRss>http://wesley.vidiqatch.org/07-09-2006/videostream-rippen-converteren-en-op-dvd-branden/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Audio rippen van eender welk videobestand</title>
		<link>http://wesley.vidiqatch.org/05-09-2006/audio-rippen-van-eender-welk-videobestand-2/</link>
		<comments>http://wesley.vidiqatch.org/05-09-2006/audio-rippen-van-eender-welk-videobestand-2/#comments</comments>
		<pubDate>Tue, 05 Sep 2006 17:33:56 +0000</pubDate>
		<dc:creator>Wesley</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[Music]]></category>

		<guid isPermaLink="false">http://wesley.debianbox.be/2006/09/05/audio-rippen-van-eender-welk-videobestand-2/</guid>
		<description><![CDATA[als je een speciale film of een audiobestand hebt dat je niet kan rippen met je gewone software, maar je kan het wel afspelen met mplayer (aangezien die vrijwel alles kan afspelen&#8230;)
dan kan je dit zo doen:
mkfifo sndpipe; oggenc -b 128 sndpipe -o sound_rip.ogg &#38; mplayer -vo null -vc dummy -quiet -ao pcm:file=sndpipe video_of_audio.avi; rm [...]]]></description>
			<content:encoded><![CDATA[<p>als je een speciale film of een audiobestand hebt dat je niet kan rippen met je gewone software, maar je kan het wel afspelen met mplayer (aangezien die vrijwel alles kan afspelen&#8230;)</p>
<p>dan kan je dit zo doen:</p>
<p><strong>mkfifo sndpipe; oggenc -b 128 sndpipe -o sound_rip.ogg &amp; mplayer -vo null -vc dummy -quiet -ao pcm:file=sndpipe video_of_audio.avi; rm sndpipe</strong></p>
<p><em><strong>verklaring:</strong> mkfifo sndpipe maakt een named pipe aan. oggenc zet zich op de achtergrond klaar om inkomende audio te converten naar 128kbps ogg vorbis, input = rechtstreekse pipeline, output = sound_rip.ogg / Mplayer begint de video/audio af te spelen zonder video output en met dummy video codec. Geen console output (quiet) en audio output wordt via pcm audio output naar de named pipe geschreven. Achteraf de pipe verwijderen en klaar <img src='http://wesley.vidiqatch.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em></p>
<p>In plaats van <em>oggenc</em> kan je natuurlijk ook <em>lame</em> gebruiken, dan wordt het meteen geconverteerd naar MP3. Maar iedereen weet dat Ogg Vorbis beter is qua kwaliteit/bitrate dan MP3 <img src='http://wesley.vidiqatch.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://wesley.vidiqatch.org/05-09-2006/audio-rippen-van-eender-welk-videobestand-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
