linux下使用mplayer观看高清电影

来源:互联网 发布:windows7桌面软件 编辑:程序博客网 时间:2024/06/12 00:29

在centos下使用mplayer看高清电影,没想到出奇的卡。在网上搜索到一篇非常好的解决方法附在最下面。这里先记录自己实际的解决方法:
解决方法一:使用mplayer -framedrop参数来播放,效果也不错。
解决方法二:按照下文介绍的第2种方法,使用多线程mplayer来播放。由于下文中的链接不可用,另外git的代理配置也麻烦,所以直接去mplayer官方网站下载最新的mplayer的源代码包,接着去http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/ffmpeg-mt.tar.gz下载ffmpeg-mt的源代码,分别解压,然后用ffmpeg-mt替换掉mplayer源码中的ffmpeg,按照./configure&& make && makeinstall三步走安装mplayer。安装过程出错说libswcale目录中没有makefile,原来ffmpeg-mt的libswcale本来就是空的,再把mpalyer自带的ffmpeg中的libswcale复制过去,重新安装。完成以后,用下面命令播放:
mplayer -vfm lavf -lavdopts threads=4 ~/movies/movie.RMVB


下文介绍了在linux下使用mplayer看高清电影的三种方法,原文链接:http://linuxtoy.org/archives/play-hd-movies-with-mplayer.html

Linux 下使用 MPlayer 观看高清电影的三种解决方案

最近,MPlayer 官方网站刊载了一篇名为《VideoAcceleration and You》的文章,该文简述了使用 MPlayer 来观看 1080 H.264高清电影的几种方案,兹摘录如下,并加以说明。

  1. VDPAUVDPAU 即 Video Decode and Presentation API for Unix 的简称,它是由 NVIDIA 针对GeForce 8 及更新的系列所设计的一套 API,既有解码,也有解码后处理,可以大幅降低 CPU 的占用率。目前,MPlayer 的 SVN 版本已经提供了针对 VDPAU 的支持,你将需要通过 Subversion 版本控制工具来获取其源代码并自行编译。同时,在播放时需指定 -vo vdpau -vc ffh264vdpau选项和参数。
  2. FFmpeg-mtFFmpeg-mt是一个包含多线程实验性功能的 FFmpeg 新分支,它可以充分利用多核或多个 CPU 的优势,从而加快视频解码过程。FFmpeg-mt 的源代码可由 Git 取得,编译及安装可使用以下命令:git clone git://repo.or.cz/mplayer &&cd mplayer&& git checkout origin/mt && gitsubmodule init&& git submodule update && ./configure&& make&& make install同样,播放时需指定相应选项和参数:-lavdopts threads=N,其中 N 即线程数。
  3. CoreAVC for LinuxCoreAVC据说是 Windows 平台下最好的 H.264解码器,包含多线程、多核(专业版)等支持,其最大的特色是快。通过 CoreAVC for Linux 可以在 Linux 下使用CoreAVC。之前,该项目曾被 CoreAVC 的开发商要求关闭,后来经过沟通在 Google Code 上得已重新开放。关于 CoreAVC for MPlayer 的安装,可以参考这篇安装指南。得益于好友 Dark 的帮助,我目前使用的即是这种方案。我的体验是,1080P 的片子可以流畅播放,CPU 占用率在 40%~70%之间徘徊(我的是 Intel Pentium Dual-Core E2140 CPU);720P 的更低一些,大约在 10%~40%。

综上,第一种方案针对显卡的要求要高一些,我的 GeForce 7300GT 目前便无福消受;第三种呢,CoreAVC需要额外花钱购买,专业版要 15 刀;第二种方案倒是非常值得一试。

原创粉丝点击