<?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>dicianno.org/blog &#187; video</title>
	<atom:link href="http://dicianno.org/blog/category/video/feed/" rel="self" type="application/rss+xml" />
	<link>http://dicianno.org/blog</link>
	<description>notes about computers and lifestyle</description>
	<lastBuildDate>Thu, 04 Feb 2010 21:09:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Creating stream-able video</title>
		<link>http://dicianno.org/blog/2007/06/19/creating-stream-able-video/</link>
		<comments>http://dicianno.org/blog/2007/06/19/creating-stream-able-video/#comments</comments>
		<pubDate>Tue, 19 Jun 2007 21:20:51 +0000</pubDate>
		<dc:creator>armando</dc:creator>
				<category><![CDATA[cli]]></category>
		<category><![CDATA[obt]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.dicianno.org/blog/2007/06/19/creating-stream-able-video/</guid>
		<description><![CDATA[
I spent much to much time trying to figure out the right combination of video/audio encodings that would would from an RTSP streaming server (went with a RealServer demo, for now) to a variety of clients (QuickTime Player, VLC, various phones, etceteras.)
First, VLC is a champ.  Every time I tried a new streaming server, [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>I spent much to much time trying to figure out the right combination of video/audio encodings that would would from an RTSP streaming server (went with a RealServer demo, for now) to a variety of clients (QuickTime Player, VLC, various phones, etceteras.)</p>
<p>First, VLC is a champ.  Every time I tried a new streaming server, VLC could play the stream with video and audio.  QuickTime Player was not so kind.  Even <strong>the phone we were streaming to</strong> &#8212; the Nokia N95 (<a href="http://forum.nokia.com/devices/N95">tech specs</a>) &#8212; <strong>could play streams that QuickTime Player could not.</strong></p>
<p>I tried a variety of tools, from the venerable ffmpeg to QuickTime Player&#8217;s export functionality to create stream-able videos (mainly for QuickTime, since it was being very picky).  The tools I used were the following:</p>
<ul>
<li>ffmpeg from <a href="http://ffmpeg.mplayerhq.hu/">FFMPEG project</a></li>
<li>faac from <a href="http://www.audiocoding.com/">AudioCoding</a></li>
<li>mp4creator from <a href="http://mpeg4ip.sourceforge.net/">MPEG4IP</a></li>
</ul>
<p>Here is a simple bash loop I made to iterate over .mov&#8217;s in the current directory and create MPEG4 video, MPEG4 audio (AAC LC), in an MPEG4 container that was hinted.  You should set FRAMERATE and SIZE (as &#8220;WxH&#8221;) as environment variables.  Note that the first line has <code>-ac 1</code> which sets the audio to mono.  Also, edit the -qscale to your liking (or remove it).</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">for</span> i <span class="kw1">in</span> `<span class="kw2">ls</span> *mov &#8211;<span class="re2">color=</span>never`; <span class="kw1">do</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; ffmpeg -i <span class="re1">$i</span> -ac <span class="nu0">1</span> -vn <span class="st0">&quot;$i.wav&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; faac &#8211;mpeg-vers <span class="nu0">4</span> &#8211;tns -o <span class="st0">&quot;$i.aac&quot;</span> <span class="st0">&quot;$i.wav&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; ffmpeg -re -i <span class="st0">&quot;$i&quot;</span> -pass <span class="nu0">1</span> -passlogfile <span class="st0">&quot;${i}pass&quot;</span> -vcodec mpeg4 -r <span class="re1">$FRAMERATE</span> -s <span class="re1">$SIZE</span> -qscale <span class="nu0">8</span> -an <span class="st0">&quot;$i.m4v&quot;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; <span class="kw2">rm</span> -f <span class="st0">&quot;$i.m4v&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; ffmpeg -re -i <span class="st0">&quot;$i&quot;</span> -pass <span class="nu0">2</span> -passlogfile <span class="st0">&quot;${i}pass&quot;</span> -vcodec mpeg4 -r <span class="re1">$FRAMERATE</span> -s <span class="re1">$SIZE</span> -qscale <span class="nu0">8</span> -an <span class="st0">&quot;$i.m4v&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; mp4creator -c <span class="st0">&quot;$i.m4v&quot;</span> -optimize -<span class="re2">rate=</span><span class="re1">$FRAMERATE</span> <span class="st0">&quot;$i.mp4&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; mp4creator -<span class="re2">hint=</span><span class="nu0">1</span> <span class="st0">&quot;$i.mp4&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; mp4creator -c <span class="st0">&quot;$i.aac&quot;</span> -interleave -optimize <span class="st0">&quot;$i.mp4&quot;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; mp4creator -<span class="re2">hint=</span><span class="nu0">3</span> <span class="st0">&quot;$i.mp4&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; mp4creator -list <span class="st0">&quot;$i.mp4&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">done</span></div>
</li>
</ol>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://dicianno.org/blog/2007/06/19/creating-stream-able-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MPEG4 Streaming woes</title>
		<link>http://dicianno.org/blog/2007/06/15/mpeg4-streaming-whoas/</link>
		<comments>http://dicianno.org/blog/2007/06/15/mpeg4-streaming-whoas/#comments</comments>
		<pubDate>Fri, 15 Jun 2007 22:33:23 +0000</pubDate>
		<dc:creator>armando</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.dicianno.org/blog/2007/06/15/mpeg4-streaming-whoas/</guid>
		<description><![CDATA[I should right a whole post about the lack of robust video streaming servers, but I&#8217;ll save that for another day.  For now, I&#8217;ve settled on RealServer (RS) (which is the commercialized version of Real&#8217;s open source Helix Server), and video actually streams to a plethora of apps, including: QuickTime Player (QT), VideoLan Client [...]]]></description>
			<content:encoded><![CDATA[<p>I should right a whole post about the lack of robust video streaming servers, but I&#8217;ll save that for another day.  For now, I&#8217;ve settled on RealServer (RS) (which is the commercialized version of Real&#8217;s open source Helix Server), and video actually streams to a plethora of apps, including: QuickTime Player (QT), VideoLan Client (VLC), various phones, etceteras.</p>
<p>So, what&#8217;s the deal with MPEG4 streaming?</p>
<p><span id="more-27"></span></p>
<p>I&#8217;ve tried a virtual cornucopia of tools to transcode to MPEG4 as well as package and hint the MPEG4 files.  The list includes:</p>
<ul>
<li>ffmpeg</li>
<li>QuickTime Player export functionality</li>
<li>MPEG4IP tools</li>
<li>GPAC tools</li>
<li>mplayer / mencoder</li>
</ul>
<p>Creating an MPEG4 video track and an MPEG4 audio track inside an MPEG4 container has always been fairly straight forward.  Generating this type of file from ffmpeg results in a playable video file, and more importantly, playable in all players I&#8217;ve ever tried.</p>
<p>The issue at hand is correctly adding hint tracks to the MPEG4 container.  MPEG4IP tools, especially the notable &#8220;mp4creator&#8221; seems to work just fine for the video track, but <strong>SEGFAULT</strong>s when trying to hint the audio track.  I probably need to read up a lot more on MPEG4 containers, but at the moment, I&#8217;m confused if the tracks need to be interleaved or not; part of me thinks they must, as files (encoded as above) I&#8217;ve streamed from RS have played just fine in VLC, but fail to have audio in QT.  Inspecting the stream&#8217;s info in the QT Player only shows the video track.  Very intriguing.</p>
<p>At the moment, I&#8217;m trying a new set of MPEG4 tools, this time from the GPAC project.  I&#8217;ll report back, when &#8212; not if! &#8212; things are working.</p>
]]></content:encoded>
			<wfw:commentRss>http://dicianno.org/blog/2007/06/15/mpeg4-streaming-whoas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>built-in iSight on my MBP can&#8217;t record video</title>
		<link>http://dicianno.org/blog/2007/06/15/built-in-isight-on-my-mbp-cant-record-video/</link>
		<comments>http://dicianno.org/blog/2007/06/15/built-in-isight-on-my-mbp-cant-record-video/#comments</comments>
		<pubDate>Fri, 15 Jun 2007 08:02:30 +0000</pubDate>
		<dc:creator>armando</dc:creator>
				<category><![CDATA[osx]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.dicianno.org/blog/2007/06/15/built-in-isight-on-my-mbp-cant-record-video/</guid>
		<description><![CDATA[Somehow, my MBP&#8217;s install is messed up, and the built-in iSight camera cannot be read from in video mode &#8212; but yet, still pictures work.  I discovered this, as I could not get QuickTime Broadcaster&#8217;s preview view to show any video (or for it to broadcast).  Then, I discovered that iChat cannot initiate [...]]]></description>
			<content:encoded><![CDATA[<p>Somehow, my MBP&#8217;s install is messed up, and the built-in iSight camera cannot be read from in video mode &#8212; but yet, still pictures work.  I discovered this, as I could not get QuickTime Broadcaster&#8217;s preview view to show any video (or for it to broadcast).  Then, I discovered that iChat cannot initiate any video chats with anyone.</p>
<p>I have no clue how this problem started.  Part of me wants to blame Darwin Streaming Server.  I have it turned off, so I no it&#8217;s not a conflict with it running, but part of me wonders if just installing it messed something up.</p>
<p>I really don&#8217;t want to reinstall OSX. *sigh*</p>
]]></content:encoded>
			<wfw:commentRss>http://dicianno.org/blog/2007/06/15/built-in-isight-on-my-mbp-cant-record-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
