<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: using ffmpeg for cutting media files &#8211; and the gotchas involved</title>
	<atom:link href="http://blog.yimingliu.com/2008/10/07/ffmpeg-encoding-gotchas/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.yimingliu.com/2008/10/07/ffmpeg-encoding-gotchas/</link>
	<description>source control for my (useless) knowledge</description>
	<lastBuildDate>Wed, 18 Aug 2010 00:32:33 -0700</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Petar Hristov</title>
		<link>http://blog.yimingliu.com/2008/10/07/ffmpeg-encoding-gotchas/comment-page-1/#comment-4847</link>
		<dc:creator>Petar Hristov</dc:creator>
		<pubDate>Sat, 10 Jul 2010 09:44:05 +0000</pubDate>
		<guid isPermaLink="false">https://blog.yimingliu.com/2008/10/07/using-ffmpeg-for-cutting-media-files-and-the-gotchas-involved/#comment-4847</guid>
		<description>Thanks a lot!
You have helped a lot of people!
If one day I become rich I will express my gratitude in $$$!
Promise is a promise!

In man page of ffmpeg it is specified that parameters concerning the source file -i SOURCE_FILE need to be before it.
But people do not read man pages.
They use google and copy-paste.</description>
		<content:encoded><![CDATA[<p>Thanks a lot!<br />
You have helped a lot of people!<br />
If one day I become rich I will express my gratitude in $$$!<br />
Promise is a promise!</p>
<p>In man page of ffmpeg it is specified that parameters concerning the source file -i SOURCE_FILE need to be before it.<br />
But people do not read man pages.<br />
They use google and copy-paste.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: grateful</title>
		<link>http://blog.yimingliu.com/2008/10/07/ffmpeg-encoding-gotchas/comment-page-1/#comment-4486</link>
		<dc:creator>grateful</dc:creator>
		<pubDate>Tue, 01 Jun 2010 18:00:17 +0000</pubDate>
		<guid isPermaLink="false">https://blog.yimingliu.com/2008/10/07/using-ffmpeg-for-cutting-media-files-and-the-gotchas-involved/#comment-4486</guid>
		<description>I was totally confused by this as well, even after reading the man page.  Thanks so much!</description>
		<content:encoded><![CDATA[<p>I was totally confused by this as well, even after reading the man page.  Thanks so much!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Krysztof von Murphy</title>
		<link>http://blog.yimingliu.com/2008/10/07/ffmpeg-encoding-gotchas/comment-page-1/#comment-2996</link>
		<dc:creator>Krysztof von Murphy</dc:creator>
		<pubDate>Wed, 30 Dec 2009 08:48:54 +0000</pubDate>
		<guid isPermaLink="false">https://blog.yimingliu.com/2008/10/07/using-ffmpeg-for-cutting-media-files-and-the-gotchas-involved/#comment-2996</guid>
		<description>THANK YOU for publishing this little and so precious knowledge!

I&#039;ve lost hours trying to cut the useless parts of a .TS file, and I couldn&#039;t understand why ffmpeg was re-encoding everything (in crappy quality). I could have managed to find the &quot;copy&quot; codecs, but putting -ss on the beginning was beyond my imagination.

I agree with yiming: command line should be as much as possible order-neutral, and sanity checks MUST occur.</description>
		<content:encoded><![CDATA[<p>THANK YOU for publishing this little and so precious knowledge!</p>
<p>I&#8217;ve lost hours trying to cut the useless parts of a .TS file, and I couldn&#8217;t understand why ffmpeg was re-encoding everything (in crappy quality). I could have managed to find the &#8220;copy&#8221; codecs, but putting -ss on the beginning was beyond my imagination.</p>
<p>I agree with yiming: command line should be as much as possible order-neutral, and sanity checks MUST occur.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: yiming</title>
		<link>http://blog.yimingliu.com/2008/10/07/ffmpeg-encoding-gotchas/comment-page-1/#comment-2986</link>
		<dc:creator>yiming</dc:creator>
		<pubDate>Mon, 28 Dec 2009 22:52:59 +0000</pubDate>
		<guid isPermaLink="false">https://blog.yimingliu.com/2008/10/07/using-ffmpeg-for-cutting-media-files-and-the-gotchas-involved/#comment-2986</guid>
		<description>Thanks for the pointer.  I would disagree with your conclusion that a manual is the end-all solution to the issue.  The problem is that this sort of user interface design is unintuitive (yes, even CLIs are user interfaces).  When specifying arguments on a command line, the majority of programs treat it as a hash of options, where order is unimportant.  It would not occur to most users, even seasoned command-line jockeys, that it is the order of arguments that caused strange behavior.

This sort of problem should be detected, and a warning printed to standard error.  In most cases, it makes no sense to accept -t or -ss options for an output file rather than an input file, making detection quite easy for the majority of cases.   It is the responsibility of ffmpeg to do this, because here it is ffmpeg that is behaving out of the norm, not the user.

Imagine if I designed a doorknob -- which looks like an ordinary doorknob -- but requires that you pull/push on the knob to open, rather than turning it.  I would expect that many users would be confused when they first try any door with this knob installed.  If my oddly designed doorknob is used in all major buildings, users may indeed write blog posts about how unintuitive it is.  And assuming that I cannot redesign my doorknob at all, I would post a sign that says &quot;Pull to open&quot;, rather than putting a 10-page operating manual (complete with diagrams) next to every such door, with a guy next to it yelling &quot;Read the F&#039;ing Manual!&quot;  :)</description>
		<content:encoded><![CDATA[<p>Thanks for the pointer.  I would disagree with your conclusion that a manual is the end-all solution to the issue.  The problem is that this sort of user interface design is unintuitive (yes, even CLIs are user interfaces).  When specifying arguments on a command line, the majority of programs treat it as a hash of options, where order is unimportant.  It would not occur to most users, even seasoned command-line jockeys, that it is the order of arguments that caused strange behavior.</p>
<p>This sort of problem should be detected, and a warning printed to standard error.  In most cases, it makes no sense to accept -t or -ss options for an output file rather than an input file, making detection quite easy for the majority of cases.   It is the responsibility of ffmpeg to do this, because here it is ffmpeg that is behaving out of the norm, not the user.</p>
<p>Imagine if I designed a doorknob &#8212; which looks like an ordinary doorknob &#8212; but requires that you pull/push on the knob to open, rather than turning it.  I would expect that many users would be confused when they first try any door with this knob installed.  If my oddly designed doorknob is used in all major buildings, users may indeed write blog posts about how unintuitive it is.  And assuming that I cannot redesign my doorknob at all, I would post a sign that says &#8220;Pull to open&#8221;, rather than putting a 10-page operating manual (complete with diagrams) next to every such door, with a guy next to it yelling &#8220;Read the F&#8217;ing Manual!&#8221;  <img src='http://blog.yimingliu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Merciful</title>
		<link>http://blog.yimingliu.com/2008/10/07/ffmpeg-encoding-gotchas/comment-page-1/#comment-2982</link>
		<dc:creator>Merciful</dc:creator>
		<pubDate>Mon, 28 Dec 2009 10:35:57 +0000</pubDate>
		<guid isPermaLink="false">https://blog.yimingliu.com/2008/10/07/using-ffmpeg-for-cutting-media-files-and-the-gotchas-involved/#comment-2982</guid>
		<description>Read the manual! It clearly states that options, like the above one, apply to the first file following the options. So in &quot;ffmpeg -i bar.mp3 -ss 00:00:10.00 -t 25 -acodec mp3 bar-new.mp3&quot; the -ss -t -acodec options all apply to the file &quot;bar-new.mp3&quot;.

In &quot;ffmpeg -ss 00:00:30.00 -t 25 -i bar.mp3 -acodec copy bar-new.mp3&quot; the -ss and -t option apply to bar.mp3 and the -acodec applies to &quot;bar-new.mp3&quot;.

Look at this one (capture from webcam) to dvd mpeg:&quot;ffmpeg -f mjpeg -s 464x480 -vcodec mjpeg -r 14 -i /dev/video0 -target pal-dvd ~/stream.mpeg&quot;</description>
		<content:encoded><![CDATA[<p>Read the manual! It clearly states that options, like the above one, apply to the first file following the options. So in &#8220;ffmpeg -i bar.mp3 -ss 00:00:10.00 -t 25 -acodec mp3 bar-new.mp3&#8243; the -ss -t -acodec options all apply to the file &#8220;bar-new.mp3&#8243;.</p>
<p>In &#8220;ffmpeg -ss 00:00:30.00 -t 25 -i bar.mp3 -acodec copy bar-new.mp3&#8243; the -ss and -t option apply to bar.mp3 and the -acodec applies to &#8220;bar-new.mp3&#8243;.</p>
<p>Look at this one (capture from webcam) to dvd mpeg:&#8221;ffmpeg -f mjpeg -s 464&#215;480 -vcodec mjpeg -r 14 -i /dev/video0 -target pal-dvd ~/stream.mpeg&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: chopping a few seconds off the front of a video &#171; Vitullo Blog</title>
		<link>http://blog.yimingliu.com/2008/10/07/ffmpeg-encoding-gotchas/comment-page-1/#comment-1024</link>
		<dc:creator>chopping a few seconds off the front of a video &#171; Vitullo Blog</dc:creator>
		<pubDate>Sun, 09 Aug 2009 20:21:52 +0000</pubDate>
		<guid isPermaLink="false">https://blog.yimingliu.com/2008/10/07/using-ffmpeg-for-cutting-media-files-and-the-gotchas-involved/#comment-1024</guid>
		<description>[...] if the -isync is needed, but make sure you copy both codecs or it will create suckage. Thanks to this for demonstrating the proper command line [...]</description>
		<content:encoded><![CDATA[<p>[...] if the -isync is needed, but make sure you copy both codecs or it will create suckage. Thanks to this for demonstrating the proper command line [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Troy</title>
		<link>http://blog.yimingliu.com/2008/10/07/ffmpeg-encoding-gotchas/comment-page-1/#comment-1023</link>
		<dc:creator>Troy</dc:creator>
		<pubDate>Sun, 09 Aug 2009 20:05:38 +0000</pubDate>
		<guid isPermaLink="false">https://blog.yimingliu.com/2008/10/07/using-ffmpeg-for-cutting-media-files-and-the-gotchas-involved/#comment-1023</guid>
		<description>Thanks for taking the time to delve into this. Glad I found this after an hour of pounding my head against the keyboard.</description>
		<content:encoded><![CDATA[<p>Thanks for taking the time to delve into this. Glad I found this after an hour of pounding my head against the keyboard.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daily Digest for 2009-03-26 &#124; Pedro Trindade</title>
		<link>http://blog.yimingliu.com/2008/10/07/ffmpeg-encoding-gotchas/comment-page-1/#comment-391</link>
		<dc:creator>Daily Digest for 2009-03-26 &#124; Pedro Trindade</dc:creator>
		<pubDate>Fri, 27 Mar 2009 07:02:10 +0000</pubDate>
		<guid isPermaLink="false">https://blog.yimingliu.com/2008/10/07/using-ffmpeg-for-cutting-media-files-and-the-gotchas-involved/#comment-391</guid>
		<description>[...] using ffmpeg for cutting media files - and the gotchas involved &#124; The Sarth Repository [...]</description>
		<content:encoded><![CDATA[<p>[...] using ffmpeg for cutting media files &#8211; and the gotchas involved | The Sarth Repository [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
