<?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>Fwolf's Blog &#187; harddup - Fwolf's Blog</title>
	<atom:link href="http://www.fwolf.com/blog/post/tag/harddup/feed" rel="self" type="application/rss+xml" />
	<link>http://www.fwolf.com/blog</link>
	<description>随心·随意·随缘·努力～</description>
	<lastBuildDate>Sun, 29 Aug 2010 14:52:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>转换静态图像为视频</title>
		<link>http://www.fwolf.com/blog/post/430</link>
		<comments>http://www.fwolf.com/blog/post/430#comments</comments>
		<pubDate>Mon, 19 Jan 2009 15:52:09 +0000</pubDate>
		<dc:creator>Fwolf</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[harddup]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[images2mpg]]></category>
		<category><![CDATA[mencoder]]></category>

		<guid isPermaLink="false">http://www.fwolf.com/blog/?p=430</guid>
		<description><![CDATA[需要把100+张大小不一的图片，转换为视频，上网查了些资料，关键词一般用still images或者image sequence，结果用mencoder就能作： mencoder mf://*.jpg -vf scale=800:600,harddup -ofps 25 -ovc xvid -xvidencopts bitrate=800 -o dbb.avi 结果出来的影片每秒25帧，也就是切换每秒切换25张图片，120多张一共耗时4秒，没法看。把fps调整为1或者0.1之类的数，mencoder运行就出错。没办法，我想了一笨办法。 按照每秒25帧算，那么如果一张图片想显示2秒，那么就把它复制（用ln更快，别傻傻的cp）2&#215;25=50份，比如001.jpg.001, 001.jpg.002&#8230;按照这种方法把图片都整到一个目录中，然后再使用上面那个命令就能够正常转换了。 不过，当图片大小不一的时候，还是会出现错误，比如这个： VDec: vo config request - 800 x 463 (preferred colorspace: Planar 444P)] VDec: using Planar 444P as output csp (no 0) Movie-Aspect is 1.33:1 - prescaling to correct movie aspect. [CROP] Bad position/width/height - cropped area [...]]]></description>
			<content:encoded><![CDATA[<p>需要把100+张大小不一的图片，转换为视频，上网查了些资料，关键词一般用<code>still images</code>或者<code>image sequence</code>，结果用mencoder就能作：</p>

<pre><code>mencoder mf://*.jpg -vf scale=800:600,harddup -ofps 25 -ovc xvid -xvidencopts bitrate=800 -o dbb.avi
</code></pre>

<p>结果出来的影片每秒25帧，也就是切换每秒切换25张图片，120多张一共耗时4秒，没法看。把fps调整为1或者0.1之类的数，mencoder运行就出错。没办法，我想了一笨办法。</p>

<p>按照每秒25帧算，那么如果一张图片想显示2秒，那么就把它复制（用ln更快，别傻傻的cp）2&#215;25=50份，比如001.jpg.001, 001.jpg.002&#8230;按照这种方法把图片都整到一个目录中，然后再使用上面那个命令就能够正常转换了。</p>

<p>不过，当图片大小不一的时候，还是会出现错误，比如这个：</p>

<pre><code>VDec: vo config request - 800 x 463 (preferred colorspace: Planar 444P)]
VDec: using Planar 444P as output csp (no 0)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
[CROP] Bad position/width/height - cropped area outside of the original!
FATAL: Cannot initialize video driver.
</code></pre>

<p>mencoder转变源尺寸的东西我不熟悉，试了一些参数都不行，刚想放弃，从<a href="http://ubuntuforums.org/showthread.php?t=573006&amp;page=2">这里</a>发现有images2mpg这个好东西。</p>

<p>images2mpg是在kipi-plugins这个包里（属于kde桌面下的插件），需要安装imagemagic等包，如果提示：</p>

<pre><code>Can't find ppmtoy4m, please install it or check -M parameter
</code></pre>

<p>这是缺少包mjpegtools，如果提示找不到ogg123，那是缺少包vorbis-tools。images2mpg就是利用这些包完成图片转换、压缩视频等工作的一个脚本。可以这样用：</p>

<pre><code>images2mpg -o mzj.avi -t 4 -d 1 -S 420mpeg2 -M /usr/bin/ -i ???.jpg
</code></pre>

<ul>
<li><code>-t 4</code>是淡入淡出的效果，4对应的时间消耗在帮助里面，约1秒</li>
<li><code>-d 1</code>是每张图片停留1秒，很遗憾这个参数不能用小数</li>
<li><code>-S 420mpeg2</code>指定mpeg2压缩方式</li>
<li><code>-M /usr/bin/</code>指定mjpegtools的可执行文件位置，不知怎地images2mpg自己不会到<code>/usr/bin</code>下找</li>
<li><code>-i ???.jpg</code>是源文件，必须放在最后</li>
</ul>

<p>转换结果很贴心，图片自动都按长、短边缩放到了视频大小，空白的地方是黑色，淡入淡出效果也还能接受，就是转换速度有些慢。</p>

<p>有了这个素材，再进行添加声音、分段设置间隔时间等操作就都能够很简单的用mencoder完成了。附上一个视频片段合并，并且引入外部声音的例子：</p>

<pre><code>mencoder -audiofile mzj.mp3 -ovc xvid -xvidencopts bitrate=800 -vf harddup -idx -oac copy -o mzj.avi mzj_1.avi mzj_2.avi
</code></pre>

<p>不过这样声音在播放的时候会重复，如果合并完再加声音就没事了。</p>

	Tags: <a href="http://www.fwolf.com/blog/post/tag/harddup" title="harddup" rel="tag">harddup</a>, <a href="http://www.fwolf.com/blog/post/tag/image" title="image" rel="tag">image</a>, <a href="http://www.fwolf.com/blog/post/tag/images2mpg" title="images2mpg" rel="tag">images2mpg</a>, <a href="http://www.fwolf.com/blog/post/tag/mencoder" title="mencoder" rel="tag">mencoder</a><br />

	<h4>Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.fwolf.com/blog/post/424" title="转换视频到DVD机上播放 (2008-12-23)">转换视频到DVD机上播放</a> (6)</li>
	<li><a href="http://www.fwolf.com/blog/post/361" title="转换AVCHD的m2ts文件到avi (2007-10-23)">转换AVCHD的m2ts文件到avi</a> (9)</li>
	<li><a href="http://www.fwolf.com/blog/post/447" title="压缩网页图片 (2009-08-12)">压缩网页图片</a> (0)</li>
	<li><a href="http://www.fwolf.com/blog/post/277" title="使用mencoder转换佳能数码相机录像文件的最佳参数 (2007-01-01)">使用mencoder转换佳能数码相机录像文件的最佳参数</a> (11)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.fwolf.com/blog/post/430/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>转换视频到DVD机上播放</title>
		<link>http://www.fwolf.com/blog/post/424</link>
		<comments>http://www.fwolf.com/blog/post/424#comments</comments>
		<pubDate>Mon, 22 Dec 2008 16:32:14 +0000</pubDate>
		<dc:creator>Fwolf</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[avi]]></category>
		<category><![CDATA[DVD]]></category>
		<category><![CDATA[harddup]]></category>
		<category><![CDATA[mencoder]]></category>
		<category><![CDATA[xvid]]></category>

		<guid isPermaLink="false">http://www.fwolf.com/blog/?p=424</guid>
		<description><![CDATA[最近注重家庭生活多一些，blog都快要荒废了，呵呵。买了个DVD机，淘汰了已经没法再用同时也是很久没有用了的N年前的山寨VCD，对于我来说主要用途是看电影，与在电脑上看不同，这样可以“霸占”电视，“强迫”家人与我一同欣赏。 好像现在市面上的DVD大多不支持rmvb，同时rmvb也是网上电影下载使用最多的格式，视频音频效果对我这个非发烧友来说都还过得去。在商场的时候倒是有一款“影王”能够直接播放rmvb，号称是全球第一款，播放效果还是不错的。但为了照顾喜欢唱歌的家人，还是买了重点在于学唱歌的“歌王”，支持“网络视频解码”（mpeg4家族，不支持rmvb），心想咱的电脑那么多计算力闲着也是闲着，就自己转换成支持的格式呗，结果还是小费了点工夫。 回家一试，倒是支持我最常用的XVID视频格式，但转了个样片发现播放的时候有强烈的抖动、回帧和马赛克现象，很费眼，没法看，遂逐一更换编码尝试： 改用xvid 1-pass，照旧 改用xvid 1-pass constant quantizer，照旧 改用x264 1-pass、1-pass constant quantizer，结果不支持 无意中，看到有人介绍常用转码格式的时候，总是带上一个harddup的vf参数，查help一看，好像就是转码时提示 1 duplicate frame(s)! 的原因所在，而这个重复帧还有一定“校准”的功能，转个样片一试，问题都没有啦。 所以，我最终使用的转换方式如下（xvid 2-pass）： mencoder source.avi -ofps 29.970 -oac mp3lame -lameopts abr:br=128 -ovc xvid -xvidencopts vhq=4:pass=1:bitrate=$BITRATE -vf harddup -mc 0 -passlogfile "target.divx2pass.log" -o /dev/null; mencoder source.avi -ofps 29.970 -oac mp3lame -lameopts abr:br=128 -ovc xvid -xvidencopts vhq=4:pass=2:bitrate=$BITRATE -vf harddup -mc [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.malata.com.cn/cn/productdetail.aspx?id=87"><img src="http://www.malata.com.cn/Product_Images/cn/DVP-861-d.jpg" style="float:left;padding:0 20px 20px 0;border:0;width:60%;"/></a></p>

<p>最近注重家庭生活多一些，blog都快要荒废了，呵呵。买了个DVD机，淘汰了已经没法再用同时也是很久没有用了的N年前的山寨VCD，对于我来说主要用途是看电影，与在电脑上看不同，这样可以“霸占”电视，“强迫”家人与我一同欣赏。</p>

<p>好像现在市面上的DVD大多不支持rmvb，同时rmvb也是网上电影下载使用最多的格式，视频音频效果对我这个非发烧友来说都还过得去。在商场的时候倒是有一款“影王”能够直接播放rmvb，号称是全球第一款，播放效果还是不错的。但为了照顾喜欢唱歌的家人，还是买了重点在于学唱歌的“歌王”，支持“网络视频解码”（mpeg4家族，不支持rmvb），心想咱的电脑那么多计算力闲着也是闲着，就自己转换成支持的格式呗，结果还是小费了点工夫。</p>

<p>回家一试，倒是支持我最常用的XVID视频格式，但转了个样片发现播放的时候有强烈的抖动、回帧和马赛克现象，很费眼，没法看，遂逐一更换编码尝试：</p>

<ul>
<li>改用xvid 1-pass，照旧</li>
<li>改用xvid 1-pass constant quantizer，照旧</li>
<li>改用x264 1-pass、1-pass constant quantizer，结果不支持</li>
</ul>

<p>无意中，看到<a href="http://www.linuxdiyf.com/viewarticle.php?id=80784">有人介绍常用转码格式</a>的时候，总是带上一个<code>harddup</code>的vf参数，查help一看，好像就是转码时提示</p>

<pre><code>1 duplicate frame(s)!
</code></pre>

<p>的原因所在，而这个重复帧还有一定“校准”的功能，转个样片一试，问题都没有啦。</p>

<p>所以，我最终使用的转换方式如下（xvid 2-pass）：</p>

<pre><code>mencoder source.avi -ofps 29.970 -oac mp3lame -lameopts abr:br=128 -ovc xvid -xvidencopts vhq=4:pass=1:bitrate=$BITRATE -vf harddup -mc 0 -passlogfile "target.divx2pass.log" -o /dev/null;

mencoder source.avi -ofps 29.970 -oac mp3lame -lameopts abr:br=128 -ovc xvid -xvidencopts vhq=4:pass=2:bitrate=$BITRATE -vf harddup -mc 0 -passlogfile "target.divx2pass.log" -o target.avi
</code></pre>

<p>效果虽然好了，但占用空间体积也随之增大了，我的样片原本不带harddup的大小是17M，带上harddup转换的结果是20M，多占用约18%的空间，如果帧数降低一些，改为<code>-ofps 23.976</code>，那么转换出来是19M，只多占用12%的空间，其中利弊，各自取舍吧。</p>

<p>视频转换方面我只是略知皮毛，翻翻帮助学点够自己常用的就得，不知还有没有其它更好的转换方式。</p>

<h4>参考</h4>

<ul>
<li><a href="http://forum.pcdvd.com.tw/printthread.php?t=609414&amp;pp=40">免裝Codec就可將各種格式(含RMVB,AVI)轉檔成DVD,AVI,H264的免安裝軟體(可加字幕,使用簡單,速度快)(一些达人们的讨论，超高楼)</a></li>
</ul>

<h4>Update @ 2008-12-23</h4>

<p>今天又转了一个正式的电影，结果出来以后比rmvb格式多用近60%的空间，比不带harddup多用23%的空间，有点汗哪。</p>

<h4>Update @ 2008-12-26</h4>

<p>又发现两个片子不能播放，提示：</p>

<pre><code>video resolution not supported
</code></pre>

<p>一个分辨率是848&#215;352，另外一个是1024&#215;544，一般624&#215;256的播放都没问题。</p>

	Tags: <a href="http://www.fwolf.com/blog/post/tag/avi" title="avi" rel="tag">avi</a>, <a href="http://www.fwolf.com/blog/post/tag/dvd" title="DVD" rel="tag">DVD</a>, <a href="http://www.fwolf.com/blog/post/tag/harddup" title="harddup" rel="tag">harddup</a>, <a href="http://www.fwolf.com/blog/post/tag/mencoder" title="mencoder" rel="tag">mencoder</a>, <a href="http://www.fwolf.com/blog/post/tag/xvid" title="xvid" rel="tag">xvid</a><br />

	<h4>Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.fwolf.com/blog/post/430" title="转换静态图像为视频 (2009-01-19)">转换静态图像为视频</a> (1)</li>
	<li><a href="http://www.fwolf.com/blog/post/361" title="转换AVCHD的m2ts文件到avi (2007-10-23)">转换AVCHD的m2ts文件到avi</a> (9)</li>
	<li><a href="http://www.fwolf.com/blog/post/277" title="使用mencoder转换佳能数码相机录像文件的最佳参数 (2007-01-01)">使用mencoder转换佳能数码相机录像文件的最佳参数</a> (11)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.fwolf.com/blog/post/424/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
