<?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"
	>

<channel>
	<title>Zenhaven.org</title>
	<atom:link href="http://www.zenhaven.org/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zenhaven.org/blog</link>
	<description>Marc's blog</description>
	<pubDate>Tue, 05 Aug 2008 19:22:41 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>About the future of FLV</title>
		<link>http://www.zenhaven.org/blog/2008/05/about-the-future-of-flv/</link>
		<comments>http://www.zenhaven.org/blog/2008/05/about-the-future-of-flv/#comments</comments>
		<pubDate>Tue, 13 May 2008 19:35:31 +0000</pubDate>
		<dc:creator>marc</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<category><![CDATA[Adobe]]></category>

		<category><![CDATA[f4v]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[flv]]></category>

		<guid isPermaLink="false">http://www.zenhaven.org/blog/?p=11</guid>
		<description><![CDATA[FLV is dead.
That can seem like a rather bold statement, but let&#8217;s face the truth. After Adobe&#8217;s recent publication of updated and open specifications for the FLV/F4V and SWF formats, that seems to be about the most logical conclusion.
If someone reads the aforementioned specification in detail, there&#8217;s one thing that will immediatly be noticed. The [...]]]></description>
			<content:encoded><![CDATA[<p>FLV is dead.</p>
<p>That can seem like a rather bold statement, but let&#8217;s face the truth. After Adobe&#8217;s recent publication of updated and <em>open </em><a title="FLV/F4V specs" href="http://www.adobe.com/devnet/flv/">specifications</a> for the <a title="Flash Video" href="http://en.wikipedia.org/wiki/Flash_Video">FLV/F4V</a> and SWF formats, that seems to be about the most logical conclusion.<span id="more-11"></span></p>
<p>If someone reads the aforementioned specification in detail, there&#8217;s one thing that will immediatly be noticed. The specification is not about FLV, but FLV and F4V.<br />
What is F4V ? In a nutshell, it is a subset of the MPEG-4 standard destined to be a container for video, audio, and various metadata. Exactly what FLV is supposed to be too, you&#8217;ll tell me. That&#8217;s only partly true. FLV has a few limitations as a media container.</p>
<p>First of all, FLV fails as a streaming format. Ok, it&#8217;s widely used on major sites like Youtube, dailymotion, and many others, but it&#8217;s not <em>true</em> streaming, because all it does is playing an already existing file, not a stream generated on-the-fly, and playing continuously, like a TV channel.<br />
Even for random access seeking, an encoder producing FLV files has to add some specific metadata, that tell the player where it can seek.<br />
Some tricks are needed on the server side, like using specific modules for the web server (eg: mod_flv_streaming for Lighttpd), or using some scripting, in PHP or other server languages.<br />
Unhappily, free encoders like ffmpeg or mencoder are unable to add those precious metadata while encoding the files.<br />
That problem drove me to write the <a title="FLVMeta" href="http://flvmeta.googlecode.com/">FLVMeta</a> tool, that precisely does this, taking an existing FLV file to update with the needed metadata. To be fair, there are several existing tools doing the same thing, but none of them worked well enough for my taste <img src='http://www.zenhaven.org/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Another problem with the FLV format is that each frame belongs to its own &#8220;packet&#8221;. Every frame is accessible in a standalone way, even when a frame is not a keyframe, a frame containing enough information to be fully rendered, without relying on information from previous frames.<br />
That means that a FLV file can only contain video data that can adapt to that layout. Basically, a FLV file can contain video data that belongs only to a hard-coded list of codec families, like Sorenson Spark and ON2 True Motion VP6. Unfortunately, Sorenson Spark, derived from H.263, is outdated and is not on par with the modern codecs in terms of image quality. On2 VP6 is much better as a codec, but is a proprietary format, and it&#8217;s known that On2 is not exactly friends with people who try to implement their format.</p>
<p>On the other hand, H.264 has been implemented as Free Software, like the encoder <a title="x264 homepage" href="http://www.videolan.org/developers/x264.html">x264</a>, even though the standard is encumbered by many patents that can be enforced in countries like the USA. H.264 has already superseded Divx as a highly compressed movie format, and is expected to be used more and more as a streaming format.</p>
<p>Therefore, realizing the limitations of the existing video formats, Adobe chose to implement H.264 in its Flash Player software.<br />
However, as the FLV format is unable to contain H.264 video, Adobe pushed a variation of the MPEG-4 multimedia container format, and heralded it as its new champion, the F4V format !</p>
<p>This &#8220;new&#8221; format is able to contain any video and audio format, leaving more space for Adobe if they wish to widen their offer. It is also able to contain more diverse metadata, for instance in the recently introduced AMF3 format, as FLV was limited in being only able to contain AMF0 encoded data.</p>
<p>So, the most recent Flash Player (version 9.0.124.0) supports both H.264 playback as well as F4V. It&#8217;s only a matter of time before developers will upgrade their Flash authoring tools to versions able to output Flash9 files, using ActionScript 3. And then, will there be a reason to continue to support FLV ?<br />
I&#8217;m pretty sure that the major players in the league will switch to H.264, to avoid paying license fees to On2, and to provide better High Definition contents.</p>
<p>So what will be the point of keeping on using FLV ? Pretty much none, in my opinion. Maybe the F4V format is somewhat harder to implement than FLV, but most of the existing encoding software will just have to adapt their already mature MPEG-4 code, making the F4V format even more well supported than FLV is today.</p>
<p>So yes, FLV is dead, long live F4V.</p>
<p>PS: Fear not for FLVMeta, I&#8217;ll continue supporting it and developing the latest 1.1 version, FLV will be around for a few months at least, but I will focus my efforts on developing my AMF0/3 parser/serializer <a title="libamf" href="http://libamf.sf.net">libamf</a> which should allow C and C++ code at least to fully support Adobe&#8217;s metadata.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zenhaven.org/blog/2008/05/about-the-future-of-flv/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Marie Darling: the first concert</title>
		<link>http://www.zenhaven.org/blog/2008/05/marie-darling-the-first-concert/</link>
		<comments>http://www.zenhaven.org/blog/2008/05/marie-darling-the-first-concert/#comments</comments>
		<pubDate>Fri, 09 May 2008 15:10:38 +0000</pubDate>
		<dc:creator>marc</dc:creator>
		
		<category><![CDATA[Music]]></category>

		<category><![CDATA[Aloyse]]></category>

		<category><![CDATA[Baroc]]></category>

		<category><![CDATA[concert]]></category>

		<category><![CDATA[darling]]></category>

		<category><![CDATA[marie]]></category>

		<category><![CDATA[paris]]></category>

		<guid isPermaLink="false">http://www.zenhaven.org/blog/?p=6</guid>
		<description><![CDATA[It will take place the 2nd of June, in Paris, in the &#8220;Baroc&#8221; (36 rue Sambre et Meuse, 75010) at 20h.
Marie will play alongside Aloÿse and a surprise guest.
For those who don&#8217;t know her, Marie is the singer extraordinaire of Katzenjammer Kabarett, a nice Electro/Gothic/Punk/Cabaret&#8230; errr well, an interesting band anyways  
This is going [...]]]></description>
			<content:encoded><![CDATA[<p>It will take place the 2nd of June, in Paris, in the &#8220;Baroc&#8221; (36 rue Sambre et Meuse, 75010) at 20h.<br />
Marie will play alongside Aloÿse and a surprise guest.</p>
<p>For those who don&#8217;t know her, Marie is the singer extraordinaire of Katzenjammer Kabarett, a nice Electro/Gothic/Punk/Cabaret&#8230; errr well, an interesting band anyways <img src='http://www.zenhaven.org/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>This is going to be Marie&#8217;s first solo concert, so she needs encouragements and a loooot of people screaming her name.</p>
<p>Oh I forgot, the entrance is free !</p>
<p>Links:<br />
<a href="http://www.myspace.com/mariedarling">http://www.myspace.com/mariedarling</a><a href="http://www.katzenjammer-kabarett.com/"><br />
http://www.katzenjammer-kabarett.com/</a><br />
<a href="http://www.myspace.com/aloysuke">http://www.myspace.com/aloysuke</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.zenhaven.org/blog/2008/05/marie-darling-the-first-concert/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hello World !</title>
		<link>http://www.zenhaven.org/blog/2008/05/hello-world/</link>
		<comments>http://www.zenhaven.org/blog/2008/05/hello-world/#comments</comments>
		<pubDate>Thu, 08 May 2008 00:17:29 +0000</pubDate>
		<dc:creator>marc</dc:creator>
		
		<category><![CDATA[My life]]></category>

		<category><![CDATA[Zenhaven.org]]></category>

		<category><![CDATA[hello world]]></category>

		<guid isPermaLink="false">http://www.zenhaven.org/blog/?p=3</guid>
		<description><![CDATA[Every software developer out there will have recognized the famous &#8220;Hello World&#8221;.
For those who are not part of this fantastic corporation, well, this is just a way to make a first try in a new domain you don&#8217;t master yet, like, for instance, me and all this blogging thing.
Ok, ok, no digression for a first [...]]]></description>
			<content:encoded><![CDATA[<p>Every software developer out there will have recognized the famous &#8220;Hello World&#8221;.<br />
For those who are not part of this fantastic corporation, well, this is just a way to make a first try in a new domain you don&#8217;t master yet, like, for instance, me and all this blogging thing.</p>
<p>Ok, ok, no digression for a first post. This one marks the opening of my first blog, and website, so I&#8217;ll talk a bit about me and blogs.<span id="more-3"></span></p>
<p>Why did I wait so long before doing my website ? It&#8217;s been like ten years I&#8217;ve been in the IT business, the Internet, new technologies, etc, and I have never found the motivation to invest time and energy into this. There are several explanations, I guess.</p>
<p>Maybe I&#8217;ve just been lazy, or I didn&#8217;t feel like finding a decent web host. I was a student for six years, and it&#8217;s true that I was pretty busy with my studies. I really prefered improving my programming skills rather than talking about those, and I couldn&#8217;t really afford a dedicated server.<br />
I must also admit that I suck at web design (see <a href="http://noirotm.free.fr/">http://noirotm.free.fr</a> for an early example of what kind of web design I can come up with). I&#8217;m really happy that there are now very intuitive solutions such as <a title="Wordpress" href="http://www.wordpress.org/">Wordpress</a>, or <a title="Drupal" href="http://www.drupal.org/">Drupal</a>, that have thousands of themes, and can be almost be used as-is, as publishing platforms.</p>
<p>Another explanation is that maybe I didn&#8217;t have anything to say. Yeah, a lot of things have already been said on the Internet, and I didn&#8217;t think I could contribute with my limited knowledge about stuff. And I don&#8217;t like talking about myself either <img src='http://www.zenhaven.org/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>But fear not, after all those years, I now have my blog, and it will be as random as possible !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zenhaven.org/blog/2008/05/hello-world/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
