<?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/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule">

<channel>
	<title>Daniel Bartholomew &#187; Daniel</title>
	<atom:link href="http://daniel-bartholomew.com/wordpress/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://daniel-bartholomew.com/wordpress</link>
	<description></description>
	<lastBuildDate>Mon, 26 Sep 2011 19:13:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/us/</creativeCommons:license>		<item>
		<title>D2 Plug Computer</title>
		<link>http://daniel-bartholomew.com/wordpress/2011/09/d2-plug-computer/</link>
		<comments>http://daniel-bartholomew.com/wordpress/2011/09/d2-plug-computer/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 18:53:40 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://daniel-bartholomew.com/wordpress/2011/09/d2-plug-computer/</guid>
		<description><![CDATA[D2 Plug Computer, a set on Flickr.

I finally received the new D2 Plug from GlobalScale Technologies a couple days ago. I actually ordered it several months ago, and I guess they're finally shipping, or maybe they've been shipping for ...]]></description>
			<content:encoded><![CDATA[<div style="padding: 0; overflow: hidden; margin: 0; width: 500px;"><a href="http://www.flickr.com/photos/dbartholomew/6185655721/in/set-72157627634956557/" title="2011-09-23--21.10.32--EDT--SDC14440" style="text-decoration: none;"><img src="http://farm7.static.flickr.com/6162/6185655721_16ba532da6_s.jpg" alt="2011-09-23--21.10.32--EDT--SDC14440" style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;"/></a><a href="http://www.flickr.com/photos/dbartholomew/6185698229/in/set-72157627634956557/" title="2011-09-23--21.00.16--EDT--SDC14410" style="text-decoration: none;"><img src="http://farm7.static.flickr.com/6154/6185698229_0a3ac2d580_s.jpg" alt="2011-09-23--21.00.16--EDT--SDC14410" style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;"/></a><a href="http://www.flickr.com/photos/dbartholomew/6185677619/in/set-72157627634956557/" title="2011-09-23--21.00.32--EDT--SDC14411" style="text-decoration: none;"><img src="http://farm7.static.flickr.com/6158/6185677619_f497c3bfdb_s.jpg" alt="2011-09-23--21.00.32--EDT--SDC14411" style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;"/></a><a href="http://www.flickr.com/photos/dbartholomew/6185687209/in/set-72157627634956557/" title="2011-09-23--21.02.01--EDT--SDC14419" style="text-decoration: none;"><img src="http://farm7.static.flickr.com/6179/6185687209_86448a1b14_s.jpg" alt="2011-09-23--21.02.01--EDT--SDC14419" style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;"/></a><a href="http://www.flickr.com/photos/dbartholomew/6185690415/in/set-72157627634956557/" title="2011-09-23--21.03.05--EDT--SDC14424" style="text-decoration: none;"><img src="http://farm7.static.flickr.com/6163/6185690415_3e7a3c0305_s.jpg" alt="2011-09-23--21.03.05--EDT--SDC14424" style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;"/></a><a href="http://www.flickr.com/photos/dbartholomew/6186165250/in/set-72157627634956557/" title="2011-09-23--21.03.34--EDT--SDC14425" style="text-decoration: none;"><img src="http://farm7.static.flickr.com/6163/6186165250_29ba1ce79a_s.jpg" alt="2011-09-23--21.03.34--EDT--SDC14425" style="padding: 0 0 10px 0; width: 75px; height: 75px; float: left;"/></a><br clear="all" /><a href="http://www.flickr.com/photos/dbartholomew/6185703093/in/set-72157627634956557/" title="2011-09-23--21.04.44--EDT--SDC14426" style="text-decoration: none;"><img src="http://farm7.static.flickr.com/6180/6185703093_f50ef0f372_s.jpg" alt="2011-09-23--21.04.44--EDT--SDC14426" style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;"/></a><a href="http://www.flickr.com/photos/dbartholomew/6186207554/in/set-72157627634956557/" title="2011-09-23--21.04.54--EDT--SDC14427" style="text-decoration: none;"><img src="http://farm7.static.flickr.com/6163/6186207554_e2be5630e8_s.jpg" alt="2011-09-23--21.04.54--EDT--SDC14427" style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;"/></a><a href="http://www.flickr.com/photos/dbartholomew/6186151988/in/set-72157627634956557/" title="2011-09-23--21.06.00--EDT--SDC14433" style="text-decoration: none;"><img src="http://farm7.static.flickr.com/6159/6186151988_a6bf22d688_s.jpg" alt="2011-09-23--21.06.00--EDT--SDC14433" style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;"/></a><a href="http://www.flickr.com/photos/dbartholomew/6185662609/in/set-72157627634956557/" title="2011-09-23--21.06.12--EDT--SDC14434" style="text-decoration: none;"><img src="http://farm7.static.flickr.com/6172/6185662609_d0037bf0aa_s.jpg" alt="2011-09-23--21.06.12--EDT--SDC14434" style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;"/></a><a href="http://www.flickr.com/photos/dbartholomew/6186155366/in/set-72157627634956557/" title="2011-09-23--21.06.19--EDT--SDC14435" style="text-decoration: none;"><img src="http://farm7.static.flickr.com/6163/6186155366_5669d05df8_s.jpg" alt="2011-09-23--21.06.19--EDT--SDC14435" style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;"/></a><a href="http://www.flickr.com/photos/dbartholomew/6186219016/in/set-72157627634956557/" title="2011-09-23--21.07.15--EDT--SDC14437" style="text-decoration: none;"><img src="http://farm7.static.flickr.com/6162/6186219016_49ecaa29f2_s.jpg" alt="2011-09-23--21.07.15--EDT--SDC14437" style="padding: 0 0 10px 0; width: 75px; height: 75px; float: left;"/></a><br clear="all" /><a href="http://www.flickr.com/photos/dbartholomew/6186198500/in/set-72157627634956557/" title="2011-09-23--21.08.53--EDT--SDC14439" style="text-decoration: none;"><img src="http://farm7.static.flickr.com/6167/6186198500_f7396f1187_s.jpg" alt="2011-09-23--21.08.53--EDT--SDC14439" style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;"/></a><a href="http://www.flickr.com/photos/dbartholomew/6186172218/in/set-72157627634956557/" title="2011-09-23--21.10.58--EDT--SDC14441" style="text-decoration: none;"><img src="http://farm7.static.flickr.com/6178/6186172218_05c919cc1d_s.jpg" alt="2011-09-23--21.10.58--EDT--SDC14441" style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;"/></a><a href="http://www.flickr.com/photos/dbartholomew/6185701511/in/set-72157627634956557/" title="2011-09-23--21.12.09--EDT--SDC14442" style="text-decoration: none;"><img src="http://farm7.static.flickr.com/6152/6185701511_d4645c6ff3_s.jpg" alt="2011-09-23--21.12.09--EDT--SDC14442" style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;"/></a><img src="http://l.yimg.com/g/images/gallery-empty-icon.gif" style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;"/><img src="http://l.yimg.com/g/images/gallery-empty-icon.gif" style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;"/><img src="http://l.yimg.com/g/images/gallery-empty-icon.gif" style="padding: 0 0 10px 0; width: 75px; height: 75px; float: left;"/><br clear="all" /></div>
<div style="font-size: 0.8em; margin-top: 0px; margin-bottom: 5px">
<p><a href="http://www.flickr.com/photos/dbartholomew/sets/72157627634956557/">D2 Plug Computer</a>, a set on Flickr.</p>
</div>
<p>I finally received the new D2 Plug from GlobalScale Technologies a couple days ago. I actually ordered it several months ago, and I guess they&#8217;re finally shipping, or maybe they&#8217;ve been shipping for a while and my order was just <strong>really</strong> far down the list. The thumbnails above link to my D2 Plug gallery on Flickr and I&#8217;ve added descriptions to each photo there.</p>
<p>More information on the D2, including technical specifications, is available on the <a href="http://www.globalscaletechnologies.com/c-8-d2plug.aspx">GlobalScale website</a>.</p>
<p>In case you are wondering: No, I don&#8217;t know what I&#8217;m going to do with it yet. Any ideas are welcome. <img src='http://daniel-bartholomew.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p class="wp-flattr-button"></p> <p><a href="http://daniel-bartholomew.com/wordpress/?flattrss_redirect&amp;id=329&amp;md5=69e1d645a5653128020f9559d6f5c2b8" title="Flattr" target="_blank"><img src="http://daniel-bartholomew.com/wordpress/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://daniel-bartholomew.com/wordpress/2011/09/d2-plug-computer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MariaDB Crash Course</title>
		<link>http://daniel-bartholomew.com/wordpress/2011/09/mariadb-crash-course/</link>
		<comments>http://daniel-bartholomew.com/wordpress/2011/09/mariadb-crash-course/#comments</comments>
		<pubDate>Wed, 21 Sep 2011 14:19:03 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://daniel-bartholomew.com/wordpress/2011/09/mariadb-crash-course/</guid>
		<description><![CDATA[

I just received my pre-ordered copy of Ben Forta's new MariaDB Crash Course book. I participated in the tech edit and I'm excited to see the finished product!

The book is available from Amazon.com and other fine booksellers.]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px; margin-bottom: 10px;"><a title="photo sharing" href="http://www.flickr.com/photos/dbartholomew/6169436322/"><img src="http://farm7.static.flickr.com/6173/6169436322_d243f87bf6_m.jpg" alt="MariaDB Crash Course by Ben Forta" /></a>
</div>
<p>I just received my pre-ordered copy of Ben Forta&#8217;s new MariaDB Crash Course book. I participated in the tech edit and I&#8217;m excited to see the finished product!</p>
<p>The book is available from <a title="MariaDB Crash Course on Amazon.com" href="http://www.amazon.com/MariaDB-Crash-Course-Ben-Forta/dp/0321799941/" target="_blank">Amazon.com</a> and other fine booksellers.</p>
<p class="wp-flattr-button"></p> <p><a href="http://daniel-bartholomew.com/wordpress/?flattrss_redirect&amp;id=325&amp;md5=e0118d42b4966da58b13d15e0c31305e" title="Flattr" target="_blank"><img src="http://daniel-bartholomew.com/wordpress/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://daniel-bartholomew.com/wordpress/2011/09/mariadb-crash-course/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Road to MariaDB 5.2: Virtual Columns</title>
		<link>http://daniel-bartholomew.com/wordpress/2010/09/road-to-mariadb-5-2-virtual-columns/</link>
		<comments>http://daniel-bartholomew.com/wordpress/2010/09/road-to-mariadb-5-2-virtual-columns/#comments</comments>
		<pubDate>Thu, 30 Sep 2010 06:36:48 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Monty Program Ab]]></category>
		<category><![CDATA[MariaDB]]></category>

		<guid isPermaLink="false">http://daniel-bartholomew.com/wordpress/?p=299</guid>
		<description><![CDATA[MariaDB 5.2 is almost here. The gamma release (think "RC") was released on 28 Sep and the stable release will follow just as soon as the developers are happy with it.

One of the best new features of MariaDB 5.2 ...]]></description>
			<content:encoded><![CDATA[<p>MariaDB 5.2 is almost here. The <a href="http://kb.askmonty.org/v/mariadb-522-release-notes">gamma release</a> (think &#8220;RC&#8221;) was released on 28 Sep and the stable release will follow just as soon as the developers are happy with it.</p>
<p>One of the best new features of MariaDB 5.2 is Virtual Columns.</p>
<p>What are virtual columns you say?</p>
<p>Well, I suppose I should start by backing up a bit and saying that there are two types of virtual columns: <strong>VIRTUAL</strong> virtual columns and <strong>PERSISTENT</strong> virtual columns. (I know, I know&#8230; saying <em>virtual</em> twice is a little strange).</p>
<p>Ignoring the semantics, I think of <strong>virtual</strong> virtual columns as truly virtual; their value is not stored and they have no actual existence apart from the table definition. They act like regular columns in queries, but their content is always calculated on the fly and never written to disk. You might be thinking that this could lead to a performance penalty; so to help with performance, if an SQL query doesn&#8217;t reference a <strong>virtual</strong> virtual column, the value is not calculated.</p>
<p><strong>Persistent</strong> virtual columns are half-way between being truly virtual and being regular columns. The main difference compared to virtual virtual columns is that the calculated data is actually stored in the database.</p>
<p>More information on the syntax to use when creating a table with virtual columns, and some things to be aware of, see the <a href="http://kb.askmonty.org/v/virtual-columns">Virtual Columns</a> entry in the Askmonty.org Knowledgebase.</p>
<p>Enough talk, let&#8217;s see virtual columns in action.</p>
<div style="border:1px solid #600;color:#600;background:#fcc;padding:.5em;margin:.5em;"><strong><em>Warning:</em></strong> The examples below are simplistic. In my defense, my job is to document how a feature works, not to wow anyone with all of the cool ways a feature can or could be used (and abused). Let me just say the examples work for my purposes here, but are not very useful, imaginative, or practical. <img src='http://daniel-bartholomew.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </div>
<div style="background-color:black;color:green;margin:10px;padding:10px;font-size:10px;line-height:11px;"><code>MariaDB [test]> create table table1 (<br />
    -> a int not null,<br />
    -> b int as (a + 10) persistent);<br />
Query OK, 0 rows affected (0.28 sec)</p>
<p>MariaDB [test]> insert into table1 (a) values (1),(2),(3),(4);<br />
Query OK, 4 rows affected (0.12 sec)<br />
Records: 4  Duplicates: 0  Warnings: 0</p>
<p>MariaDB [test]> select * from table1;<br />
+---+------+<br />
| a | b &nbsp;&nbsp;&nbsp;|<br />
+---+------+<br />
| 1 |   11 &nbsp;&nbsp;|<br />
| 2 |   12 &nbsp;&nbsp;|<br />
| 3 |   13 &nbsp;&nbsp;|<br />
| 4 |   14 &nbsp;&nbsp;|<br />
+---+------+<br />
4 rows in set (0.00 sec)<br />
</code></div>
<p><em><strong>Tip:</strong></em> Don&#8217;t try to INSERT into a virtual column. MariaDB will just ignore you (and complain).</p>
<p>Now what happens if I do an alter table?</p>
<div style="background-color:black;color:green;margin:10px;padding:10px;font-size:10px;line-height:11px;"><code>MariaDB [test]> alter table table1<br />
    -> change b<br />
    -> b int as (a + 100) persistent;<br />
Query OK, 4 rows affected (0.41 sec)<br />
Records: 4  Duplicates: 0  Warnings: 0</p>
<p>MariaDB [test]> select * from table1;<br />
+---+------+<br />
| a | b &nbsp;&nbsp;&nbsp;|<br />
+---+------+<br />
| 1 | &nbsp;101 |<br />
| 2 | &nbsp;102 |<br />
| 3 | &nbsp;103 |<br />
| 4 | &nbsp;104 |<br />
+---+------+<br />
4 rows in set (0.00 sec)<br />
</code></div>
<p>As you can see, the values in the virtual column were automatically updated based on the new virtual column definition. Pretty cool, no?</p>
<p>The alternative to using virtual columns would be to use triggers, but if you change your trigger, the old generated values will not be updated automatically. Granted this may be the behavior you need, but then again, it might not be. If you would like the generated data to be automatically updated, use virtual columns; if not, use triggers. In my opinion, virtual columns are much easier to update and maintain compared to triggers, but maybe that&#8217;s just me.</p>
<p>For example, consider a table with (among other things) a price_usd column representing a price in USD (United States Dollars) and a price_eur column representing a price in EUR (Euros). For the purposes of this example, let&#8217;s pretend the price_eur column is either a persistent virtual column or is filled by a trigger automatically. If you are using the table to record sales, you probably don&#8217;t want old entries to be updated if they represent the exchange rate between EUR and USD on the day the entry was entered, the the trigger-filled version is probably what you want since it will record the price in USD and EUR when the sale was made. On the other hand, if the table is used to record current prices, you will want all of the generated columns to be updated if the exchange rate changes, so the virtual columns version is the one you want to use.</p>
<p>Anyway, virtual columns is one of the nifty new features in MariaDB 5.2. <a href="http://downloads.askmonty.org">Check it out!</a></p>
<p class="wp-flattr-button"></p> <p><a href="http://daniel-bartholomew.com/wordpress/?flattrss_redirect&amp;id=299&amp;md5=f9919438c24c04553496310ec7aedaf5" title="Flattr" target="_blank"><img src="http://daniel-bartholomew.com/wordpress/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://daniel-bartholomew.com/wordpress/2010/09/road-to-mariadb-5-2-virtual-columns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fun with FFmpeg</title>
		<link>http://daniel-bartholomew.com/wordpress/2010/09/fun-with-ffmpeg/</link>
		<comments>http://daniel-bartholomew.com/wordpress/2010/09/fun-with-ffmpeg/#comments</comments>
		<pubDate>Fri, 10 Sep 2010 20:19:04 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://daniel-bartholomew.com/wordpress/?p=264</guid>
		<description><![CDATA[So I'm browsing YouTube the other day and I come across a catchy music video and I'd really like to download it and play it over and over again at home and while I'm out and about; you know, ...]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;m browsing <a title="YouTube" href="http://youtube.com" target="_blank">YouTube</a> the other day and I come across a catchy music video and I&#8217;d really like to download it and play it over and over again at home and while I&#8217;m out and about; you know, to annoy people. <img src='http://daniel-bartholomew.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Downloading a video from YouTube is pretty easy these days thanks to various browser extensions; and if the downloaded video is in a .mp4 container, I don&#8217;t have do anything since just about any video player, including my 1st generation <a href="http://popcornhour.com" target="_blank" title="PopcornHour">PopcornHour</a> reads them just fine. But some videos on YouTube are stuffed into .flv containers. So for those videos in .flv format, I want to convert them into .mp4 files at least, or something better. Additionally, for music videos I sometimes want just the audio; so I can play it in my car or with my desktop audio player. So an additional task is to extract just the audio into an audio container. On top of that, I would rather not re-encode the video or audio, I just want to extract it and stick it into a different container.</p>
<p>What&#8217;s a container you ask? Think of it as the box you stuff your media into. In the analog world of records, film, and such, the container would be the film strip, the vinyl record, or the magnetic tape inside a cassette tape. The actual audio and video information in those formats is put into those containers either by scratching it into the surface (in the case of records), using magnets (in the case of magnetic tape), or through a chemical photographic process that burns images into an emulsion on a film strip.</p>
<p>In a computer, audio and video exist as streams of data (think: long lines of ones and zeros). To make use of these streams, they need to be put into a container. In the analog world the container forces a particular format on the data it holds. For example, a magnetic tape would be destroyed if you ran it through the machine used to <a href="http://www.youtube.com/watch?v=xUGRRUecBik" target="_blank" title="How Records are Made">scratch tracks</a> into blank master records. This restriction also exists in the digital realm to an extent; some containers are only able to contain certain types of information. Other containers, however, are very capable and can hold multiple audio, video, and subtitle streams.</p>
<p>So, back to my original problem; how to move streams between different containers. Well, it&#8217;s really easy with <strong><a href="http://ffmpeg.org" target="_blank" title="FFmpeg">FFmpeg</a></strong>. Yes it requires a trip to the command-line, but it&#8217;s pretty painless.</p>
<p>FFmpeg is probably already installed on your Linux box (a lot of other programs use it). And if it&#8217;s not, your package manger should have a copy. Refer to your distribution&#8217;s documentation for instructions on getting it installed.</p>
<p>To test to see if you have it installed, open up a terminal and type &#8216;ffmpeg&#8217; and then press Enter. If it is installed you will see something similar to the following:</p>
<div style="background-color:black;color:green;margin:10px;padding:10px;font-size:10px;"><code>me@mybox:~$ <strong>ffmpeg</strong><br />
FFmpeg version SVN-r0.5.1-4:0.5.1-1ubuntu1, Copyright (c) 2000-2009 Fabrice Bellard, et al.<br />
  configuration: --extra-version=4:0.5.1-1ubuntu1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-static<br />
  libavutil     49.15. 0 / 49.15. 0<br />
  libavcodec    52.20. 1 / 52.20. 1<br />
  libavformat   52.31. 0 / 52.31. 0<br />
  libavdevice   52. 1. 0 / 52. 1. 0<br />
  libavfilter    0. 4. 0 /  0. 4. 0<br />
  libswscale     0. 7. 1 /  0. 7. 1<br />
  libpostproc   51. 2. 0 / 51. 2. 0<br />
  built on Mar  4 2010 12:35:30, gcc: 4.4.3<br />
At least one output file must be specified</code></div>
<p>The above is output <strong>every</strong> time you run ffmpeg, so I&#8217;ll strip it from future examples.</p>
<p>So let&#8217;s say I&#8217;ve downloaded this cool song from YouTube:</p>
<div style="background-color:black;color:green;margin:10px;padding:10px;font-size:10px;"><code>me@mybox:~/tmp$ ls<br />
<strong style="color:purple;">cool-song.flv</strong></code></div>
<p>The first thing I want to do is find out what is inside the .flv container. This is easy with FFmpeg:</p>
<div style="background-color:black;color:green;margin:10px;padding:10px;font-size:10px;"><code>me@mybox:~/tmp$ <strong style="padding:1px;border:1px solid green">ffmpeg -i cool-song.flv </strong><br />
...skipped stuff...<br />
Seems stream 0 codec frame rate differs from container frame rate: 59.94 (2997/50) -> 29.92 (359/12)<br />
Input #0, flv, from 'cool-song.flv':<br />
  Duration: 00:03:15.96, start: 0.000000, bitrate: 514 kb/s<br />
    <strong style="padding:1px;border:1px solid green">Stream #0.0: Video: <em>h264</em></strong>, yuv420p, 480x360 [PAR 1:1 DAR 4:3], 514 kb/s, 29.92 tbr, 1k tbn, 59.94 tbc<br />
   <strong style="padding:1px;border:1px solid green"> Stream #0.1: Audio: <em>aac</em></strong>, 44100 Hz, stereo, s16<br />
At least one output file must be specified</code></div>
<p>I&#8217;ve put <strong style="margin:2px;color:green;padding:1px;border:1px solid green;font-size:10px;"><code>boxes</code></strong> around the important bits in the output above.</p>
<p>So now I know that the video inside the .flv is h264 and the audio is aac. My PopcornHour can play both of those, they just need to be in a supported container. To do so, do the following:</p>
<div style="background-color:black;color:green;margin:10px;padding:10px;font-size:10px;"><code>me@mybox:~/tmp$ ffmpeg -i cool-song.flv \<br />
> -acodec copy \<br />
> -vcodec copy \<br />
> cool-song.mkv</p>
<p>Seems stream 0 codec frame rate differs from container frame rate: 59.94 (2997/50) -> 29.92 (359/12)<br />
<strong style="padding:1px;border:1px solid green">Input #0, flv, from 'cool-song.flv':</strong><br />
  Duration: 00:03:15.96, start: 0.000000, bitrate: 514 kb/s<br />
    Stream #0.0: Video: h264, yuv420p, 480x360 [PAR 1:1 DAR 4:3], 514 kb/s, 29.92 tbr, 1k tbn, 59.94 tbc<br />
    Stream #0.1: Audio: aac, 44100 Hz, stereo, s16<br />
<strong style="padding:1px;border:1px solid green">Output #0, matroska, to 'cool-song.mkv':</strong><br />
    Stream #0.0: Video: libx264, yuv420p, 480x360 [PAR 1:1 DAR 4:3], q=2-31, 514 kb/s, 90k tbn, 29.97 tbc<br />
    Stream #0.1: Audio: libfaac, 44100 Hz, stereo, s16<br />
Stream mapping:<br />
  Stream #0.0 -> #0.0<br />
  Stream #0.1 -> #0.1<br />
Press [q] to stop encoding<br />
frame= 5874 fps=  0 q=-1.0 Lsize=   14807kB time=196.00 bitrate= 618.9kbits/s<br />
video:11991kB audio:2714kB global headers:0kB muxing overhead 0.690280%</code></div>
<p>I split the FFmpeg command into four lines so I can explain what each part is doing:</p>
<div style="background-color:black;color:green;margin:10px;padding:10px;font-size:10px;"><code>ffmpeg -i cool-song.flv \ <span style="color:gray;"> # Specify the input file</span><br />
> -acodec copy \ <span style="color:gray;"># I want to copy the audio track</span><br />
> -vcodec copy \ <span style="color:gray;"># I want to copy the video track too</span><br />
> cool-song.mkv <span style="color:gray;"># specify the output filename and container</span></code></div>
<p>After <code>-acodec</code> and <code>-vcodec</code> I could have easily told FFmpeg to convert the audio or video into different formats, but why bother if my player can play them just fine? (I know, I know, patents. But let&#8217;s not get into that now, Ok?) Likewise I could have specified &#8216;.mp4&#8242;, &#8216;.avi&#8217;, or any other container supported by FFmpeg which in turn supports h264 video streams and aac audio streams. I happen to like .mkv (<a href="http://www.matroska.org/" target="_blank" title="Matroska">Matroska</a>) containers, so that&#8217;s what I went with.</p>
<p>Since I am having FFmpeg just take the streams from one container and stuff them into another, the process is very fast. About the same amount of time it would take to copy the original file from one disk to another.</p>
<p>How about extracting just the audio? Well, for that I keep the <code>-acodec</code> line and omit the <code>-vcodec</code> line like so: </p>
<div style="background-color:black;color:green;margin:10px;padding:10px;font-size:10px;"><code>me@mybox:~/tmp$ ffmpeg -i cool-song.flv \<br />
> -acodec copy \<br />
> cool-song.aac</p>
<p>Seems stream 0 codec frame rate differs from container frame rate: 59.94 (2997/50) -> 29.92 (359/12)<br />
<strong style="padding:1px;border:1px solid green">Input #0, flv, from 'cool-song.flv':</strong><br />
  Duration: 00:03:15.96, start: 0.000000, bitrate: 514 kb/s<br />
    Stream #0.0: Video: h264, yuv420p, 480x360 [PAR 1:1 DAR 4:3], 514 kb/s, 29.92 tbr, 1k tbn, 59.94 tbc<br />
    Stream #0.1: Audio: aac, 44100 Hz, stereo, s16<br />
<strong style="padding:1px;border:1px solid green">Output #0, adts, to 'cool-song.aac':</strong><br />
    Stream #0.0: Audio: libfaac, 44100 Hz, stereo, s16<br />
Stream mapping:<br />
  Stream #0.1 -> #0.0<br />
Press [q] to stop encoding<br />
size=    2772kB time=196.51 bitrate= 115.6kbits/s<br />
video:0kB audio:2714kB global headers:0kB muxing overhead 2.131281%</code></div>
<p>For an aac audio stream, the container that makes the most sense is obviously .aac, so that&#8217;s what I used.</p>
<p>That&#8217;s all there is to it. Moving audio and video streams between different containers is easy. </p>
<p>That&#8217;s it for the meat of this entry. I do want to point out a gotcha with FFmpeg and containers and show the list of every format and container my copy of FFmpeg can work with, but you don&#8217;t have to stick around if you don&#8217;t want to.</p>
<h2>A note about Containers</h2>
<p>FFmpeg knows the common extensions for the various codecs, so there&#8217;s no need to explicitly specify the container, just name the file with the appropriate extension and FFmpeg will figure it out. One gotcha though: FFmpeg will sometimes protect you from doing something stupid, but not always. For example, it will happily stuff the h264 video stream and aac audio stream into a .mp3 file. Just because it will do such a thing doesn&#8217;t mean you will like the result. I tried it on my example file and after it was done I had a file that not even FFmpeg could read properly:</p>
<div style="background-color:black;color:green;margin:10px;padding:10px;font-size:10px;"><code>me@mybox:~/tmp$ ffmpeg -i cool-song.flv \<br />
> -acodec copy -vcodec copy cool-song.mp3</p>
<p>Seems stream 0 codec frame rate differs from container frame rate: 59.94 (2997/50) -> 29.92 (359/12)<br />
<strong style="padding:1px;border:1px solid green">Input #0, flv, from 'cool-song.flv':</strong><br />
  Duration: 00:03:15.96, start: 0.000000, bitrate: 514 kb/s<br />
    Stream #0.0: Video: h264, yuv420p, 480x360 [PAR 1:1 DAR 4:3], 514 kb/s, 29.92 tbr, 1k tbn, 59.94 tbc<br />
    Stream #0.1: Audio: aac, 44100 Hz, stereo, s16<br />
<strong style="padding:1px;border:1px solid green">Output #0, mp3, to 'cool-song.mp3':</strong><br />
    Stream #0.0: Video: libx264, yuv420p, 480x360 [PAR 1:1 DAR 4:3], q=2-31, 514 kb/s, 90k tbn, 29.97 tbc<br />
    Stream #0.1: Audio: libfaac, 44100 Hz, stereo, s16<br />
Stream mapping:<br />
  Stream #0.0 -> #0.0<br />
  Stream #0.1 -> #0.1<br />
Press [q] to stop encoding<br />
frame= 5874 fps=  0 q=-1.0 Lsize=   14705kB time=196.00 bitrate= 614.6kbits/s<br />
video:11991kB audio:2714kB global headers:0kB muxing overhead 0.000213%</p>
<p>me@mybox:~/tmp$ ffmpeg -i cool-song.mp3<br />
[mp3 @ 0x8499a60]Could not find codec parameters (Audio: mp1, 0 channels, s16)<br />
cool-song.mp3: could not find codec parameters</code></div>
<p>You have been warned. <img src='http://daniel-bartholomew.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Supported Formats</h2>
<p>FFmpeg supports a <strong>lot</strong> of different formats. The exact ones depends on how your copy of FFmpeg was configured when it was compiled. To see what your local copy of FFmpeg supports, use the -formats option. According to the FFmpeg man page, &#8220;[t]he fields preceding the format and codec names have the following meanings:</p>
<ul>
<li>D   Decoding available</li>
<li>E   Encoding available</li>
<li>V/A/S Video/audio/subtitle codec</li>
<li>S   Codec supports slices</li>
<li>D   Codec supports direct rendering</li>
<li>T   Codec can handle input truncated at random locations instead of only at frame boundaries</li>
</ul>
<p>I&#8217;ve been saving this for last because the list is really long:</p>
<div style="background-color:black;color:green;margin:10px;padding:10px;font-size:10px;"><code>me@mybox:~/tmp$ ffmpeg -formats<br />
 File formats:<br />
  E 3g2             3GP2 format<br />
  E 3gp             3GP format<br />
 D  4xm             4X Technologies format<br />
 D  IFF             IFF format<br />
 D  ISS             Funcom ISS format<br />
 D  MTV             MTV format<br />
 DE RoQ             raw id RoQ format<br />
 D  aac             raw ADTS AAC<br />
 DE ac3             raw AC-3<br />
  E adts            ADTS AAC<br />
 DE aiff            Audio IFF<br />
 DE alaw            PCM A-law format<br />
 DE alsa            ALSA audio output<br />
 DE amr             3GPP AMR file format<br />
 D  apc             CRYO APC format<br />
 D  ape             Monkey's Audio<br />
 DE asf             ASF format<br />
  E asf_stream      ASF format<br />
 DE ass             SSA/ASS format<br />
 DE au              SUN AU format<br />
 DE avi             AVI format<br />
  E avm2            Flash 9 (AVM2) format<br />
 D  avs             AVS format<br />
 D  bethsoftvid     Bethesda Softworks VID format<br />
 D  bfi             Brute Force &#038; Ignorance<br />
 D  c93             Interplay C93<br />
 D  cavsvideo       raw Chinese AVS video<br />
  E crc             CRC testing format<br />
 DE daud            D-Cinema audio format<br />
 DE dirac           raw Dirac<br />
 DE dnxhd           raw DNxHD (SMPTE VC-3)<br />
 D  dsicin          Delphine Software International CIN format<br />
 DE dts             raw DTS<br />
 DE dv              DV video format<br />
 D  dv1394          DV1394 A/V grab<br />
  E dvd             MPEG-2 PS format (DVD VOB)<br />
 D  dxa             DXA<br />
 D  ea              Electronic Arts Multimedia Format<br />
 D  ea_cdata        Electronic Arts cdata<br />
 DE eac3            raw E-AC-3<br />
 DE f32be           PCM 32 bit floating-point big-endian format<br />
 DE f32le           PCM 32 bit floating-point little-endian format<br />
 DE f64be           PCM 64 bit floating-point big-endian format<br />
 DE f64le           PCM 64 bit floating-point little-endian format<br />
 DE ffm             FFM (FFserver live feed) format<br />
 D  film_cpk        Sega FILM/CPK format<br />
 DE flac            raw FLAC<br />
 D  flic            FLI/FLC/FLX animation format<br />
 DE flv             FLV format<br />
  E framecrc        framecrc testing format<br />
  E gif             GIF Animation<br />
 D  gsm             raw GSM<br />
 DE gxf             GXF format<br />
 DE h261            raw H.261<br />
 DE h263            raw H.263<br />
 DE h264            raw H.264 video format<br />
 D  idcin           id Cinematic format<br />
 DE image2          image2 sequence<br />
 DE image2pipe      piped image2 sequence<br />
 D  ingenient       raw Ingenient MJPEG<br />
 D  ipmovie         Interplay MVE format<br />
  E ipod            iPod H.264 MP4 format<br />
 D  libdc1394       dc1394 v.2 A/V grab<br />
 D  lmlm4           lmlm4 raw format<br />
 DE m4v             raw MPEG-4 video format<br />
 DE matroska        Matroska file format<br />
 DE mjpeg           raw MJPEG video<br />
 D  mlp             raw MLP<br />
 D  mm              American Laser Games MM format<br />
 DE mmf             Yamaha SMAF<br />
  E mov             MOV format<br />
 D  mov,mp4,m4a,3gp,3g2,mj2 QuickTime/MPEG-4/Motion JPEG 2000 format<br />
  E mp2             MPEG audio layer 2<br />
 DE mp3             MPEG audio layer 3<br />
  E mp4             MP4 format<br />
 D  mpc             Musepack<br />
 D  mpc8            Musepack SV8<br />
 DE mpeg            MPEG-1 System format<br />
  E mpeg1video      raw MPEG-1 video<br />
  E mpeg2video      raw MPEG-2 video<br />
 DE mpegts          MPEG-2 transport stream format<br />
 D  mpegtsraw       MPEG-2 raw transport stream format<br />
 D  mpegvideo       raw MPEG video<br />
  E mpjpeg          MIME multipart JPEG format<br />
 D  msnwctcp        MSN TCP Webcam stream<br />
 DE mulaw           PCM mu-law format<br />
 D  mvi             Motion Pixels MVI format<br />
 DE mxf             Material eXchange Format<br />
  E mxf_d10         Material eXchange Format, D-10 Mapping<br />
 D  nc              NC camera feed format<br />
 D  nsv             Nullsoft Streaming Video<br />
  E null            raw null video format<br />
 DE nut             NUT format<br />
 D  nuv             NuppelVideo format<br />
 DE ogg             Ogg<br />
 D  oma             Sony OpenMG audio<br />
 DE oss             Open Sound System playback<br />
  E psp             PSP MP4 format<br />
 D  psxstr          Sony Playstation STR format<br />
 D  pva             TechnoTrend PVA file and stream format<br />
 D  r3d             REDCODE R3D format<br />
 DE rawvideo        raw video format<br />
  E rcv             VC-1 test bitstream<br />
 D  redir           Redirector format<br />
 D  rl2             RL2 format<br />
 DE rm              RealMedia format<br />
 D  rpl             RPL/ARMovie format<br />
  E rtp             RTP output format<br />
 D  rtsp            RTSP input format<br />
 DE s16be           PCM signed 16 bit big-endian format<br />
 DE s16le           PCM signed 16 bit little-endian format<br />
 DE s24be           PCM signed 24 bit big-endian format<br />
 DE s24le           PCM signed 24 bit little-endian format<br />
 DE s32be           PCM signed 32 bit big-endian format<br />
 DE s32le           PCM signed 32 bit little-endian format<br />
 DE s8              PCM signed 8 bit format<br />
 D  sdp             SDP<br />
 D  shn             raw Shorten<br />
 D  siff            Beam Software SIFF<br />
 D  smk             Smacker video<br />
 D  sol             Sierra SOL format<br />
  E svcd            MPEG-2 PS format (VOB)<br />
 DE swf             Flash format<br />
 D  thp             THP<br />
 D  tiertexseq      Tiertex Limited SEQ format<br />
 D  tta             True Audio<br />
 D  txd             Renderware TeXture Dictionary<br />
 DE u16be           PCM unsigned 16 bit big-endian format<br />
 DE u16le           PCM unsigned 16 bit little-endian format<br />
 DE u24be           PCM unsigned 24 bit big-endian format<br />
 DE u24le           PCM unsigned 24 bit little-endian format<br />
 DE u32be           PCM unsigned 32 bit big-endian format<br />
 DE u32le           PCM unsigned 32 bit little-endian format<br />
 DE u8              PCM unsigned 8 bit format<br />
 D  vc1             raw VC-1<br />
 D  vc1test         VC-1 test bitstream format<br />
  E vcd             MPEG-1 System format (VCD)<br />
 D  video4linux     Video4Linux device grab<br />
 D  video4linux2    Video4Linux2 device grab<br />
 D  vmd             Sierra VMD format<br />
  E vob             MPEG-2 PS format (VOB)<br />
 DE voc             Creative Voice file format<br />
 DE wav             WAV format<br />
 D  wc3movie        Wing Commander III movie format<br />
 D  wsaud           Westwood Studios audio format<br />
 D  wsvqa           Westwood Studios VQA format<br />
 D  wv              WavPack<br />
 D  x11grab         X11grab<br />
 D  xa              Maxis XA File Format<br />
 DE yuv4mpegpipe    YUV4MPEG pipe format</p>
<p>Codecs:<br />
 D V    4xm             4X Movie<br />
 D V D  8bps            QuickTime 8BPS video<br />
 D A    8svx_exp        8SVX exponential<br />
 D A    8svx_fib        8SVX fibonacci<br />
 D A    aac             Advanced Audio Coding<br />
 D V D  aasc            Autodesk RLE<br />
 DEA    ac3             ATSC A/52A (AC-3)<br />
 D A    adpcm_4xm       ADPCM 4X Movie<br />
 DEA    adpcm_adx       SEGA CRI ADX ADPCM<br />
 D A    adpcm_ct        ADPCM Creative Technology<br />
 D A    adpcm_ea        ADPCM Electronic Arts<br />
 D A    adpcm_ea_maxis_xa ADPCM Electronic Arts Maxis CDROM XA<br />
 D A    adpcm_ea_r1     ADPCM Electronic Arts R1<br />
 D A    adpcm_ea_r2     ADPCM Electronic Arts R2<br />
 D A    adpcm_ea_r3     ADPCM Electronic Arts R3<br />
 D A    adpcm_ea_xas    ADPCM Electronic Arts XAS<br />
 D A    adpcm_ima_amv   ADPCM IMA AMV<br />
 D A    adpcm_ima_dk3   ADPCM IMA Duck DK3<br />
 D A    adpcm_ima_dk4   ADPCM IMA Duck DK4<br />
 D A    adpcm_ima_ea_eacs ADPCM IMA Electronic Arts EACS<br />
 D A    adpcm_ima_ea_sead ADPCM IMA Electronic Arts SEAD<br />
 D A    adpcm_ima_iss   ADPCM IMA Funcom ISS<br />
 DEA    adpcm_ima_qt    ADPCM IMA QuickTime<br />
 D A    adpcm_ima_smjpeg ADPCM IMA Loki SDL MJPEG<br />
 DEA    adpcm_ima_wav   ADPCM IMA WAV<br />
 D A    adpcm_ima_ws    ADPCM IMA Westwood<br />
 DEA    adpcm_ms        ADPCM Microsoft<br />
 D A    adpcm_sbpro_2   ADPCM Sound Blaster Pro 2-bit<br />
 D A    adpcm_sbpro_3   ADPCM Sound Blaster Pro 2.6-bit<br />
 D A    adpcm_sbpro_4   ADPCM Sound Blaster Pro 4-bit<br />
 DEA    adpcm_swf       ADPCM Shockwave Flash<br />
 D A    adpcm_thp       ADPCM Nintendo Gamecube THP<br />
 D A    adpcm_xa        ADPCM CDROM XA<br />
 DEA    adpcm_yamaha    ADPCM Yamaha<br />
 DEA    alac            ALAC (Apple Lossless Audio Codec)<br />
 D V    amv             AMV Video<br />
 D A    ape             Monkey's Audio<br />
 DEV D  asv1            ASUS V1<br />
 DEV D  asv2            ASUS V2<br />
 D A    atrac3          Atrac 3 (Adaptive TRansform Acoustic Coding 3)<br />
 D V D  avs             AVS (Audio Video Standard) video<br />
 D V    bethsoftvid     Bethesda VID video<br />
 D V    bfi             Brute Force &#038; Ignorance<br />
 DEV    bmp             BMP image<br />
 D V D  c93             Interplay C93<br />
 D V D  camstudio       CamStudio<br />
 D V D  camtasia        TechSmith Screen Capture Codec<br />
 D V D  cavs            Chinese AVS video (AVS1-P2, JiZhun profile)<br />
 D V D  cinepak         Cinepak<br />
 D V D  cljr            Cirrus Logic AccuPak<br />
 D A    cook            COOK<br />
 D V D  cyuv            Creative YUV (CYUV)<br />
 D A    dca             DCA (DTS Coherent Acoustics)<br />
 DEV D  dnxhd           VC3/DNxHD<br />
 D A    dsicinaudio     Delphine Software International CIN audio<br />
 D V D  dsicinvideo     Delphine Software International CIN video<br />
 DES    dvbsub          DVB subtitles<br />
 DES    dvdsub          DVD subtitles<br />
 DEV D  dvvideo         DV (Digital Video)<br />
 D V    dxa             Feeble Files/ScummVM DXA<br />
 D A    eac3            ATSC A/52B (AC-3, E-AC-3)<br />
 D V D  eacmv           Electronic Arts CMV video<br />
 D V D  eatgq           Electronic Arts TGQ video<br />
 D V    eatgv           Electronic Arts TGV video<br />
 D V D  eatqi           Electronic Arts TQI Video<br />
 D V D  escape124       Escape 124<br />
 DEV D  ffv1            FFmpeg codec #1<br />
 DEVSD  ffvhuff         Huffyuv FFmpeg variant<br />
 DEA    flac            FLAC (Free Lossless Audio Codec)<br />
 DEV D  flashsv         Flash Screen Video<br />
 D V D  flic            Autodesk Animator Flic video<br />
 DEVSD  flv             Flash Video (FLV)<br />
 D V D  fraps           Fraps<br />
 DEA    g726            G.726 ADPCM<br />
 DEV    gif             GIF (Graphics Interchange Format)<br />
 DEV D  h261            H.261<br />
 DEVSDT h263            H.263 / H.263-1996<br />
 D VSD  h263i           Intel H.263<br />
  EV    h263p           H.263+ / H.263-1998 / H.263 version 2<br />
 D V D  h264            H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10<br />
 D V D  h264_vdpau      H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (VDPAU acceleration)<br />
 DEVSD  huffyuv         Huffyuv / HuffYUV<br />
 D V D  idcinvideo      id Quake II CIN video<br />
 D A    imc             IMC (Intel Music Coder)<br />
 D V D  indeo2          Intel Indeo 2<br />
 D V    indeo3          Intel Indeo 3<br />
 D A    interplay_dpcm  DPCM Interplay<br />
 D V D  interplayvideo  Interplay MVE video<br />
 DEV D  jpegls          JPEG-LS<br />
 D V    kmvc            Karl Morton's video codec<br />
  EV    libdirac        libdirac Dirac 2.2<br />
  EA    libfaac         libfaac AAC (Advanced Audio Codec)<br />
 D A    libfaad         libfaad AAC (Advanced Audio Codec)<br />
 DEA    libgsm          libgsm GSM<br />
 DEA    libgsm_ms       libgsm GSM Microsoft variant<br />
  EA    libmp3lame      libmp3lame MP3 (MPEG audio layer 3)<br />
 DEA    libopencore_amrnb OpenCORE Adaptive Multi-Rate (AMR) Narrow-Band<br />
 D A    libopencore_amrwb OpenCORE Adaptive Multi-Rate (AMR) Wide-Band<br />
 D V    libopenjpeg     OpenJPEG based JPEG 2000 decoder<br />
 DEV    libschroedinger libschroedinger Dirac 2.2<br />
 D A    libspeex        libspeex Speex<br />
  EV    libtheora       libtheora Theora<br />
  EA    libvorbis       libvorbis Vorbis<br />
  EV    libx264         libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10<br />
  EV    libxvid         libxvidcore MPEG-4 part 2<br />
  EV    ljpeg           Lossless JPEG<br />
 D V D  loco            LOCO<br />
 D A    mace3           MACE (Macintosh Audio Compression/Expansion) 3:1<br />
 D A    mace6           MACE (Macintosh Audio Compression/Expansion) 6:1<br />
 D V D  mdec            Sony PlayStation MDEC (Motion DECoder)<br />
 D V D  mimic           Mimic<br />
 DEV D  mjpeg           MJPEG (Motion JPEG)<br />
 D V D  mjpegb          Apple MJPEG-B<br />
 D A    mlp             MLP (Meridian Lossless Packing)/TrueHD<br />
 D V D  mmvideo         American Laser Games MM Video<br />
 D V D  motionpixels    Motion Pixels video<br />
 D A    mp1             MP1 (MPEG audio layer 1)<br />
 DEA    mp2             MP2 (MPEG audio layer 2)<br />
 D A    mp3             MP3 (MPEG audio layer 3)<br />
 D A    mp3adu          ADU (Application Data Unit) MP3 (MPEG audio layer 3)<br />
 D A    mp3on4          MP3onMP4<br />
 D A    mpc7            Musepack SV7<br />
 D A    mpc8            Musepack SV8<br />
 DEVSDT mpeg1video      MPEG-1 video<br />
 D V DT mpeg1video_vdpau MPEG-1 video (VDPAU acceleration)<br />
 DEVSDT mpeg2video      MPEG-2 video<br />
 DEVSDT mpeg4           MPEG-4 part 2<br />
 D VSDT mpegvideo       MPEG-1 video<br />
 D V DT mpegvideo_vdpau MPEG-1/2 video (VDPAU acceleration)<br />
 D VSDT mpegvideo_xvmc  MPEG-1/2 video XvMC (X-Video Motion Compensation)<br />
 DEVSD  msmpeg4         MPEG-4 part 2 Microsoft variant version 3<br />
 DEVSD  msmpeg4v1       MPEG-4 part 2 Microsoft variant version 1<br />
 DEVSD  msmpeg4v2       MPEG-4 part 2 Microsoft variant version 2<br />
 D V D  msrle           Microsoft RLE<br />
 D V D  msvideo1        Microsoft Video 1<br />
 D V D  mszh            LCL (LossLess Codec Library) MSZH<br />
 DEA    nellymoser      Nellymoser Asao<br />
 D V D  nuv             NuppelVideo/RTJPEG<br />
 DEV    pam             PAM (Portable AnyMap) image<br />
 DEV    pbm             PBM (Portable BitMap) image<br />
 DEA    pcm_alaw        PCM A-law<br />
 D A    pcm_dvd         PCM signed 20|24-bit big-endian<br />
 DEA    pcm_f32be       PCM 32-bit floating point big-endian<br />
 DEA    pcm_f32le       PCM 32-bit floating point little-endian<br />
 DEA    pcm_f64be       PCM 64-bit floating point big-endian<br />
 DEA    pcm_f64le       PCM 64-bit floating point little-endian<br />
 DEA    pcm_mulaw       PCM mu-law<br />
 DEA    pcm_s16be       PCM signed 16-bit big-endian<br />
 DEA    pcm_s16le       PCM signed 16-bit little-endian<br />
 D A    pcm_s16le_planar PCM 16-bit little-endian planar<br />
 DEA    pcm_s24be       PCM signed 24-bit big-endian<br />
 DEA    pcm_s24daud     PCM D-Cinema audio signed 24-bit<br />
 DEA    pcm_s24le       PCM signed 24-bit little-endian<br />
 DEA    pcm_s32be       PCM signed 32-bit big-endian<br />
 DEA    pcm_s32le       PCM signed 32-bit little-endian<br />
 DEA    pcm_s8          PCM signed 8-bit<br />
 DEA    pcm_u16be       PCM unsigned 16-bit big-endian<br />
 DEA    pcm_u16le       PCM unsigned 16-bit little-endian<br />
 DEA    pcm_u24be       PCM unsigned 24-bit big-endian<br />
 DEA    pcm_u24le       PCM unsigned 24-bit little-endian<br />
 DEA    pcm_u32be       PCM unsigned 32-bit big-endian<br />
 DEA    pcm_u32le       PCM unsigned 32-bit little-endian<br />
 DEA    pcm_u8          PCM unsigned 8-bit<br />
 DEA    pcm_zork        PCM Zork<br />
 D V    pcx             PC Paintbrush PCX image<br />
 DEV    pgm             PGM (Portable GrayMap) image<br />
 DEV    pgmyuv          PGMYUV (Portable GrayMap YUV) image<br />
 DEV    png             PNG image<br />
 DEV    ppm             PPM (Portable PixelMap) image<br />
 D V    ptx             V.Flash PTX image<br />
 D A    qcelp           QCELP / PureVoice<br />
 D A    qdm2            QDesign Music Codec 2<br />
 D V D  qdraw           Apple QuickDraw<br />
 D V D  qpeg            Q-team QPEG<br />
 DEV D  qtrle           QuickTime Animation (RLE) video<br />
 DEV    rawvideo        raw video<br />
 D A    real_144        RealAudio 1.0 (14.4K)<br />
 D A    real_288        RealAudio 2.0 (28.8K)<br />
 D V D  rl2             RL2 video<br />
 DEA    roq_dpcm        id RoQ DPCM<br />
 DEV D  roqvideo        id RoQ video<br />
 D V D  rpza            QuickTime video (RPZA)<br />
 DEV D  rv10            RealVideo 1.0<br />
 DEV D  rv20            RealVideo 2.0<br />
 D V D  rv30            RealVideo 3.0<br />
 D V D  rv40            RealVideo 4.0<br />
 DEV    sgi             SGI image<br />
 D A    shorten         Shorten<br />
 D A    smackaud        Smacker audio<br />
 D V    smackvid        Smacker video<br />
 D V D  smc             QuickTime Graphics (SMC)<br />
 DEV    snow            Snow<br />
 D A    sol_dpcm        DPCM Sol<br />
 DEA    sonic           Sonic<br />
  EA    sonicls         Sonic lossless<br />
 D V D  sp5x            Sunplus JPEG (SP5X)<br />
 D V    sunrast         Sun Rasterfile image<br />
 DEV D  svq1            Sorenson Vector Quantizer 1<br />
 D VSD  svq3            Sorenson Vector Quantizer 3<br />
 DEV    targa           Truevision Targa image<br />
 D V    theora          Theora<br />
 D V D  thp             Nintendo Gamecube THP video<br />
 D V D  tiertexseqvideo Tiertex Limited SEQ video<br />
 DEV    tiff            TIFF image<br />
 D V D  truemotion1     Duck TrueMotion 1.0<br />
 D V D  truemotion2     Duck TrueMotion 2.0<br />
 D A    truespeech      DSP Group TrueSpeech<br />
 D A    tta             True Audio (TTA)<br />
 D V    txd             Renderware TXD (TeXture Dictionary) image<br />
 D V D  ultimotion      IBM UltiMotion<br />
 D V    vb              Beam Software VB<br />
 D V    vc1             SMPTE VC-1<br />
 D V D  vc1_vdpau       SMPTE VC-1 VDPAU<br />
 D V D  vcr1            ATI VCR1<br />
 D A    vmdaudio        Sierra VMD audio<br />
 D V D  vmdvideo        Sierra VMD video<br />
 D V    vmnc            VMware Screen Codec / VMware Video<br />
 DEA    vorbis          Vorbis<br />
 D V    vp3             On2 VP3<br />
 D V D  vp5             On2 VP5<br />
 D V D  vp6             On2 VP6<br />
 D V D  vp6a            On2 VP6 (Flash version, with alpha channel)<br />
 D V D  vp6f            On2 VP6 (Flash version)<br />
 D V D  vqavideo        Westwood Studios VQA (Vector Quantized Animation) video<br />
 D A    wavpack         WavPack<br />
 DEA    wmav1           Windows Media Audio 1<br />
 DEA    wmav2           Windows Media Audio 2<br />
 DEVSD  wmv1            Windows Media Video 7<br />
 DEVSD  wmv2            Windows Media Video 8<br />
 D V    wmv3            Windows Media Video 9<br />
 D V D  wmv3_vdpau      Windows Media Video 9 VDPAU<br />
 D V D  wnv1            Winnov WNV1<br />
 D A    ws_snd1         Westwood Audio (SND1)<br />
 D A    xan_dpcm        DPCM Xan<br />
 D V D  xan_wc3         Wing Commander III / Xan<br />
 D V D  xl              Miro VideoXL<br />
 D S    xsub            XSUB<br />
 DEV D  zlib            LCL (LossLess Codec Library) ZLIB<br />
 DEV    zmbv            Zip Motion Blocks Video</p>
<p>Bitstream filters:<br />
 text2movsub remove_extra noise mov2textsub mp3decomp mp3comp mjpegadump imxdump h264_mp4toannexb dump_extra<br />
Supported file protocols:<br />
 file: gopher: http: pipe: rtp: tcp: udp:<br />
Frame size, frame rate abbreviations:<br />
 ntsc pal qntsc qpal sntsc spal film ntsc-film sqcif qcif cif 4cif</p>
<p>Note, the names of encoders and decoders do not always match, so there are<br />
several cases where the above table shows encoder only or decoder only entries<br />
even though both encoding and decoding are supported. For example, the h263<br />
decoder corresponds to the h263 and h263p encoders, for file formats it is even<br />
worse.</code></div>
<p>And that&#8217;s just about all I have to say about that.</p>
<p class="wp-flattr-button"></p> <p><a href="http://daniel-bartholomew.com/wordpress/?flattrss_redirect&amp;id=264&amp;md5=fd7622222dc7ba9355b361479ecce204" title="Flattr" target="_blank"><img src="http://daniel-bartholomew.com/wordpress/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://daniel-bartholomew.com/wordpress/2010/09/fun-with-ffmpeg/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>LinuxCon 2010</title>
		<link>http://daniel-bartholomew.com/wordpress/2010/08/linuxcon-2010/</link>
		<comments>http://daniel-bartholomew.com/wordpress/2010/08/linuxcon-2010/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 20:54:49 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Monty Program Ab]]></category>

		<guid isPermaLink="false">http://daniel-bartholomew.com/wordpress/?p=255</guid>
		<description><![CDATA[

I'll be at LinuxCon next week representing my employer, Monty Program, and talking to people about MariaDB. We're a bronze sponsor of the event. If you're attending stop by our booth and say "hi!"

Also be sure to attend Monty's ...]]></description>
			<content:encoded><![CDATA[<div style="float:left;margin:1em;"><a href="http://events.linuxfoundation.org/events/linuxcon" target="_blank"><img src="http://events.linuxfoundation.org/images/stories/banners/bnr_linuxcon_200x50b.jpg" width="200" height="50" alt="I will be at LinuxCon 2010" border="0"/></a></div>
<p>I&#8217;ll be at <a href="http://events.linuxfoundation.org/events/linuxcon" target="_blank">LinuxCon</a> next week representing my employer, <a href="http://montyprogram.com">Monty Program</a>, and talking to people about <a href="http://mariadb.org">MariaDB</a>. We&#8217;re a bronze sponsor of the event. If you&#8217;re attending stop by our booth and say &#8220;hi!&#8221;</p>
<p>Also be sure to attend <a href="http://events.linuxfoundation.org/linuxcon2010/widenius">Monty&#8217;s talk</a>.</p>
<p class="wp-flattr-button"></p> <p><a href="http://daniel-bartholomew.com/wordpress/?flattrss_redirect&amp;id=255&amp;md5=930979b9b8ae654f3d20cdd6387a1695" title="Flattr" target="_blank"><img src="http://daniel-bartholomew.com/wordpress/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://daniel-bartholomew.com/wordpress/2010/08/linuxcon-2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

