<?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>Kasperian Moving Parts &#187; audio</title>
	<atom:link href="http://movingparts.net/tag/audio/feed/" rel="self" type="application/rss+xml" />
	<link>http://movingparts.net</link>
	<description>kinda like batman, but with a wife and 3 kids</description>
	<lastBuildDate>Mon, 12 Mar 2012 02:31:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Screencasting in Linux!</title>
		<link>http://movingparts.net/2009/02/11/screencasting-in-linux/</link>
		<comments>http://movingparts.net/2009/02/11/screencasting-in-linux/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 04:16:52 +0000</pubDate>
		<dc:creator>Jason 'vanRijn' Kasper</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://movingparts.net/?p=485</guid>
		<description><![CDATA[I&#8217;m excited. I love learning stuff, I really do. I just did  a 12-minute screencast for work, and I think I&#8217;ve finally figured out how to get everything to fit together nicely. I&#8217;d never done a screencast before&#8211;not on any platform&#8211;but being that I needed to showcase some development work that I&#8217;ve done for the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m excited. I love learning stuff, I really do. I just did  a 12-minute screencast for work, and I think I&#8217;ve finally figured out how to get everything to fit together nicely. I&#8217;d never done a screencast before&#8211;not on any platform&#8211;but being that I needed to showcase some development work that I&#8217;ve done for the next release of VMware Workstation/Player, and being that I&#8217;m working from home for the time being, I needed to get this all working in Linux, and as I said, I think I&#8217;ve finally figured it out, woot!</p>
<p>For starters, I used qt-recordMyDesktop to capture the full-screen (1600&#215;1200 resolution) video. I wanted to use it to also capture the audio portion of the screencast at the same time, but when I tried doing so, the audio was really choppy and out of sync. I mostly blame pulseaudio, but also the fact that I did this all on my puny little laptop, and I think that the system just wasn&#8217;t able to keep up with me, recording a nested Xephyr session with 4 fake Xinerama monitors (thanks again for that beauty, Lubos!), at 1600&#215;1200 resolution. So I told qt-RecordMyDesktop to not capture audio and what I ended up with was a beautiful 1600&#215;1200 Ogg/Theora .ogv file. We&#8217;ll call it demo-video.ogv.</p>
<p>Next, I recorded my voice, doing a monologue of what was happening in the screencast, using my laptop&#8217;s internal mic (not the greatest quality, but I don&#8217;t have a real microphone, *sigh*), and audacity (oh, and this is nice&#8230; audacity doesn&#8217;t work with pulseaudio whatsoever). This I saved in mp3 format. We&#8217;ll call it demo-audio.mp3.</p>
<p>The next magical trick, obviously, would be to combine the audio and video files into a single movie file, right? Well, all of the questions/answers that Google found me (even though I searched for &#8220;mencoder combine audio video&#8221;) were examples using ffmpeg. So I gave it a shot. And I&#8217;m sure there must be a way to do it, but for the life of me, I couldn&#8217;t get ffmpeg to combine my 80-meg demo-video.ogv file and my 10-meg demo-audio.mp3 file in a high quality and problem-free output file. The closest I think I got was this: &#8220;ffmpeg -sameq -i demo-video.ogv -i demo-audio.mp3 demo_full.mp4&#8243;, but that combined my 80-meg video and 10-meg audio file into a 350-meg mp4 file. Zoinks, Shaggie!! That&#8217;ll never do!</p>
<p>I finally stumbled upon the &#8220;-audiofile&#8221; parameter to mencoder and there was much rejoicing in Agrabah (not to mention Massachusetts). What I ended up with is this little mencoder incantation that seems to work beautifully. And, the resultant file is only 62 megs (80m + 10m == 62m !?!), so I&#8217;m sure there&#8217;s some loss of quality in there somewhere, but for the life of me, I can&#8217;t see it. Here&#8217;s what I used:</p>
<p>mencoder -sws 9 -vf pullup,softskip,scale=1600:1200,harddup,unsharp=l3x3:0.7 -oac faac -faacopts br=128:mpeg=4:object=2:raw -channels 2 -srate 48000 -ovc lavc -lavcopts aglobal=1:vglobal=1:vcodec=mpeg4:acodec=libfaac:abitrate=128:vbitrate=1000 -of lavf demo-video.ogv -audiofile demo-audio.mp3 -o demo_full.mp4</p>
<p>So, there you have it. Screencasting, done 100% in Linux. I wish I could show you the results, because I&#8217;m pretty darned please with them, but sadly, I cannot (nor do I have a spot to stick 62 megs of mp4 =;P).</p>
<p>I hope this helps some other poor soul, &#8217;cause I couldn&#8217;t find much in the way of tutorials for doing this. I&#8217;d be very interested to hear what others think of this, as well as any other suggestions for doing screencasting in Linux. I know Aaron&#8217;s been doing something along these lines, and I&#8217;d be curious to see how this compares to his method. Also, any improvements to my mencoder line (yeah, I&#8217;m sure some stuff in there might be redundant or weird), or finding out what the ffmpeg equivalent of my mencoder line is would be greatly appreciated.</p>
<div id="in_post_ad_bottom_1" style="clear:both;margin: 5px;padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-0145797618566457";
/* movingparts.net horizontal */
google_ad_slot = "5269839769";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://movingparts.net/2009/02/11/screencasting-in-linux/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

