<?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>Application software &#8211; stoimen&#039;s web log</title>
	<atom:link href="/tag/application-software/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>on web development</description>
	<lastBuildDate>Tue, 13 Feb 2018 08:18:15 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.0.3</generator>
	<item>
		<title>An FFMPEG Question &#8211; Why PHP&#8217;s exec() Doesn&#8217;t Return the Command Output</title>
		<link>/2011/04/12/an-ffmpeg-question-why-phps-exec-doesnt-return-the-command-output/</link>
		<comments>/2011/04/12/an-ffmpeg-question-why-phps-exec-doesnt-return-the-command-output/#comments</comments>
		<pubDate>Tue, 12 Apr 2011 08:19:00 +0000</pubDate>
		<dc:creator><![CDATA[Stoimen]]></dc:creator>
				<category><![CDATA[micro tutorial]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Application software]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[Dc]]></category>
		<category><![CDATA[Exec]]></category>
		<category><![CDATA[FFmpeg]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Standard streams]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">/?p=2293</guid>
		<description><![CDATA[string exec (&#8230;) Here&#8217;s the tricky part. As we know from the exec() man page this function executes the given command. As described there, the exact declaration of this method is: string exec ( string $command [, array &#038;$output [, int &#038;$return_var ]] ) So far so good. Normally exec() will return the output of &#8230; <a href="/2011/04/12/an-ffmpeg-question-why-phps-exec-doesnt-return-the-command-output/" class="more-link">Continue reading <span class="screen-reader-text">An FFMPEG Question &#8211; Why PHP&#8217;s exec() Doesn&#8217;t Return the Command Output</span> <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss'>

Related posts:<ol>
<li><a href="/2010/10/26/ffmpeg-libx264-and-presets/" rel="bookmark" title="ffmpeg, libx264 and presets">ffmpeg, libx264 and presets </a></li>
<li><a href="/2010/11/12/how-to-make-mp4-progressive-with-qt-faststart/" rel="bookmark" title="How to Make MP4 Progressive with qt-faststart">How to Make MP4 Progressive with qt-faststart </a></li>
<li><a href="/2011/01/27/few-thoughts-on-web-video/" rel="bookmark" title="Few Thoughts on Web Video">Few Thoughts on Web Video </a></li>
<li><a href="/2010/03/05/video-sites-must-use-mp4-and-only-mp4/" rel="bookmark" title="Video sites must use &#8230; mp4 and only mp4!">Video sites must use &#8230; mp4 and only mp4! </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<h2>string exec (&#8230;)</h2>
<p>Here&#8217;s the tricky part. As we know from the <a title="PHP exec() Function Man Page" href="http://php.net/manual/en/function.exec.php" target="_blank">exec() man page</a> this function <em>executes the given command</em>. As described there, the exact declaration of this method is:</p>
<pre lang="php">
string exec  ( string $command  [, array &$output  [, int &$return_var  ]] )
</pre>
<p>So far so good. Normally exec() will return the output of the command.</p>
<pre lang="bash">
FFmpeg version SVN-r21880, Copyright (c) 2000-2010 Fabrice Bellard, et al.
  built on Feb 18 2010 15:53:28 with gcc 4.3.2
  configuration: --enable-gpl --enable-nonfree --enable-shared --enable-postproc --enable-avfilter --enable-avfilter-lavf --enable-pthreads --enable-x11grab --enable-bzlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-libdc1394 --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libschroedinger --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-zlib --prefix=/usr/local
  libavutil     50. 9. 0 / 50. 9. 0
  libavcodec    52.54. 0 / 52.54. 0
  libavformat   52.52. 0 / 52.52. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.17. 0 /  1.17. 0
  libswscale     0.10. 0 /  0.10. 0
  libpostproc   51. 2. 0 / 51. 2. 0
...
</pre>
<p>However sometimes that is not so true. Let&#8217;s see an example with the popular FFMPEG program. In one hand when you try to start a video converting program with <a href="/category/php/">PHP</a> you can simply call exec with the <a href="/tag/ffmpeg/">FFMPEG</a> command as the first parameter. The output is OK and you can dump it as in the example here.</p>
<pre lang="php">
echo exec('/usr/local/bin/ffmpeg -i input.mp4 -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre normal -threads 0 output.mp4', $output);	
var_dump($output);
</pre>
<p>In some cases you can call <a href="http://www.ffmpeg.org/" target="_blank">FFMPEG</a> only with the -i option to get some info about the input file. Such info can be the size of the image, the bitrate of the source file or the length of the movie. Executing this command:</p>
<pre lang="php">
echo exec('/usr/local/bin/ffmpeg -i input.mp4', $output);	
var_dump($output);
</pre>
<p>in the terminal you&#8217;ll see the output you wish. However if you trying to execute the command via exec() the output remains empty?</p>
<h2>Why the Output Parameter is Empty?</h2>
<p>Looking at the terminal screen you can&#8217;t see the difference, but actually in the second case, when you execute FFMPEG only with the -i option, the output is redirected to the standard error output. That&#8217;s why you can&#8217;t see it in the exec() second parameter. However there is a solution.</p>
<figure id="attachment_2300" style="width: 500px" class="wp-caption aligncenter"><a href="/wp-content/uploads/2011/04/help.jpg"><img class="size-full wp-image-2300" title="PHP's exec() Doesn't Return The Command Output Always" src="/wp-content/uploads/2011/04/help.jpg" alt="Sometimes PHP's exec() doesn't return the command output. You've to be sure that the command output is not redirected to the standard error stream." width="500" height="375" srcset="/wp-content/uploads/2011/04/help.jpg 500w, /wp-content/uploads/2011/04/help-300x225.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></a><figcaption class="wp-caption-text">Sometimes PHP&#39;s exec() doesn&#39;t return the command output. You&#39;ve to be sure that the command output is not redirected to the standard error stream.</figcaption></figure>
<h2>Solution and Conclusion</h2>
<p>The solution is quite simple. You&#8217;ve to redirect the output of the FFMPEG command to the standard output.</p>
<pre lang="bash">
/usr/local/bin/ffmpeg -i /var/www/android/test.mp4 2>&1
</pre>
<p>Now you can call this line with exec().</p>
<pre lang="php">
echo exec('/usr/local/bin/ffmpeg -i input.mp4 2>&1', $output);	
var_dump($output);
</pre>
<p>This showcase with the FFMPEG is important not only because now you can call FFMPEG&#8217;s command without problems, but because you now know that exec() can&#8217;t read the standard error output. Thus you&#8217;ve to be careful and always redirect to the standard output.</p>
<div class='yarpp-related-rss'>
<p>Related posts:<ol>
<li><a href="/2010/10/26/ffmpeg-libx264-and-presets/" rel="bookmark" title="ffmpeg, libx264 and presets">ffmpeg, libx264 and presets </a></li>
<li><a href="/2010/11/12/how-to-make-mp4-progressive-with-qt-faststart/" rel="bookmark" title="How to Make MP4 Progressive with qt-faststart">How to Make MP4 Progressive with qt-faststart </a></li>
<li><a href="/2011/01/27/few-thoughts-on-web-video/" rel="bookmark" title="Few Thoughts on Web Video">Few Thoughts on Web Video </a></li>
<li><a href="/2010/03/05/video-sites-must-use-mp4-and-only-mp4/" rel="bookmark" title="Video sites must use &#8230; mp4 and only mp4!">Video sites must use &#8230; mp4 and only mp4! </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>/2011/04/12/an-ffmpeg-question-why-phps-exec-doesnt-return-the-command-output/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Adding a Custom Button to TinyMCE &#8211; REVISED</title>
		<link>/2011/02/17/adding-a-custom-button-to-tinymce-revised/</link>
		<comments>/2011/02/17/adding-a-custom-button-to-tinymce-revised/#comments</comments>
		<pubDate>Thu, 17 Feb 2011 13:51:05 +0000</pubDate>
		<dc:creator><![CDATA[Stoimen]]></dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[micro tutorial]]></category>
		<category><![CDATA[Application software]]></category>
		<category><![CDATA[Computer programming]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[TinyMCE]]></category>

		<guid isPermaLink="false">/?p=2204</guid>
		<description><![CDATA[Driven by the comment of Afraithe I have to apologize about the yesterday&#8217;s post. Here&#8217;s a much much simpler, cleaner way do add a custom button to TinyMCE. The Problem There is only one problem &#8211; I still cannot find easily the section of the site in TinyMCE. So I&#8217;m supposed to click on the &#8230; <a href="/2011/02/17/adding-a-custom-button-to-tinymce-revised/" class="more-link">Continue reading <span class="screen-reader-text">Adding a Custom Button to TinyMCE &#8211; REVISED</span> <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss'>

Related posts:<ol>
<li><a href="/2011/02/16/adding-a-custom-button-to-tinymce/" rel="bookmark" title="Adding a Custom Button to TinyMCE">Adding a Custom Button to TinyMCE </a></li>
<li><a href="/2009/02/06/flex-3-custom-preloader/" rel="bookmark" title="Flex 3 Custom Preloader">Flex 3 Custom Preloader </a></li>
<li><a href="/2011/04/05/jquery-unbind/" rel="bookmark" title="jQuery.unbind()">jQuery.unbind() </a></li>
<li><a href="/2009/10/27/zend-framework-custom-urls/" rel="bookmark" title="Zend Framework custom URLs">Zend Framework custom URLs </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p>Driven by the comment of Afraithe I have to apologize about the yesterday&#8217;s post. Here&#8217;s a much much simpler, cleaner way do add a custom button to <a title="TinyMCE Homepage" href="http://tinymce.moxiecode.com/index.php" target="_blank">TinyMCE</a>.</p>
<pre lang="javascript">
<script type="text/javascript" src="<your installation path>/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
    mode : "textareas",
    theme : "advanced",
    theme_advanced_buttons1 : "mybutton,bold,italic,underline,separator,strikethrough,justifyleft,justifycenter,justifyright, justifyfull,bullist,numlist,undo,redo,link,unlink",
    theme_advanced_buttons2 : "",
    theme_advanced_buttons3 : "",
    theme_advanced_toolbar_location : "top",
    theme_advanced_toolbar_align : "left",
    theme_advanced_statusbar_location : "bottom",
    plugins : 'inlinepopups',
    setup : function(ed) {
        // Add a custom button
        ed.addButton('mybutton', {
            title : 'My button',
            image : 'img/example.gif',
            onclick : function() {
                // Add you own code to execute something on click
                ed.focus();
                ed.selection.setContent('Hello world!');
            }
        });
    }
});
</script>

<form method="post" action="somepage">
        <textarea name="content" style="width:100%">
        </textarea>
</form>
</pre>
<h2>The Problem</h2>
<p>There is only one problem &#8211; I still cannot find easily the section of the site in TinyMCE. So I&#8217;m supposed to click on the comment&#8217;s link. This is a pity and perhaps that&#8217;s why I couldn&#8217;t find it before. Moxiecode should make this section more accessible!</p>
<div class='yarpp-related-rss'>
<p>Related posts:<ol>
<li><a href="/2011/02/16/adding-a-custom-button-to-tinymce/" rel="bookmark" title="Adding a Custom Button to TinyMCE">Adding a Custom Button to TinyMCE </a></li>
<li><a href="/2009/02/06/flex-3-custom-preloader/" rel="bookmark" title="Flex 3 Custom Preloader">Flex 3 Custom Preloader </a></li>
<li><a href="/2011/04/05/jquery-unbind/" rel="bookmark" title="jQuery.unbind()">jQuery.unbind() </a></li>
<li><a href="/2009/10/27/zend-framework-custom-urls/" rel="bookmark" title="Zend Framework custom URLs">Zend Framework custom URLs </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>/2011/02/17/adding-a-custom-button-to-tinymce-revised/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Reading GPS Latitude and Longitude from Image and Video Files</title>
		<link>/2011/02/04/reading-gps-latitude-and-longitude-from-image-and-video-files/</link>
		<comments>/2011/02/04/reading-gps-latitude-and-longitude-from-image-and-video-files/#comments</comments>
		<pubDate>Fri, 04 Feb 2011 10:16:14 +0000</pubDate>
		<dc:creator><![CDATA[Stoimen]]></dc:creator>
				<category><![CDATA[micro tutorial]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Apple Inc.]]></category>
		<category><![CDATA[Application software]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[Container formats]]></category>
		<category><![CDATA[Digital photography]]></category>
		<category><![CDATA[Exchangeable image file format]]></category>
		<category><![CDATA[ExifTool]]></category>
		<category><![CDATA[Geotagging]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[jpeg]]></category>
		<category><![CDATA[Metadata]]></category>
		<category><![CDATA[mobile device]]></category>
		<category><![CDATA[Mobile Devices]]></category>
		<category><![CDATA[MPEG-4]]></category>
		<category><![CDATA[navigation software]]></category>
		<category><![CDATA[Nokia E71 Smartphone]]></category>
		<category><![CDATA[QuickTime]]></category>
		<category><![CDATA[Resolution Unit]]></category>
		<category><![CDATA[Smartphones]]></category>
		<category><![CDATA[Symbian]]></category>
		<category><![CDATA[Technology/Internet]]></category>
		<category><![CDATA[web platform]]></category>

		<guid isPermaLink="false">/?p=2153</guid>
		<description><![CDATA[The State of GPS Data from Mobile Devices Most of the mobile devices today support GPS geo tagging. In fact most of them come bundled with navigation software that uses GPS and therefore all the pictures and (maybe) videos can be geo tagged. But as expected different vendors come with different support and formats. iPhone &#8230; <a href="/2011/02/04/reading-gps-latitude-and-longitude-from-image-and-video-files/" class="more-link">Continue reading <span class="screen-reader-text">Reading GPS Latitude and Longitude from Image and Video Files</span> <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss'>

Related posts:<ol>
<li><a href="/2011/01/27/few-thoughts-on-web-video/" rel="bookmark" title="Few Thoughts on Web Video">Few Thoughts on Web Video </a></li>
<li><a href="/2010/03/05/video-sites-must-use-mp4-and-only-mp4/" rel="bookmark" title="Video sites must use &#8230; mp4 and only mp4!">Video sites must use &#8230; mp4 and only mp4! </a></li>
<li><a href="/2010/05/25/download-files-with-zend-framework/" rel="bookmark" title="Download Files with Zend Framework">Download Files with Zend Framework </a></li>
<li><a href="/2010/05/21/check-youtube-video-existence-with-zend_gdata_youtube/" rel="bookmark" title="Check YouTube Video Existence with Zend_Gdata_YouTube">Check YouTube Video Existence with Zend_Gdata_YouTube </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<h2>The State of GPS Data from Mobile Devices</h2>
<p>Most of the mobile devices today support GPS geo tagging. In fact most of them come bundled with navigation software that uses GPS and therefore all the pictures and (maybe) videos can be geo tagged. But as expected different vendors come with different support and formats.<br />
<br clear="all" /><a href="/wp-content/uploads/2011/02/iphone.png"><img class="alignleft size-full wp-image-2162" title="iphone" src="/wp-content/uploads/2011/02/iphone.png" alt="" width="120" height="78" /></a><br />
<br clear="all" /></p>
<p><a title="iPhone OS" href="http://en.wikipedia.org/wiki/IOS_%28Apple%29" target="_blank">iPhone OS</a> comes with geotagging both on video and image files, while the latest <a title="Android" href="http://www.android.com/" target="_blank">Android</a> and <a title="Symbian" href="http://blog.symbian.org/" target="_blank">Symbian</a> (the Nokia main OS for smartphones) can geo tag only images.</p>
<p>Even more &#8211; until recently Symbian didn&#8217;t support any geotagging before the installation of an additional software &#8211; such as <a title="Location Tagger" href="http://betalabs.nokia.com/apps/location-tagger" target="_blank">Location Tagger</a> . So generally the things are quite simple:</p>
<ol>
<li>iPhone OS geotags both video and image files;</li>
<li>Android geotags only images;</li>
<li>Symbian geotags only images &#8211; and on some devices this is possible only after installing a software;</li>
</ol>
<p>This is in breve the state of mobile device geotagging!<span id="more-2153"></span></p>
<h2>Why Use GPS Data?</h2>
<p>Perhaps one of the main reasons why not support geotagging especially on video files can be the usage of those geo tags. First of all what a geotag means?<br />
<br clear="all" /><br />
<a href="/wp-content/uploads/2011/02/android.png"><img class="alignleft size-full wp-image-2165" title="android" src="/wp-content/uploads/2011/02/android.png" alt="Android Logo" width="150" height="150" /></a><br />
<br clear="all" /><br />
You may know that even Android doesn&#8217;t &#8220;geotag&#8221; videos this is not quite true. Because after using you gallery you can see where those videos are shot. This is fantastic, but actually the real information about where the video has been taken is not into the video file, but it&#8217;s in an additional log file that keeps it. Thus actually the video files doesn&#8217;t know the geo coordinates.</p>
<p>Here comes the problem with video format, because you cannot be sure that every format supports tags that can keep geo coordinates. Actually quicktime&#8217;s MOV can store them, while Symbian&#8217;s 3GP cannot. In fact Symbian cannot store any geo information about video files!</p>
<p>So now we&#8217;ve at least three different formats for each of those three vendors.</p>
<ol>
<li>quicktime for iPhone</li>
<li>mpeg-4 with Android</li>
<li>3gp with Symbian</li>
</ol>
<p>For now I can only say that iPhone can keep the geotag into his video files.<br />
<br clear="all" /><br />
<a href="/wp-content/uploads/2011/02/symbian.png"><img class="alignleft size-full wp-image-2164" title="symbian" src="/wp-content/uploads/2011/02/symbian.png" alt="Symbian Logo" width="200" height="55" /></a><br />
<br clear="all" /><br />
But let me return to the question &#8211; why we need this geo tags? Until the video file is on the mobile device &#8211; there&#8217;s no problem. But once you try to download it &#8211; whether on <a title="Flickr" href="http://www.flickr.com/" target="_blank">Flickr</a>, <a title="YouTube" href="http://youtube.com/" target="_blank">YouTube</a>, <a title="Picasa Web Albums" href="https://picasaweb.google.com/" target="_blank">Picasa</a>, etc. you&#8217;ll lose any geo information if it&#8217;s not into the file tags. And of course if the above sites can&#8217;t read it!</p>
<p>The general reason to store this data into the file is to move it along with the file. Once you move this file from your mobile device to a web platform you&#8217;ll see where the file has been created.</p>
<h2>EXIF, Exiftool and PHP&#8217;s exif_read_data</h2>
<p>There are several tools to read geotags. For images, and here we talk only for JPEGs, this is the <a title="EXIF" href="http://www.exif.org/" target="_blank">EXIF</a> information. You can download the exif command line program and try to reed data with it:</p>
<pre lang="bash">
exif filename.jpg
</pre>
<p>Which can result in something like that:</p>
<pre lang="bash">
Manufacturer        |Nokia                                                     
Model               |E71                                                       
Orientation         |top - left                                                
x-Resolution        |300.00                                                    
y-Resolution        |300.00                                                    
Resolution Unit     |Inch                                                      
YCbCr Positioning   |centered                                                  
Compression         |JPEG compression                                          
x-Resolution        |72.00                                                     
y-Resolution        |72.00                                                     
Resolution Unit     |Inch                                                      
FNumber             |f/3.2                                                     
Exif Version        |Exif Version 2.2                                          
Date and Time (origi|2011:01:24 12:15:01                                       
Date and Time (digit|2011:01:24 12:15:01                                       
ComponentsConfigurat|Y Cb Cr -                                                 
Aperture            |3.20 EV (f/3.0)                                           
Light Source        |0                                                         
Flash               |Flash did not fire, auto mode.                            
Focal Length        |4.9 mm                                                    
FlashPixVersion     |FlashPix Version 1.0                                      
Color Space         |sRGB                                                      
PixelXDimension     |2048                                                      
PixelYDimension     |1536                                                      
Custom Rendered     |Normal process                                            
Exposure Mode       |Auto exposure                                             
White Balance       |Auto white balance                                        
Digital Zoom Ratio  |1.00                                                      
Scene Capture Type  |Standard                                                  
GPS tag version     |0x02, 0x02, 0x00, 0x00                                    
North or South Latit|N                                                         
Latitude            |42.00, 39.00, 24.67                                       
East or West Longitu|E                                                         
Longitude           |23.00, 21.00, 28.45                                       
Altitude reference  |0x00                                                      
Altitude            |625.50 
</pre>
<p>While for video files (iPhone) exif cannot help you, this is possible through <a title="Exiftool" href="http://www.sno.phy.queensu.ca/~phil/exiftool/" target="_blank">Exiftool</a>. With it you can read even iPhone video geotags:</p>
<pre lang="bash">
./exiftool filname.mov
</pre>
<p>In addition this information can be read with PHP via <a title="read_exif_data" href="http://php.net/manual/en/function.read-exif-data.php" target="_blank">exif_read_data</a>:</p>
<pre lang="php">
$info = exif_read_data('filename.jpg');
var_dump($info);
</pre>
<p>And this will give you not only standard tags, but geo tags too.</p>
<div class='yarpp-related-rss'>
<p>Related posts:<ol>
<li><a href="/2011/01/27/few-thoughts-on-web-video/" rel="bookmark" title="Few Thoughts on Web Video">Few Thoughts on Web Video </a></li>
<li><a href="/2010/03/05/video-sites-must-use-mp4-and-only-mp4/" rel="bookmark" title="Video sites must use &#8230; mp4 and only mp4!">Video sites must use &#8230; mp4 and only mp4! </a></li>
<li><a href="/2010/05/25/download-files-with-zend-framework/" rel="bookmark" title="Download Files with Zend Framework">Download Files with Zend Framework </a></li>
<li><a href="/2010/05/21/check-youtube-video-existence-with-zend_gdata_youtube/" rel="bookmark" title="Check YouTube Video Existence with Zend_Gdata_YouTube">Check YouTube Video Existence with Zend_Gdata_YouTube </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>/2011/02/04/reading-gps-latitude-and-longitude-from-image-and-video-files/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Few Thoughts on Web Video</title>
		<link>/2011/01/27/few-thoughts-on-web-video/</link>
		<comments>/2011/01/27/few-thoughts-on-web-video/#comments</comments>
		<pubDate>Thu, 27 Jan 2011 09:19:00 +0000</pubDate>
		<dc:creator><![CDATA[Stoimen]]></dc:creator>
				<category><![CDATA[micro tutorial]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[Application software]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[Container formats]]></category>
		<category><![CDATA[FFmpeg]]></category>
		<category><![CDATA[Flash Video]]></category>
		<category><![CDATA[Google Inc.]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[M&A]]></category>
		<category><![CDATA[MPEG-4]]></category>
		<category><![CDATA[Ogg]]></category>
		<category><![CDATA[On2 Technologies]]></category>
		<category><![CDATA[On2 Technologies Inc]]></category>
		<category><![CDATA[player]]></category>
		<category><![CDATA[Plex]]></category>
		<category><![CDATA[Technology/Internet]]></category>
		<category><![CDATA[Theora]]></category>
		<category><![CDATA[Video codecs]]></category>
		<category><![CDATA[VP8]]></category>
		<category><![CDATA[web video field]]></category>

		<guid isPermaLink="false">/?p=2145</guid>
		<description><![CDATA[On Air It&#8217;s really full of video sharing websites out there, but in fact almost all of them use Flash player to display their video files. This is the reality now, but with the coming of HTML5, perhaps the things are changing a bit! First of all if you start dealing with video sharing platforms &#8230; <a href="/2011/01/27/few-thoughts-on-web-video/" class="more-link">Continue reading <span class="screen-reader-text">Few Thoughts on Web Video</span> <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss'>

Related posts:<ol>
<li><a href="/2010/03/05/video-sites-must-use-mp4-and-only-mp4/" rel="bookmark" title="Video sites must use &#8230; mp4 and only mp4!">Video sites must use &#8230; mp4 and only mp4! </a></li>
<li><a href="/2010/03/04/does-firefox-play-mp4-h-264-within-the-html5-video-tag/" rel="bookmark" title="Does Firefox play mp4 h.264 within the HTML5 video tag?">Does Firefox play mp4 h.264 within the HTML5 video tag? </a></li>
<li><a href="/2010/11/12/how-to-make-mp4-progressive-with-qt-faststart/" rel="bookmark" title="How to Make MP4 Progressive with qt-faststart">How to Make MP4 Progressive with qt-faststart </a></li>
<li><a href="/2011/02/04/reading-gps-latitude-and-longitude-from-image-and-video-files/" rel="bookmark" title="Reading GPS Latitude and Longitude from Image and Video Files">Reading GPS Latitude and Longitude from Image and Video Files </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<h2>On Air</h2>
<p><a href="/wp-content/uploads/2011/01/975857_64336474.jpg"><img src="/wp-content/uploads/2011/01/975857_64336474.jpg" alt="" title="Few Thoughts on Web Video" width="450" height="368" class="alignleft size-full wp-image-2156" srcset="/wp-content/uploads/2011/01/975857_64336474.jpg 450w, /wp-content/uploads/2011/01/975857_64336474-300x245.jpg 300w" sizes="(max-width: 450px) 100vw, 450px" /></a><br />
It&#8217;s really full of video sharing websites out there, but in fact almost all of them use Flash player to display their video files. This is the reality now, but with the coming of HTML5, perhaps the things are changing a bit!</p>
<p>First of all if you start dealing with video sharing platforms the first thing to do maybe is to find a good Flash (.flv) player and to convert all your video content in FLV.</p>
<p>Few things to know with Flash video players:</p>
<ol>
<li>The user can play those videos only after installing the Flash Plugin to his browser;</li>
<li>The video must be encoded either in FLV (or FLash Video) or in MPEG-4 with h.264 codec. Only than the Flash player can play it;</li>
</ol>
<p>The HTML5, which can be described as variety of new &#8220;things&#8221; in the HTML comes with a native &lt;video&gt; tag. Something like the &lt;img&gt; tag where you can just point the source of the image in the src attribute.<span id="more-2145"></span></p>
<h2>First Question &#8211; How Does it Look Like?</h2>
<p>To get more fluent with the &lt;video&gt; tag you must simply thing of it as a &#8220;complex&#8221; &lt;img&gt; tag. You just point to the video and the browser will do the rest. To be more exact let me send you to the <a title="HTML5 Video" href="http://www.w3schools.com/html5/html5_video.asp" target="_blank">w3schools page</a>, but the important thing as they say:</p>
<blockquote><p>Until now, there has never been a standard for showing video on a web  page.</p></blockquote>
<p>However to start from somewhere here&#8217;s a little snippet showing you the basic, but very basic usage of the HTML5 video tag:</p>
<pre lang="html4stict" escaped="true">
&lt;video src="path_to_the_video" controls="controls"&gt;&lt;/video&gt;
</pre>
<h2>Second Question &#8211; Is Every Video Playable?</h2>
<p>But of course not! There are different browser &#8211; different video formats. Currently there are three formats, supported by the different browsers.</p>
<ol>
<li>H.264</li>
<li>VP8</li>
<li>Theora</li>
</ol>
<p>Note that these are <span style="text-decoration: underline;">video</span> codecs and a video files does not consists of only a video codec, but also of an audio codec. This makes the video file a container of several things. As you may know already H.264 is used with MPEG-4 video format, which results in .mp4 extended files, Theora is used in OGG, which are all those .ogg files out in the web, and finaly VP8 is used in WebM &#8230; or in .webm videos.</p>
<p>First thing to know FLV files (.flv) can also be encoded with H.264. Actually Flash player has a h.264 decoder so this makes it possible to play both .mp4 and .flv files encoded with H.264.</p>
<p>Second thing to notice &#8211; where are those .webm files? I&#8217;ve never seen them!</p>
<h2>Third Question &#8211; What is WebM and VP8?</h2>
<p>Behind <a title="The WebM Project" href="http://www.webmproject.org/" target="_blank">WebM</a> and VP8 is Google. This is a new video format based again on Theora. Actually it pretends to be as good in compressing as H.264, which by the way is meant to be the best. But let me take a look at <a title="The state of the video on the web" href="http://net.tutsplus.com/articles/the-state-of-video-on-the-web/" target="_blank">Nettuts+</a>:</p>
<blockquote><p>VP8, a relatively new codec, is the brainchild of On2 — the same guys  behind Theora. Google acquired On2 in 2010, and opened up all the  underlying patents for the codec into the public domain.</p>
<p>WebM, the container of choice for most current browsers, utilizes VP8  for compressing its video content and Vorbis for its audio. It produces  content similar in quality to H.264.</p>
<p>It is completely royalty free, now and for the future. On the  downside, though, it has limited hardware decoding support as well as  third party device/mobile support.</p></blockquote>
<h2>Final Question &#8211; How Can I Convert a Video in WebM?</h2>
<p>This answer is given by <a title="FFMPEG and WebM" href="http://paulrouget.com/e/funwithwebm" target="_blank">this article</a>, where as it is said after having the ffmpeg version &gt;= 0.6 you simply can use this command:</p>
<pre lang="bash">ffmpeg -i girltalk.mp4 -f webm -vcodec libvpx -acodec libvorbis -aq 90 -ac 2 girltalk.webm
</pre>
<h2>Conclusion</h2>
<p>It&#8217;s interesting to see what will happen one day. There is going to be either a harmonious life in the web video field or the codecs/formats will be as much as the browser? Who knows?</p>
<div class='yarpp-related-rss'>
<p>Related posts:<ol>
<li><a href="/2010/03/05/video-sites-must-use-mp4-and-only-mp4/" rel="bookmark" title="Video sites must use &#8230; mp4 and only mp4!">Video sites must use &#8230; mp4 and only mp4! </a></li>
<li><a href="/2010/03/04/does-firefox-play-mp4-h-264-within-the-html5-video-tag/" rel="bookmark" title="Does Firefox play mp4 h.264 within the HTML5 video tag?">Does Firefox play mp4 h.264 within the HTML5 video tag? </a></li>
<li><a href="/2010/11/12/how-to-make-mp4-progressive-with-qt-faststart/" rel="bookmark" title="How to Make MP4 Progressive with qt-faststart">How to Make MP4 Progressive with qt-faststart </a></li>
<li><a href="/2011/02/04/reading-gps-latitude-and-longitude-from-image-and-video-files/" rel="bookmark" title="Reading GPS Latitude and Longitude from Image and Video Files">Reading GPS Latitude and Longitude from Image and Video Files </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>/2011/01/27/few-thoughts-on-web-video/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to Make MP4 Progressive with qt-faststart</title>
		<link>/2010/11/12/how-to-make-mp4-progressive-with-qt-faststart/</link>
		<comments>/2010/11/12/how-to-make-mp4-progressive-with-qt-faststart/#comments</comments>
		<pubDate>Fri, 12 Nov 2010 11:11:31 +0000</pubDate>
		<dc:creator><![CDATA[Stoimen]]></dc:creator>
				<category><![CDATA[web development]]></category>
		<category><![CDATA[Application software]]></category>
		<category><![CDATA[author]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[Cross-platform software]]></category>
		<category><![CDATA[Daniel G. Taylor]]></category>
		<category><![CDATA[FFmpeg]]></category>
		<category><![CDATA[Flash Video]]></category>
		<category><![CDATA[Free software]]></category>
		<category><![CDATA[main software]]></category>
		<category><![CDATA[MEncoder]]></category>
		<category><![CDATA[mobile device]]></category>
		<category><![CDATA[NDs-mPeG]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[qt-faststart]]></category>
		<category><![CDATA[qtfaststart.py]]></category>
		<category><![CDATA[reasonable solution]]></category>
		<category><![CDATA[Technology/Internet]]></category>
		<category><![CDATA[VLC media player]]></category>

		<guid isPermaLink="false">/?p=2027</guid>
		<description><![CDATA[A big part of the developers worldwide, who have dealt with video converting, sooner or later have been used FFMPEG. In fact I&#8217;d say that two of the main software on the video converting scene are FFMPEG and Mencoder. I began to use Mencoder back in 2005 and I used it as a DVD ripping &#8230; <a href="/2010/11/12/how-to-make-mp4-progressive-with-qt-faststart/" class="more-link">Continue reading <span class="screen-reader-text">How to Make MP4 Progressive with qt-faststart</span> <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss'>

Related posts:<ol>
<li><a href="/2010/03/05/video-sites-must-use-mp4-and-only-mp4/" rel="bookmark" title="Video sites must use &#8230; mp4 and only mp4!">Video sites must use &#8230; mp4 and only mp4! </a></li>
<li><a href="/2011/01/27/few-thoughts-on-web-video/" rel="bookmark" title="Few Thoughts on Web Video">Few Thoughts on Web Video </a></li>
<li><a href="/2010/02/26/html5-video-support-detecting-playing-and-progressive-enhancement/" rel="bookmark" title="HTML5 video support. Detecting, playing and progressive enhancement!">HTML5 video support. Detecting, playing and progressive enhancement! </a></li>
<li><a href="/2010/10/26/ffmpeg-libx264-and-presets/" rel="bookmark" title="ffmpeg, libx264 and presets">ffmpeg, libx264 and presets </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p>A big part of the developers worldwide, who have dealt with video converting, sooner or later have been used FFMPEG. In fact I&#8217;d say that two of the main software on the video converting scene are <a title="FFMPEG" href="http://www.ffmpeg.org/" target="_blank">FFMPEG</a> and <a title="Mencoder" href="http://www.mplayerhq.hu/DOCS/HTML/en/mencoder.html" target="_blank">Mencoder</a>. I began to use Mencoder back in 2005 and I used it as a DVD ripping tool, but my experience with it ends there, while now I use FFMPEG.</p>
<p>However FFMPEG is a converting program and many things depend on what kind of video files come as an input and what do you want to achieve as an output. Here comes the codec question, where various libraries can help. In my case, as I <a href="/2010/10/26/ffmpeg-libx264-and-presets/" target="_blank">wrote</a> few posts ago, I use MP4 as output encoded with h.264, both encoded with ffmpeg/libx264. So far so good, but there is one main problem that anyone used this pair knows.</p>
<h2>Flash Player and MP4</h2>
<p>As far as I know <a title="Flash Player" href="http://get.adobe.com/flashplayer/" target="_blank">Flash Player</a> 9 and beyond plays video files encoded with MP4/h.264 except the typical FLV (flash video files). This can help video sites not only to share their video content via web &#8211; within browser based flash players, but also to show them via some mobile device interface where MP4/h.264 is perhaps the only one reasonable solution. In this case the file is accessible in both medias.</p>
<p>By default Flash Player can play such FFMPEG encoded .mp4 files, but fist the whole file must be downloaded by the browser and only than the playback can begin. That&#8217;s because the FFMPEG puts meta info at the end of the video file, while the flash player needs it at the beginning and only than to begin playing while the file is still downloading.</p>
<h2>qt-faststart</h2>
<p>As the name of this <a title="qt-faststart" href="http://multimedia.cx/eggs/improving-qt-faststart/" target="_blank">software</a> says this program helps you move the important meta info from the end to the beginning of the file. This helps the video to playback as early as possible. In an ideal circumstances everything works just fine, but there is a serious problem in fact.</p>
<h2>qt-faststart and Server Crash</h2>
<p><a title="qt-faststart" href="http://multimedia.cx/eggs/improving-qt-faststart/" target="_blank">qt-faststart</a> is responsible to move the meta info where it must be &#8211; at the beginning of the video file, but cannot finish execution when the video file is broken or the meta info doesn&#8217;t exists. Actually this is not a problem of qt-faststart, but to the video file. However this was a critical problem in my case, because the video files remains stuck for hours of execution and 99% of CPU usage.</p>
<p>Thankfully there is a solution and it can be found in the qt-faststart wrapper &#8211; <a title="qtfaststart.py" href="https://github.com/danielgtaylor/qtfaststart" target="_blank">qtfaststart.py</a></p>
<h2>qtfaststart.py</h2>
<p>written on Python this script overcomes the disadvantages of qt-faststart. As described by his author Daniel G. Taylor:</p>
<ol>
<blockquote>
<li>Works everywhere Python can be installed</li>
<li>Handles both 32-bit (stco) and 64-bit (co64) atoms</li>
<li>Handles any file where the mdat atom is before the moov atom</li>
<li>Preserves the order of other atoms</li>
<li>Can replace the original file (if given no output file)</li>
</blockquote>
</ol>
<p>With its help not only qt-faststart doesn&#8217;t crash, but also the video files remain progressive as desired. The installation process is as difficult as copy/paste on the server where Python must be installed.</p>
<div class='yarpp-related-rss'>
<p>Related posts:<ol>
<li><a href="/2010/03/05/video-sites-must-use-mp4-and-only-mp4/" rel="bookmark" title="Video sites must use &#8230; mp4 and only mp4!">Video sites must use &#8230; mp4 and only mp4! </a></li>
<li><a href="/2011/01/27/few-thoughts-on-web-video/" rel="bookmark" title="Few Thoughts on Web Video">Few Thoughts on Web Video </a></li>
<li><a href="/2010/02/26/html5-video-support-detecting-playing-and-progressive-enhancement/" rel="bookmark" title="HTML5 video support. Detecting, playing and progressive enhancement!">HTML5 video support. Detecting, playing and progressive enhancement! </a></li>
<li><a href="/2010/10/26/ffmpeg-libx264-and-presets/" rel="bookmark" title="ffmpeg, libx264 and presets">ffmpeg, libx264 and presets </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>/2010/11/12/how-to-make-mp4-progressive-with-qt-faststart/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>ffmpeg, libx264 and presets</title>
		<link>/2010/10/26/ffmpeg-libx264-and-presets/</link>
		<comments>/2010/10/26/ffmpeg-libx264-and-presets/#comments</comments>
		<pubDate>Tue, 26 Oct 2010 12:11:00 +0000</pubDate>
		<dc:creator><![CDATA[Stoimen]]></dc:creator>
				<category><![CDATA[web development]]></category>
		<category><![CDATA[Application software]]></category>
		<category><![CDATA[Computer file formats]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[FFmpeg]]></category>
		<category><![CDATA[Media technology]]></category>
		<category><![CDATA[NDs-mPeG]]></category>
		<category><![CDATA[Technology/Internet]]></category>
		<category><![CDATA[Video codecs]]></category>
		<category><![CDATA[Video editing software]]></category>
		<category><![CDATA[web community]]></category>

		<guid isPermaLink="false">/?p=2019</guid>
		<description><![CDATA[When working with FFMPEG you can convert/encode in various formats, but in my case this should be an MP4 file, encoded with libx264. This combination is quite well known in the web community, because those videos are playable under almost any flash player and Apple products. Now the problem is that this comes with very &#8230; <a href="/2010/10/26/ffmpeg-libx264-and-presets/" class="more-link">Continue reading <span class="screen-reader-text">ffmpeg, libx264 and presets</span> <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss'>

Related posts:<ol>
<li><a href="/2011/04/12/an-ffmpeg-question-why-phps-exec-doesnt-return-the-command-output/" rel="bookmark" title="An FFMPEG Question &#8211; Why PHP&#8217;s exec() Doesn&#8217;t Return the Command Output">An FFMPEG Question &#8211; Why PHP&#8217;s exec() Doesn&#8217;t Return the Command Output </a></li>
<li><a href="/2010/11/12/how-to-make-mp4-progressive-with-qt-faststart/" rel="bookmark" title="How to Make MP4 Progressive with qt-faststart">How to Make MP4 Progressive with qt-faststart </a></li>
<li><a href="/2011/01/27/few-thoughts-on-web-video/" rel="bookmark" title="Few Thoughts on Web Video">Few Thoughts on Web Video </a></li>
<li><a href="/2010/03/05/video-sites-must-use-mp4-and-only-mp4/" rel="bookmark" title="Video sites must use &#8230; mp4 and only mp4!">Video sites must use &#8230; mp4 and only mp4! </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p>When working with FFMPEG you can convert/encode in various formats, but in my case this should be an MP4 file, encoded with libx264. This combination is quite well known in the web community, because those videos are playable under almost any flash player and Apple products.</p>
<p>Now the problem is that this comes with very large list of options, which are difficult to setup, especially for newbies like me. Than everything&#8217;s difficult, once because the resulting quality is not always the same as the input file&#8217;s quality.</p>
<h2>The Solution</h2>
<p>Is to use presets. Thankfully ffmpeg with libx264 can be used with presets, i.e. NORMAL, HD etc. which means that you don&#8217;t have to setup a command by hand and the resulting quality is the same as the input quality.</p>
<p>Here&#8217;s a sample command using normal preset:</p>
<pre lang="php">ffmpeg -i source.mp4 -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre normal -threads 0 -crf 22 output.mp4
</pre>
<p>here the source can be either mp4 or some other file format as FLV for instance.</p>
<div class='yarpp-related-rss'>
<p>Related posts:<ol>
<li><a href="/2011/04/12/an-ffmpeg-question-why-phps-exec-doesnt-return-the-command-output/" rel="bookmark" title="An FFMPEG Question &#8211; Why PHP&#8217;s exec() Doesn&#8217;t Return the Command Output">An FFMPEG Question &#8211; Why PHP&#8217;s exec() Doesn&#8217;t Return the Command Output </a></li>
<li><a href="/2010/11/12/how-to-make-mp4-progressive-with-qt-faststart/" rel="bookmark" title="How to Make MP4 Progressive with qt-faststart">How to Make MP4 Progressive with qt-faststart </a></li>
<li><a href="/2011/01/27/few-thoughts-on-web-video/" rel="bookmark" title="Few Thoughts on Web Video">Few Thoughts on Web Video </a></li>
<li><a href="/2010/03/05/video-sites-must-use-mp4-and-only-mp4/" rel="bookmark" title="Video sites must use &#8230; mp4 and only mp4!">Video sites must use &#8230; mp4 and only mp4! </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>/2010/10/26/ffmpeg-libx264-and-presets/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Video sites must use &#8230; mp4 and only mp4!</title>
		<link>/2010/03/05/video-sites-must-use-mp4-and-only-mp4/</link>
		<comments>/2010/03/05/video-sites-must-use-mp4-and-only-mp4/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 14:21:51 +0000</pubDate>
		<dc:creator><![CDATA[Stoimen]]></dc:creator>
				<category><![CDATA[web development]]></category>
		<category><![CDATA[Application software]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[Container formats]]></category>
		<category><![CDATA[Flash Video]]></category>
		<category><![CDATA[large video site]]></category>
		<category><![CDATA[Media technology]]></category>
		<category><![CDATA[MPEG-4 Part 14]]></category>
		<category><![CDATA[Ogg]]></category>
		<category><![CDATA[Technology/Internet]]></category>
		<category><![CDATA[Theora]]></category>
		<category><![CDATA[YouTube]]></category>
		<category><![CDATA[YouTube Inc]]></category>

		<guid isPermaLink="false">/?p=1185</guid>
		<description><![CDATA[H.264 Yes it may sound strange, but now with the upcoming HTML5 features every browser again is playing its own game. Firefox and Opera support only OGG Theora, Chrome and Safari only MP4 and what about IE .. it doesn&#8217;t support anything. Than why should we convert to mp4 with h.264 codec? Because everybody is &#8230; <a href="/2010/03/05/video-sites-must-use-mp4-and-only-mp4/" class="more-link">Continue reading <span class="screen-reader-text">Video sites must use &#8230; mp4 and only mp4!</span> <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss'>

Related posts:<ol>
<li><a href="/2010/03/04/does-firefox-play-mp4-h-264-within-the-html5-video-tag/" rel="bookmark" title="Does Firefox play mp4 h.264 within the HTML5 video tag?">Does Firefox play mp4 h.264 within the HTML5 video tag? </a></li>
<li><a href="/2011/01/27/few-thoughts-on-web-video/" rel="bookmark" title="Few Thoughts on Web Video">Few Thoughts on Web Video </a></li>
<li><a href="/2010/11/12/how-to-make-mp4-progressive-with-qt-faststart/" rel="bookmark" title="How to Make MP4 Progressive with qt-faststart">How to Make MP4 Progressive with qt-faststart </a></li>
<li><a href="/2010/02/26/html5-video-support-detecting-playing-and-progressive-enhancement/" rel="bookmark" title="HTML5 video support. Detecting, playing and progressive enhancement!">HTML5 video support. Detecting, playing and progressive enhancement! </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<h2>H.264</h2>
<p>Yes it may sound strange, but now with the upcoming HTML5 features every browser again is playing its own game. Firefox and Opera support only OGG Theora, Chrome and Safari only MP4 and what about IE .. it doesn&#8217;t support anything. Than why should we convert to mp4 with h.264 codec?</p>
<h2>Because everybody is playing flash</h2>
<p>And that&#8217;s again very sad but at least the flash players are playing mp4 with this encoding, which is good because this file will be playable under most of the mobiles. And if you have a large video site to support why don&#8217;t you convert to mp4 and play it with a Flash Player and give the opportunity to play mp4 on mobile.</p>
<h2>Only one file under the sky</h2>
<p>Thus you gain to keep only one file &#8211; playable under every device?</p>
<h2>YouTube and FLV</h2>
<p>Now I wonder why YouTube have both FLV and MP4 formats?</p>
<h2>Of course if you&#8217;d like to be perfect &#8230;</h2>
<p>Convert every video to MP4, FLV and OGG, but that means 3 files for every video?!</p>
<div class='yarpp-related-rss'>
<p>Related posts:<ol>
<li><a href="/2010/03/04/does-firefox-play-mp4-h-264-within-the-html5-video-tag/" rel="bookmark" title="Does Firefox play mp4 h.264 within the HTML5 video tag?">Does Firefox play mp4 h.264 within the HTML5 video tag? </a></li>
<li><a href="/2011/01/27/few-thoughts-on-web-video/" rel="bookmark" title="Few Thoughts on Web Video">Few Thoughts on Web Video </a></li>
<li><a href="/2010/11/12/how-to-make-mp4-progressive-with-qt-faststart/" rel="bookmark" title="How to Make MP4 Progressive with qt-faststart">How to Make MP4 Progressive with qt-faststart </a></li>
<li><a href="/2010/02/26/html5-video-support-detecting-playing-and-progressive-enhancement/" rel="bookmark" title="HTML5 video support. Detecting, playing and progressive enhancement!">HTML5 video support. Detecting, playing and progressive enhancement! </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>/2010/03/05/video-sites-must-use-mp4-and-only-mp4/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
