📄 video-playback.html
字号:
<h4 class="SECT4"><a id="VIDEO-MPLAYER-BUILDING" name="VIDEO-MPLAYER-BUILDING">7.4.2.1.1.创建MPlayer</a></h4><p><b class="APPLICATION">MPlayer</b>存放在<ahref="http://www.FreeBSD.org/cgi/url.cgi?ports/multimedia/mplayer/pkg-descr"><ttclass="FILENAME">multimedia/mplayer</tt></a>中。在创建的过程中 <bclass="APPLICATION">MPlayer</b>要完成很多的硬件检测,最后得到一个二进制文件,这个文件不能移支其它系统里使用。因此,要从ports里边创建时,而不要使用“包”,这点很重要。另外,还有几个选项要在<ttclass="COMMAND">make</tt>的命令行里指定。在正式创建(build)之前,要说的就这些。</p><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbdclass="USERINPUT">cd /usr/ports/multimedia/mplayer</kbd><samp class="PROMPT">#</samp> <kbd class="USERINPUT">make</kbd>You can enable additional compilation optimizationsby defining WITH_OPTIMIZED_CFLAGSYou can enable GTK GUI by defining WITH_GUI.You can enable DVD support by defining WITH_DVD.You can enable SVGALIB support by defining WITH_SVGALIB.You can enable VORBIS sound support by defining WITH_VORBIS.You can enable XAnim DLL support by defining WITH_XANIM.</pre><p>如果你已经安装了<ahref="http://www.FreeBSD.org/cgi/url.cgi?ports/x11-toolkits/gtk12/pkg-descr"><ttclass="FILENAME">x11-toolkits/gtk12</tt></a>,那么你就可以选用GUI了。否则,就不用这样做了。如果你想用<b class="APPLICATION">MPlayer</b>来播放DVD文件(很可能是CSS编码),你就必须在此处<aid="AEN8767" name="AEN8767" href="#FTN.AEN8767"><spanclass="footnote">[2]</span></a>的选项里选用“DVD支持”。一些可用的选项:</p><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbdclass="USERINPUT">make WITH_DVD=yes WITH_SVGALIB=yes</kbd></pre><p>在写这章时,<b class="APPLICATION">MPlayer</b>port已会创建自已的HTML文档和一个可执行的<ttclass="COMMAND">mplayer</tt>。当然也可以创建一个编码器--<ttclass="COMMAND">mencoder</tt>,它是一个可以对视频再编码的工具。修改一下<ttclass="FILENAME">Make文件(Makefile)</tt>就可以得到。这在随后的port版本中是默认的。</p><p><bclass="APPLICATION">MPlayer</b>的HTML文档信息很丰富。如果你发现本章关于视频硬件和接口的信息还不全面的话,<b class="APPLICATION">MPlayer</b>的文档会是个充分的补充。你要认真地花上一定的时间去读读<bclass="APPLICATION">MPlayer</b>的文档,如果你正找寻关于<spanclass="TRADEMARK">UNIX</span>里支持视频的信息的话。</p></div><div class="SECT4"><h4 class="SECT4"><a id="VIDEO-MPLAYER-USING" name="VIDEO-MPLAYER-USING">7.4.2.1.2.使用MPlayer</a></h4><p>任何<b class="APPLICATION">MPlayer</b>用户必须在它的主目录下建立一个叫<ttclass="FILENAME">.mplayer</tt>的子目录。输入下边的内容来建立这个必须的子目录:</p><pre class="SCREEN"><samp class="PROMPT">%</samp> <kbdclass="USERINPUT">cd /usr/ports/multimedia/mplayer</kbd><samp class="PROMPT">%</samp> <kbd class="USERINPUT">make install-user</kbd></pre><p>在<ttclass="COMMAND">mplayer</tt>的手册里列出了它的命令选项。HTML文档里有更为详细的信息。这部份里,我们只是描述了很少的常见应用。</p><p>要播放一个文件,如<tt class="FILENAME"><varclass="REPLACEABLE">testfile.avi</var></tt>,可以通过各种视频接口当中的某一个去设置<varclass="OPTION">-vo</var> 选项:</p><pre class="SCREEN"><samp class="PROMPT">%</samp> <kbd class="USERINPUT">mplayer -vo xv testfile.avi</kbd></pre><pre class="SCREEN"><samp class="PROMPT">%</samp> <kbd class="USERINPUT">mplayer -vo sdl testfile.avi</kbd></pre><pre class="SCREEN"><samp class="PROMPT">%</samp> <kbd class="USERINPUT">mplayer -vo x11 testfile.avi</kbd></pre><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbd class="USERINPUT">mplayer -vo dga testfile.avi</kbd></pre><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbdclass="USERINPUT">mplayer -vo 'sdl:dga' testfile.avi</kbd></pre><p>所有这些选项都是值得一试的,因为它们各自的完成都依赖了很多的因素并且都与硬件息息相关。</p><p>要播放DVD,须要把<tt class="FILENAME">testfile.avi</tt>替换成<var class="OPTION">-dvd<var class="REPLACEABLE">N</var> <varclass="REPLACEABLE">DEVICE(设备名)</var></var>,这里 <var class="REPLACEABLE">N</var>指要播放的主题号,<tt class="FILENAME"><var class="REPLACEABLE">DEVICE</var></tt>指的是的DVD光驱(DVD-ROM)的设备结点。例如:要从<ttclass="FILENAME">/dev/dvd</tt>播放主题3:</p><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbdclass="USERINPUT">mplayer -vo dga -dvd 3 /dev/dvd</kbd></pre><p>要停止、暂停、前进等等,可以参考设定的按键---这些可以执行<tt class="COMMAND">mplayer-h</tt>得到或查看手册。</p><p>另外,回放的重要选项是:用于全屏模式的<var class="OPTION">-fs-zoom</var>和起辅助完成作用的<var class="OPTION">-framedrop</var>。</p><p>为了让mplayer的命令行不是太长,使用者可以通过建立一个文件<ttclass="FILENAME">.mplayer/config</tt>来设定如下默认选项:</p><pre class="PROGRAMLISTING">vo=xvfs=yeszoom=yes</pre><p>最后,<tt class="COMMAND">mplayer</tt>可以把DVD题目(title)抓取成为<ttclass="FILENAME">.vob</tt>文件。为了从DVD中导出第二个题目,请输入:</p><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbdclass="USERINPUT">mplayer -dumpstream -dumpfile out.vob -dvd 2 /dev/dvd</kbd></pre><p>输出文件<ttclass="FILENAME">out.vob</tt>将是MPEG并且可以被这部份描述的其它“包”利用。</p></div><div class="SECT4"><h4 class="SECT4"><a id="VIDEO-MENCODER" name="VIDEO-MENCODER">7.4.2.1.3.mencoder</a></h4><p>如果你在创建选择<b class="APPLICATION">MPlayer</b>里选择安装<ttclass="COMMAND">mencoder</tt>的话,你就会得到警告--它还是处于实验阶段。在使用<ttclass="COMMAND">mencoder</tt>之前,你最好还是要去HTML的文档里熟悉一下那些选项。这里有页指南,如果没有HTML文档它也没什么用。有不计其数的方式去提高质量、降底位率、改变格式和一些可能产生不同效果的技巧。这里有两个实例指导你。第一个是:</p><pre class="SCREEN"><samp class="PROMPT">%</samp> <kbdclass="USERINPUT">mencoder input.avi -oac copy -ovc copy -o output.avi</kbd></pre><p>不正确的命令选项组合可能使生成的文件不能被<ttclass="COMMAND">mplayer</tt>播放。因此,如果你只是想抓取文件,一定在<ttclass="COMMAND">mplayer</tt>里使用“<var class="OPTION">-dumpfile</var>”。</p><p>转换<tt class="FILENAME">input.avi</tt>成为带有MPEG3音频编码 (要求<ahref="http://www.FreeBSD.org/cgi/url.cgi?ports/audio/lame/pkg-descr"><ttclass="FILENAME">audio/lame</tt></a> )的MPEG4编码:</p><pre class="SCREEN"><samp class="PROMPT">%</samp> <kbdclass="USERINPUT">mencoder input.avi -oac mp3lame -lameopts br=192 \ -ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.avi</kbd></pre><p>这样就产生了可被<tt class="COMMAND">mplayer</tt> 和 <ttclass="COMMAND">xine</tt>播放的输出。</p><p><tt class="FILENAME">input.avi</tt>可以换成<var class="OPTION">-dvd 1 /dev/dvd</var>,以<ttclass="USERNAME">root</tt>用户直接运行重新编码一个DVD题目。可能不对第一次的表现并不满意,推荐你把这个主题导成文件,然后以这个文件进行处理。</p></div></div><div class="SECT3"><h3 class="SECT3"><a id="VIDEO-XINE" name="VIDEO-XINE">7.4.2.2. xine视频播放器</a></h3><p><bclass="APPLICATION">xine</b>视频播放器是一个关注范围很广的项目,它不仅看准多合一的视频解决,而且出品了一个可再用的基本库和一个可扩展插件的可执行模块。发行有“包”和port版本--<a href="http://www.FreeBSD.org/cgi/url.cgi?ports/multimedia/xine/pkg-descr"><ttclass="FILENAME">multimedia/xine</tt></a>。</p><p><b class="APPLICATION">xine</b>播放器仍然很粗糙,但这很显然与好开头无关。实际上<bclass="APPLICATION">xine</b>即需要一个快速的带有快速显卡的CPU,也支持XVideo的扩展。图形界面(GUI)可以使用,但很勉强。</p><p>到写这章里,还没有可用于播放CSS编码的DVD文件的输入模块随同 <bclass="APPLICATION">xine</b>一起发行。 第三方的建造(builds)里内建有这样的模块,但都不属于FreeBSD Ports 集。</p><p>与<b class="APPLICATION">MPlayer</b>相比,<b class="APPLICATION">xine</b>为用户考虑得更多,但同时,对用户来说也少了很多有条理的控制方式。<bclass="APPLICATION">xine</b> 播放器在XVideo接口上做得不错。</p><p>默认情况下,播放器<bclass="APPLICATION">xine</b>启动的时后会使用图形界面。那么就可以使用菜单打开指定的文件:</p><pre class="SCREEN"><samp class="PROMPT">%</samp> <kbd class="USERINPUT">xine</kbd></pre><p>另外,没有图形界面也可以使用如下命令立即打开播放文件:</p><pre class="SCREEN"><samp class="PROMPT">%</samp> <kbd class="USERINPUT">xine -g -p mymovie.avi</kbd></pre></div><div class="SECT3"><h3 class="SECT3"><a id="VIDEO-PORTS-TRANSCODE" name="VIDEO-PORTS-TRANSCODE">7.4.2.3.使用transcode</a></h3><p>软件<b class="APPLICATION">transcode</b>不是一个播放器,而是一套再编码<ttclass="FILENAME">.avi</tt> 和 <tt class="FILENAME">.mpg</tt> 文件的工具。使用<bclass="APPLICATION">transcode</b>,借助标准输入输出(<ttclass="FILENAME">stdin/stdout</tt>)流接口,利用命令行工具,可以合并视频文件、修复坏文件。</p><p>像<b class="APPLICATION">MPlayer</b>一样, <bclass="APPLICATION">transcode</b>是个实验性软件,必须通过port<ahref="http://www.FreeBSD.org/cgi/url.cgi?ports/multimedia/transcode/pkg-descr"><ttclass="FILENAME">multimedia/transcode</tt></a>来建立。<ttclass="COMMAND">make</tt>使用了大量的选项。我们推荐:</p><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbd class="USERINPUT">make WITH_LIBMPEG2=yes</kbd></pre><p>如果你计划安装<ahref="http://www.FreeBSD.org/cgi/url.cgi?ports/multimedia/avifile/pkg-descr"><ttclass="FILENAME">multimedia/avifile</tt></a>,那么就把选项<varclass="LITERAL">WITH_AVIFILE</var>加到你的<ttclass="COMMAND">make</tt>命令行里,如下所示:</p><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbdclass="USERINPUT">make WITH_AVIFILE=yes WITH_LIBMPEG2=yes</kbd></pre><p>这里有两个使用<ttclass="COMMAND">transcode</tt>进行可调整视频输出的转换实例。第一个把输出编码成openDIVXAVI文件,第二个是编码成更为小巧的MPEG格式。</p><pre class="SCREEN"><samp class="PROMPT">%</samp> <kbdclass="USERINPUT">transcode -i input.vob -x vob -V -Z 320x240 \-y opendivx -N 0x55 -o output.avi</kbd></pre><pre class="SCREEN"><samp class="PROMPT">%</samp> <kbdclass="USERINPUT">transcode -i input.vob -x vob -V -Z 320x240 \-y mpeg -N 0x55 -o output.tmp</kbd><samp class="PROMPT">%</samp> <kbdclass="USERINPUT">tcmplex -o output.mpg -i output.tmp.m1v -p output.tmp.mpa -m 1</kbd></pre><p>有个关于<tt class="COMMAND">transcode</tt>的参考页,仅有很少的关于各种<ttclass="COMMAND">tc*</tt>(如 <ttclass="COMMAND">tcmplex</tt>)应用的文档,这也是安装了的。命令行选项 <varclass="OPTION">-h</var> 有时也可以给出简单的使用格式的说明。</p><p>相比之下,<tt class="COMMAND">transcode</tt>比<ttclass="COMMAND">mencoder</tt>运行起来要慢许多,但它可以制作出更多可播放的文件。例如,用<tt class="COMMAND">transcode</tt>创建的MPEG文件众所周知可以在<b class="APPLICATION"><spanclass="TRADEMARK">Windows Media</span>® Player</b> 和 Apple's <bclass="APPLICATION"><span class="TRADEMARK">Quicktime</span>®</b>里播放。</p></div></div><div class="SECT2"><h2 class="SECT2"><a id="VIDEO-FURTHER-READING" name="VIDEO-FURTHER-READING">7.4.3.进一步了解</a></h2><p>FreeBSD里不同的视频软件包正迅速发展中。很可能在不久的将来,这里所谈到的问题都将得到解决。同时,有些人想超越FreeBSD的声/像(A/V)能力,那他们就不得不从一些FAQ和指南里学知识,并使用一些不同的应用程序。这里就给这些读者指出一些补充信息。</p><p>The <a href="http://www.mplayerhq.hu/DOCS/" target="_top">MPlayer文档</a>是很技术性的。这些文档可以给那些希望获得关于<spanclass="TRADEMARK">UNIX</span>视频高级技术的人们提供参考。<bclass="APPLICATION">MPlayer</b>邮件列表很不喜欢没耐心阅读文档的人,如果你发现什么问题,想报告给他们--RTFM的话。</p><p>The <a href="http://dvd.sourceforge.net/xine-howto/en_GB/html/howto.html"target="_top">xine HOWTO</a>里边有一章是关于提高性能的,对所有的播放器都很适应。</p><p>最后是一些很有前途的程序,读者可以试一下:</p><ul><li><p><a href="http://avifile.sourceforge.net/" target="_top">Avifile</a>,它就是<ahref="http://www.FreeBSD.org/cgi/url.cgi?ports/multimedia/avifile/pkg-descr"><ttclass="FILENAME">multimedia/avifile</tt></a>port。</p></li><li><p><a href="http://www.dtek.chalmers.se/groups/dvd/" target="_top">Ogle</a> 它就是<ahref="http://www.FreeBSD.org/cgi/url.cgi?ports/multimedia/ogle/pkg-descr"><ttclass="FILENAME">multimedia/ogle</tt></a>port。</p></li><li><p><a href="http://xtheater.sourceforge.net/" target="_top">Xtheater</a></p></li><li><p><a href="http://www.FreeBSD.org/cgi/url.cgi?ports/multimedia/dvdauthor/pkg-descr"><ttclass="FILENAME">multimedia/dvdauthor</tt></a>,一个制作DVD节目的源码开放包。</p></li></ul></div></div><h3 class="FOOTNOTES">注</h3><table border="0" class="FOOTNOTES" width="100%"><tr><td align="LEFT" valign="TOP" width="5%"><a id="FTN.AEN8671" name="FTN.AEN8671"href="video-playback.html#AEN8671"><span class="footnote">[1]</span></a></td><td align="LEFT" valign="TOP" width="95%"><p>有个非常流行的带有很棒<b class="APPLICATION"><spanclass="TRADEMARK">XFree86</span></b>性能的图形卡---nVidia, 也不得不向<bclass="APPLICATION"><spanclass="TRADEMARK">XFree86</span></b>团队公布他们对XVideo支持的规范书。不久的将来,<bclass="APPLICATION"><spanclass="TRADEMARK">XFree86</span></b>就可以在这些卡上完全支持XVideo。</p></td></tr><tr><td align="LEFT" valign="TOP" width="5%"><a id="FTN.AEN8767" name="FTN.AEN8767"href="video-playback.html#AEN8767"><span class="footnote">[2]</span></a></td><td align="LEFT" valign="TOP" width="95%"><p>在有些国家,播放没授权的DVD是犯法的。请在使用这个选项的时候检查当地的法律。</p></td></tr></table><div class="NAVFOOTER"><hr align="LEFT" width="100%" /><table summary="Footer navigation table" width="100%" border="0" cellpadding="0"cellspacing="0"><tr><td width="33%" align="left" valign="top"><a href="sound-mp3.html"accesskey="P">后退</a></td><td width="34%" align="center" valign="top"><a href="index.html"accesskey="H">起点</a></td><td width="33%" align="right" valign="top"><a href="tvcard.html"accesskey="N">前进</a></td></tr><tr><td width="33%" align="left" valign="top">MP3音频</td><td width="34%" align="center" valign="top"><a href="multimedia.html"accesskey="U">上一级</a></td><td width="33%" align="right" valign="top">安装电视卡</td></tr></table></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -