<?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>Zenhaven.org &#187; Software Development</title>
	<atom:link href="http://www.zenhaven.org/blog/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zenhaven.org/blog</link>
	<description>Marc's blog</description>
	<lastBuildDate>Wed, 02 Jun 2010 08:02:21 +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>FLVmeta news</title>
		<link>http://www.zenhaven.org/blog/2010/04/14/flvmeta-news/</link>
		<comments>http://www.zenhaven.org/blog/2010/04/14/flvmeta-news/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 10:16:57 +0000</pubDate>
		<dc:creator>marc</dc:creator>
				<category><![CDATA[FLVmeta]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.zenhaven.org/blog/?p=17</guid>
		<description><![CDATA[After a few months of development, FLVmeta 1.1 is nearing completion.
Snapshots can be downloaded on the Google Code project page at: http://code.google.com/p/flvmeta/downloads/list
A lot of new features have been added, here is an exhaustive list:


Added proper command line handling and help.
Added the possibility to overwrite the input file when the output file is not specified or [...]]]></description>
			<content:encoded><![CDATA[<p>After a few months of development, FLVmeta 1.1 is nearing completion.</p>
<p>Snapshots can be downloaded on the Google Code project page at: <a href="http://code.google.com/p/flvmeta/downloads/list">http://code.google.com/p/flvmeta/downloads/list</a></p>
<p><span id="more-17"></span>A lot of new features have been added, here is an exhaustive list:</p>
<div id="_mcePaste">
<ul>
<li>Added proper command line handling and help.</li>
<li>Added the possibility to overwrite the input file when the output file is not specified or when both files are physically the same.</li>
<li> Added support for CMake builds in addition to autotools. It is now the official way to build flvmeta on Windows.</li>
<li>Added metadata and full file dumping, integrating former flvdump functionality into flvmeta.</li>
<li>Added support for XML, YAML, and JSON formats for dumping.</li>
<li>Added XML schemas describing the various formats used by flvmeta.</li>
<li>Added a file checking feature (currently unimplemented).</li>
<li>Added the possibility to print output file metadata after a successful update using one of the supported formats.</li>
<li>Added a feature to insert custom metadata strings while updating.</li>
<li>Added an option to disable insertion of the onLastSecond event.</li>
<li>Added an option to preserve existing metadata tags if possible.</li>
<li>Added an option to fix invalid tags while updating (this is a highly experimental feature, should be used with caution)</li>
<li>Added an option to ignore invalid tags as much as possible instead of exiting at the first error detected.</li>
<li>Added an option to reset the file timestamps in order to correctly start at zero, for example if the file has been incorrectly split by buggy tools.</li>
<li>Added an option to display informative messages while processing (not quite exhaustive for the moment)</li>
</ul>
</div>
<p>A few things are still missing for the next stable release, for example some proper user documentation, now that a complete set of command line options are available, as well as the implementation of the check command.</p>
<p>Everyone is welcome to test the software and report bugs on the <a href="http://code.google.com/p/flvmeta/issues/list">issue tracker</a>.</p>
<p>I&#8217;m also still pondering the benefits of using gettext in order to fully internationalize the output of the program. On one hand, there are many people who don&#8217;t speak english, and adding the potential to reach a wider audience is tempting. It is also a must-have in order to be featured in distros like Debian.</p>
<p>On the other hand, I still have issues with building flvmeta with gettext enabled. First of all the cmake/windows combination would be kind of experimental at best, and using autotools, I still need to fully understand which files must and must not be added to the repository.<br /> There&#8217;s also the question of performance, since flvmeta is mostly used as an automated tool for update purpose. Dynamically loading strings in that setting is kind of pointless since speed and memory can be affected and there&#8217;s noone to ever read those messages anyways.</p>
<p>After version 1.1, which is transitional in the sense that it really represents the maturation of flvmeta into a real CLI tool, a 1.2 version will be in development.</p>
<p>Features expected for 1.2 include:</p>
<div>
<ul>
<li>insertion of custom data tags, notably cuepoints, from XML files</li>
<li>extraction of individual audio and video streams</li>
<li>creation of a GUI tool wrapping flvmeta&#8217;s functionalities, and adding a bit more, like batch processing, and integration with various file managers (Nautilus, Windows Explorer ?)</li>
<li>eventually a streaming mode, to create some sort of &#8220;real time&#8221; playback of FLV files to devices or sockets, which could really be interesting in conjunction with a HTTP server, to better control bandwidth usage when using the now widespread &#8220;pseudo-streaming&#8221; of FLV files</li>
</ul>
</div>
<p>To add a quick follow-up to my previous post, I might add that&#8230; no, FLV is not quite dead yet, since H.264 streams in FLV containers are working quite well in the Flash Player, and major sites have adopted that combination.<br />I think we also might even expect support for On2 VP8 in FLV files before the end of the year. If Google really open-sources its code, alternative flash implementations will certainly jump the wagon before maybe even Adobe.<br />Of course, due to Adobe being a major On2 licensee, as well as thanks to the rather good relationship between them and Google, the official Flash Player might support this codec fast enough for it to become a viable alternative to the increasingly controversial H.264.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zenhaven.org/blog/2010/04/14/flvmeta-news/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>About the future of FLV</title>
		<link>http://www.zenhaven.org/blog/2008/05/13/about-the-future-of-flv/</link>
		<comments>http://www.zenhaven.org/blog/2008/05/13/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 Development]]></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/13/about-the-future-of-flv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
