<?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; avi - Fwolf's Blog</title>
	<atom:link href="http://www.fwolf.com/blog/post/tag/avi/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>转换视频到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>
		<item>
		<title>转换AVCHD的m2ts文件到avi</title>
		<link>http://www.fwolf.com/blog/post/361</link>
		<comments>http://www.fwolf.com/blog/post/361#comments</comments>
		<pubDate>Tue, 23 Oct 2007 06:46:23 +0000</pubDate>
		<dc:creator>Fwolf</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[avchd]]></category>
		<category><![CDATA[avi]]></category>
		<category><![CDATA[m2ts]]></category>
		<category><![CDATA[mencoder]]></category>

		<guid isPermaLink="false">http://www.fwolf.com/blog/post/361</guid>
		<description><![CDATA[Sony的硬盘录像机是好东西，高清晰、宽屏幕录像，大容量存储，可录的时候爽了，后期浏览和加工转换实在是不方便（这位仁兄也有同样感受： Jeff Cai的流水账 &#8211; Play with AVCHD，机型都是Sony HDR-SR1），无论想在哪台电脑上浏览录像，都要装一个Sony Handycam Application Software软件（安装盘仅400M），这个软件也相当霸道，不让选择安装位置、安装哪些组件，甚至不允许单独安装其中的某一个程序，安装完成后居然还提示要重启xp，当然不重启我试了也能使用。注册媒体库位置的时候不让选择网上邻居资源或者映射的网络驱动器。 如果这些都不是问题的话，录像文件拷出来能用其他工具浏览或加工也行啊，可偏偏他的录像格式m2ts（扩展名MTS）目前支持的工具还相当少，不过还是在网上找到了一些文章，能够用开源工具进行转换。Sony自带软件也能转换成通用格式，不过我的印象是会损失一些清晰度，用肉眼就能轻易的分辨出来的差异。参考文章： AVCHD .m2ts conversion for Linux, view style 1, view style 2 Computer freezes: AVCHD (.mts from Sony HDR-SR1) 基本思路都是这样的： 用xporthdmv把m2ts转换为mpv和mpa格式 用ldecod把mpv转换为yuv格式 用yuv4mpeg把yuv转换为y4m格式 mpa直接当ac3格式的音频使用 用ffmpeg合成视频和音频部分为avi格式（avi就是一个容器） 讨论中还有一些其他的提示： ffmpeg可以用mencoder替代 ldecod生成的yuv文件大小可以达到4G/分钟，不过可以用命名管道（named pipe）来省去使用中间文件 视频和音频的同步，pal格式录像可以设定fps为25，ntsc格式录像可以使用参数-r 29.97。 参考文章中的第一篇给了一个附件（我还在这里存了一份解压、编译好的版本），这个很好用，下载下来解包，里面的readme.txt和Makefile解释了使用方法，不过在ubuntu下使用的话，建议先作以下几步准备工作： 安装svn客户端 用apt安装x264-bin和ffmpeg以及mplayer 在&#8217;src/JM/ldecod&#8217;目录下创建一个空的子目录&#8217;obj&#8217; 脚本运行之后会自动转换samplevideo.avi，会用去一些时间，想省略的话把这个文件删除或改名即可 download文件中有一句set version=12.2，现在的jm版本已经是12.4了，更新之，不然下载不到（404错误） 然后就简单了： ./download ./compile ./install 或者再用installasroot安装，你就可以使用m2tstoavi了： $ [...]]]></description>
			<content:encoded><![CDATA[<p>Sony的硬盘录像机是好东西，高清晰、宽屏幕录像，大容量存储，可录的时候爽了，后期浏览和加工转换实在是不方便（这位仁兄也有同样感受：<a href="http://www.jeffcai.com/2007/05/play-with-avchd.html"> Jeff Cai的流水账 &#8211; Play with AVCHD</a>，机型都是Sony HDR-SR1），无论想在哪台电脑上浏览录像，都要装一个Sony Handycam Application Software软件（安装盘仅400M），这个软件也相当霸道，不让选择安装位置、安装哪些组件，甚至不允许单独安装其中的某一个程序，安装完成后居然还提示要重启xp，当然不重启我试了也能使用。注册媒体库位置的时候不让选择网上邻居资源或者映射的网络驱动器。</p>

<p>如果这些都不是问题的话，录像文件拷出来能用其他工具浏览或加工也行啊，可偏偏他的录像格式m2ts（扩展名MTS）目前支持的工具还相当少，不过还是在网上找到了一些文章，能够用开源工具进行转换。Sony自带软件也能转换成通用格式，不过我的印象是会损失一些清晰度，用肉眼就能轻易的分辨出来的差异。参考文章：</p>

<ul>
<li><a href="http://www.avsforum.com/avs-vb/archive/index.php/t-789775.html">AVCHD .m2ts conversion for Linux</a>, <a href="http://www.avsforum.com/avs-vb/printthread.php?t=789775&amp;pp=60">view style 1</a>, <a href="http://www.avsforum.com/avs-vb/showthread.php?t=789775">view style 2</a></li>
<li><a href="http://www.highdefforum.com/showthread.php?t=47653">Computer freezes: AVCHD (.mts from Sony HDR-SR1)</a></li>
</ul>

<p>基本思路都是这样的：</p>

<ul>
<li>用xporthdmv把m2ts转换为mpv和mpa格式</li>
<li>用ldecod把mpv转换为yuv格式</li>
<li>用yuv4mpeg把yuv转换为y4m格式</li>
<li>mpa直接当ac3格式的音频使用</li>
<li>用ffmpeg合成视频和音频部分为avi格式（avi就是一个容器）</li>
</ul>

<p>讨论中还有一些其他的提示：</p>

<ul>
<li>ffmpeg可以用mencoder替代</li>
<li>ldecod生成的yuv文件大小可以达到4G/分钟，不过可以用命名管道（named pipe）来省去使用中间文件</li>
<li>视频和音频的同步，pal格式录像可以设定fps为25，ntsc格式录像可以使用参数-r 29.97。</li>
</ul>

<p>参考文章中的第一篇给了一个<a href="http://www.olmosconsulting.com/m2ts.tar.gz">附件</a>（我还在<a href="http://www.archive.org/details/ScriptWhichCanConvertAvchdM2tsToAviFormat">这里</a>存了一份解压、编译好的版本），这个很好用，下载下来解包，里面的readme.txt和Makefile解释了使用方法，不过在ubuntu下使用的话，建议先作以下几步准备工作：</p>

<ul>
<li>安装svn客户端</li>
<li>用apt安装x264-bin和ffmpeg以及mplayer</li>
<li>在&#8217;src/JM/ldecod&#8217;目录下创建一个空的子目录&#8217;obj&#8217;</li>
<li>脚本运行之后会自动转换samplevideo.avi，会用去一些时间，想省略的话把这个文件删除或改名即可</li>
<li>download文件中有一句<code>set version=12.2</code>，现在的jm版本已经是12.4了，更新之，不然下载不到（404错误）</li>
</ul>

<p>然后就简单了：</p>

<ul>
<li>./download</li>
<li>./compile</li>
<li>./install</li>
</ul>

<p>或者再用installasroot安装，你就可以使用m2tstoavi了：</p>

<pre><code>$ m2tstoavi 
usage: /usr/local/bin/m2tstoavi filename.m2ts ...
</code></pre>

<p>我也转了一个自己录的文件，完成后发现视频、音频不同步，并且播放速度很慢，可能是一些设置参数的问题，转换方式肯定是没有问题的，并且好像是目前最好的方式了。（修改/usr/local/bin/m2tstoavi，注意上面说的pal和ntsc制式的区别）mplayer播放最终生成的avi文件，信息如下：</p>

<pre><code>Playing samplevideo.avi.
AVI file format detected.
VIDEO:  [h264]  1440x1080  24bpp  29.970 fps  13323.1 kbps (1626.4 kbyte/s)
Clip info:
 Software: MEncoder 2:1.0~rc1-0ubuntu9.1
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
[VO_TDFXFB] Can't open /dev/fb0: No such file or directory.
[VO_3DFX] Unable to open /dev/3dfx.
It seems there is no Xvideo support for your video card available.
Run 'xvinfo' to verify its Xv support and read DOCS/HTML/en/video.html#xv!
See 'mplayer -vo help' for other (non-xv) video out drivers. Try -vo x11
Opening video filter: [screenshot]
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Forced audio codec: mad
Opening audio decoder: [liba52] AC3 decoding with liba52
Using SSE optimized IMDCT transform
Using MMX optimized resampler
AUDIO: 48000 Hz, 2 ch, s16le, 448.0 kbit/29.17% (ratio: 56000-&gt;192000)
Selected audio codec: [a52] afm: liba52 (AC3-liba52)
==========================================================================
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...
VDec: vo config request - 1440 x 1080 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
SwScaler: reducing / aligning filtersize 5 -&gt; 4
SwScaler: reducing / aligning filtersize 5 -&gt; 4
SwScaler: reducing / aligning filtersize 1 -&gt; 1
SwScaler: reducing / aligning filtersize 5 -&gt; 4

SwScaler: BICUBIC scaler, from yuv420p to bgr24 using MMX2
SwScaler: using 4-tap MMX scaler for horizontal luminance scaling
SwScaler: using 4-tap MMX scaler for horizontal chrominance scaling
SwScaler: using n-tap MMX scaler for vertical scaling (BGR)
SwScaler: using MMX2 YV12-&gt;BGR24 Converter
SwScaler: 1440x1080 -&gt; 1920x1080
VO: [x11] 1440x1080 =&gt; 1920x1080 Planar YV12 
A:4358.2 V:   2.9 A-V:4355.240 ct:  0.297  89/ 89 148%  0%  1.1% 37 0 
</code></pre>

<p>有时间了再仔细研究视频、音频不同步和播放速度很慢的问题。不过还是那句话，技术都是好东西，可对商业利益的无止境追求使他们变成了恶魔。</p>

<p>软件环境：Ubuntu 7.04 Feisty</p>

<h4>Update @ 2008-02-14</h4>

<p>发现视频、音频不同步的原因了，我的机器太慢！精度太高了，3.2双核都跑不动！对结果再此进行降频转换之后，播放还是很流畅的，但感觉人物动作略微有一点点快呢？帧率不对？</p>

<pre><code>mencoder -oac copy -ovc xvid -xvidencopts bitrate=5000 $file.avi -o $output.avi
</code></pre>

	Tags: <a href="http://www.fwolf.com/blog/post/tag/avchd" title="avchd" rel="tag">avchd</a>, <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/m2ts" title="m2ts" rel="tag">m2ts</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/430" title="转换静态图像为视频 (2009-01-19)">转换静态图像为视频</a> (1)</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/361/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
