View previous topic :: View next topic |
Author |
Message |
lonelyp

Joined: 14 Nov 2006 Posts: 260
小企鹅: 8158
|
Posted: 2007-Feb-11 Sun, am12:52 |
|
Post subject: 在pdaXrom下使用mplayer全屏流畅播放320x240和640x480的影片的方法 |
|
原文地址
http://wells.osall.com/blog/index.php?uid=1&m=content&p=388
所需软件下载和示意图,高亮显示的脚本代码请看原文,我懒得用phpBB代码转过来了
ps,转载请注明出处,谢谢
========================================================
在pdaXrom下使用mplayer全屏播放高清晰影片
Info 文章信息
关键字:pda;zaurus;pdaxrom;mplayer
本文版本:3
最后修改于 2007-02-12 00:46:22
很多朋友都说在pdaXrom下,Zaurus无法全屏播放影片,320x240的影片无法全屏播放,而640x480的无法流畅播放。因此纷纷放弃了 pdaXrom,投向了Cacko或原厂ROM的阵营。可我却觉得pdaXrom作为定制性最强的Zaurus OS来说,情况不应该是这样糟糕的。Cacko和pdaXrom 1.1.0beta3的内核是基本一样的(2.4.20),所不同的则是一个使用了Qtopia,一个使用了X,差别不应该如此之大。加上前两天使用 gpSP在CPU为416MHz的Zaurus上成功模拟GBA游戏机,让我对Zaurus的性能表现充满了信心。正因为这样,我决定进行一些尝试,看看 Zaurus是否能再给我们一个惊喜,能够流畅的全屏播放640x480高分辨率的影片。
在经历了一个晚上的挫折和努力之后,终于得到了一个令人振奋的结果,Zaurus的强大再次在pdaXrom上完美的体现出来——没问题,Zaurus可以流畅播放640x480的高清影片!
下面就写一下实现的方法(其实关键有两点,一是合适的播放软件,二是合适的片源)。
在开始之前,声明一下,本文适用于Zaurus SL-Cxx00系列的机型,pdaXrom的版本为1.1.0beta 3。在Zaurus的其它机型(例如C860或7500C),以及pdaXrom 1.1.0beta1并未进行过测试,或许能用,请大家测试吧。
首先,要安装播放影片的软件——mplayer。
mplayer 是Linux下的最著名的媒体播放软件,不过这里我们不要安装 pdaXrom 官方feed中提供的那个版本。那个版本有些旧,并且似乎没有进行过优化。我在OESF上搜索了一些关于mplayer的信息,最后在 tyrannozaurus 的 feed 中找到了Meanie 和 AGAWA Koji 优化过的版本。Meanie编译的mplayer 1.0pre8 使用了X11作为视频输出的接口,优化了播放影片时的控制功能;而Agawa Koji的版本,则是对Zaurus的CPU指令集和显示驱动进行了优化,针对Cxx00使用了bvdd的显示驱动输出,性能得到了大大的提升。为了方便大家,我把这两个mplayer的安装包上传到了我的文件库,大家可以下载安装。
* mplayer_1.0pre8_armv5tel.ipk
* mplayer-bvdd-iwmmxt_1.1.5-1_armv5tel.ipk
你可以使用ipkg命令来安装这两个包。
# ipkg install mplayer_1.0pre8_armv5tel.ipk
# ipkg install mplayer-bvdd-iwmmxt_1.1.5-1_armv5tel.ipk
安装好后,Meanie的mplayer 1.0pre8可以使用mplayer来启动,而Agawa的使用bvdd的mplayer可以使用mplayer2命令来启动。
不过,现在的多媒体世界有着成百上千种视频格式,并不是所有格式的影片mplayer都能播放,即使能播放,由于解码器的效率的原因,也不一定都能流畅播放。所以,我们得选择合适格式的影片来给mplayer播放。也许大家会觉得这样片源就会受到很大的限制了,不过好在世界上还有mencoder这样的影像编码转换软件的存在。所以不用担心,下面就说明一下如何将影片的格式转换成mplayer能流畅播放的格式。
mencoder是一个功能强大的影像格式转换软件,不过它的参数实在是太多太难记了,还好有很多爱好者为mencoder加了各种图形化的前台操作界面以方便大家使用。在这里我主要介绍如何使用它的一个图形化实现WindMencoder来进行影片格式的转换。
WindMencoder是一个非常不错的mencoder的windows实现,在Windows平台的PC上可以使用它来轻松的转换影片格式。WindMencoder可以在这里找到下载。我用1.78版本介绍一下如何转换影片到mplayer能够流畅播放的格式。
打开WindMencoder之后,可以添加一个或多个的视屏文件到转换任务列表中。默认的视频输出各市并不适合Zaurus的mplayer进行播放,所以我们要改变设置。
P_1171200576_0.jpg
打开WindMencoder,添加视频文件
鼠标双击任务列表中的视频文件,WindMencoder会询问你是否要改变输出的设定,点确认后进行输出设置。
经过我的多次测试(试到手都酸了),如果你的片源画质不高,要将视频转换到320x240的话,输出DivX视频,帧速率为20,VBR为3,音频采样22KHz,音频码率为96Kbps的AVI格式的文件效果最好(如下图)。
P_1171200612_0.jpg
转换320x240影片设置
如果片源是DVD或者画质很好,要转成640x480的视频给mplayer播放的话,输出DivX视频,帧速率为20,码率为384Kbps,音频采样22KHz,音频码率为96Kbps的AVI格式的文件效果最好(如下图设置)。
P_1171200592_0.jpg
转换成640x480的影片的设置
这样,使用WindMencoder就能把WMV,AVI,MOV,MPG,RMVB,RM,DVD碟片等各种格式的片源转换成zaurus上mplayer能够流畅播放的视频文件了。
不过在测试过程中,我发现使用上面的两个版本的mplayer各有优缺点:在播放时控制影片播放的操控性来比较,Meanie的版本要胜出一筹,使用起来比较方便;在全屏播放的测试中发现,Meanie的版本无法把320x240的影片撑大到全屏播放,而Agawa的版本则会自动拉伸到全屏播放;在播放速度方面,320x240影片Meanie的版本虽然无法全屏播放,但是播放很流畅,而Agawa的版本可能是因为要做拉伸画面的处理,所以虽然还算流畅,但仔细看还是能看出有跳帧的情况;在640x480的影片播放方面,Agawa的版本使用bvdd驱动和针对Zaurus的CPU进行过优化的优势就显现出来了,非常流畅,而Meanie的版本根本无法流畅播放640x480的影片,几乎是一帧一帧在跳的。
项目 Meanie's mplayer 1.0pre8 Agawa's mplayer_bvdd_iwmmxt
控制操作 方便,便于控制,带gmplayer(不过性能不好)
不是很方便,缺少进度提示
320x240全屏 不能将画面撑到全屏播放,画面在屏幕中间
可以将画面拉伸到640x480播放
640x480全屏 没问题
没问题
320x240速度 非常流畅
可能因为需要拉伸画面,仔细看能发现有跳帧现象
640x480速度 无法正常播放,画面慢到像看漫画书
流畅播放上面用WindMencoder转出的影片
两个播放器的比较
如何才能集合两个播放器的优点来播放 320x240和640x480的影片呢?想了很久后,决定320x240的影片用Meanie的mplayer播放,640x480的影片使用 Agawa的mplayer2播放。这样就有两个问题要解决,一是320x240的影片播放的全屏问题,二是640x480的影片的控制不是很方便。经过研究之后发现,mplayer播放320x240的影片不能全屏的问题比较好解决。因为播放时,虽然没有撑满屏幕,但是画面是在屏幕中央的。这样,我们只要在播放影片前使用Fn+2快捷键或者xrandr命令将屏幕的分辨率变成320x240就能使画面变成全屏播放了。播放结束后再使用Fn+1或者 xrandr命令将分辨率切换回640x480就可以了。而第二个问题,关于640x480的影片播放时的控制的方便性问题,我却没有找到好的办法,不过还算能够控制影片播放,只是不直观罢了(没有进度条),并不影响影片的播放。所以这个问题不能解决也就算了,至少我们主要的目的达到了。
下面就是播放320x240的影片时mplayer的命令及参数
# mplayer -ac mad -framedrop -vm 影片文件名
播放320x240的影片前记得先要用Fn+2快捷键或者xrandr -s 1命令切换到320x240的低分辨率模式,播放完成后再切换回来。
下面是播放640x480的影片时mplayer2的命令及参数
# mplayer2 -vo bvdd -vm 影片文件名
不过为了方便使用,我写了一个脚本,可以让你选择你所需要以那种分辨率来播放影片,而不要记那些烦人的参数了 。你可以把这个名为 mplay 的脚本放到 /usr/local/bin目录中,给它可执行权限(chmod +x /usr/local/bin/mplay),以方便你随处调用。
mplay脚本代码:
BASH代码:
Code: |
#!/bin/bash
##############################
# Movie Player #
##############################
# by Wells Wang #
# 2007-02-10 #
##############################
MPLAYER="/usr/local/bin/mplayer -ac mad -framedrop -vm "
MPLAYER2="/usr/bin/mplayer2 -vo bvdd -vm "
XRANDR="/usr/X11R6/bin/xrandr"
SELECTIONS="320x240 640x480"
PS3="Plaese select playback resolution: "
echo "mplayer Playback Script"
echo "-----------------------"
select SEL in $SELECTIONS; do
if [ $SEL ]; then
if [ $SEL = "320x240" ]; then
$XRANDR -s 1
$MPLAYER $1
else
$MPLAYER2 $1
fi
$XRANDR -s 0
break
else
echo "Invalid selection, [Ctrl + C] to quit."
fi
done |
脚本中 mplayer 和 mplayer2 程序的路径可能要根据你自己的实际情况稍作修改,你可以使用which命令来获得它们的实际绝对路径(例如, which mplayer)。
有了这个脚本,你就可以像这样很方便的播放影片:
# mplay test.avi
这时,脚本会让你选择你要以哪种分辨率来播放影片:
mplayer Playback Script
-----------------------
1) 320x240
2) 640x480
Plaese select playback resolution: 2
脚本会根据你的选择调用mplayer或mplayer2来播放影片。像上面那样选择2的话就会调用mplayer2以640x480的分辨率来播放。
现在大功告成了,赶快试试吧!Zaurus真是台不错的PDA。 _________________ my Blog: http://wells.osall.com
请支持我的开源项目Sylvan: http://sylvan.osall.com |
|
Back to top |
|
rogerbaker
Joined: 10 Nov 2006 Posts: 24
小企鹅: 839
|
Posted: 2007-Feb-13 Tue, pm10:42 |
|
Post subject: |
|
参拜高人。
回头在试一下,本来已经对7500上x的视频绝望了的
感谢指点 |
|
Back to top |
|
lonelyp

Joined: 14 Nov 2006 Posts: 260
小企鹅: 8158
|
Posted: 2007-Feb-14 Wed, am10:47 |
|
Post subject: |
|
roger
在7500测试的时候,
如果在7500上跳帧或播放速度慢
请尝试
1. mplayer 和 mplayer 加上 -quiet 参数
2. 视频专成320*240的
3. 降低码率(视频/音频)
4. 降低每秒帧数
还有7500不能用bvdd驱动的
所以mplayer2可能不能用这个软件包
请找w100的mplayer2
-vo 参数改成 -vo w100 _________________ my Blog: http://wells.osall.com
请支持我的开源项目Sylvan: http://sylvan.osall.com |
|
Back to top |
|
rogerbaker
Joined: 10 Nov 2006 Posts: 24
小企鹅: 839
|
Posted: 2007-Feb-14 Wed, pm6:49 |
|
Post subject: |
|
好
谢谢 |
|
Back to top |
|
米迈7500c
Joined: 01 Nov 2006 Posts: 46
小企鹅: 1568
|
Posted: 2007-Feb-17 Sat, am8:05 |
|
Post subject: |
|
我的是7500c,请问楼主:mplayer的参数都有些什么?哪的全一些?mplayer -help后给的zoom怎么才起作用?我是这样用的:mplayer -vo fbdev2 -fs zoom **.avi,320*240和320*480全屏不了,可相当流畅,只是放在中间,四周是黑框,下脚有一行数据在跳。但是:mplayer *.avi要是320*240的话就直接全屏,要是320*480的话又卡的厉害,所以我觉得是zoom参数没起作用,想找一下看看。我不喜欢用-framdrop或者-hardframdrop,播放能快一些,可画面太跳,掉帧太厉害。 |
|
Back to top |
|
wterlan
Joined: 21 Feb 2006 Posts: 67
小企鹅: 560
|
Posted: 2007-Feb-19 Mon, pm1:27 |
|
Post subject: |
|
我有个问题
C1000装1.1.0beta 3
我都是在Package manager中安装的:
mplayer-bvdd-iwmmxt_1.1.5-1_armv5tel.ipk 使用正常
就是播放320x240的影片时mplayer的命令及参数
# mplayer -ac mad -framedrop -vm 影片文件名
显示如下:mplayer:error while loading shared libraries:libiconv.so.2:cannot open shar object file:no such file or directory
无法正常播放, Why?
(已正确输入影片路径名) |
|
Back to top |
|
lonelyp

Joined: 14 Nov 2006 Posts: 260
小企鹅: 8158
|
|
Back to top |
|
cesoft
Joined: 01 Nov 2005 Posts: 9
小企鹅: 243
|
Posted: 2007-May-31 Thu, pm9:06 |
|
Post subject: |
|
我用7500的时候一般这么干,进入X超频,设置缓寸。再退出X。进入MC,找到相关文件回车即可全屏。想当年学警雄心几乎都这么看的。不过问题也明显,掉贞,没电了好象没提示。 |
|
Back to top |
|
ccpaging
Joined: 07 Dec 2006 Posts: 757
小企鹅: 16604
|
|
Back to top |
|
wterlan
Joined: 21 Feb 2006 Posts: 67
小企鹅: 560
|
Posted: 2007-Nov-25 Sun, pm1:30 |
|
Post subject: |
|
CC这才发现啊,我早就用开了,不过我用的是:WisMencoder
视频:DivX,435Kps,320×240,20fps
音频:先用"AVIcodec"这个软件看音频的参数,再一样的设置.
转了无数的RM,没有什么看不了的.
注:如你想要在Z机下全屏看,320×240这个视频参数还要根据"AVIcodec"来调整.具体的就长了,有人想知道的,开个新贴来问吧.(为过老板增加点人气吧.呵呵) |
|
Back to top |
|
adplay
Joined: 28 Jan 2008 Posts: 6
小企鹅: 183
|
Posted: 2008-Feb-01 Fri, am12:34 |
|
Post subject: |
|
不好意思, 請問一下, mplay我照著文章內的做, 權限都設成
rwxrwxrwx了, 但是執行時總是顯示
bash: ./mplay: cannot execute binary file
這是什麼原因呢, 希望知道的前輩為我解答一下, 謝謝 |
|
Back to top |
|
lonelyp

Joined: 14 Nov 2006 Posts: 260
小企鹅: 8158
|
|
Back to top |
|
adplay
Joined: 28 Jan 2008 Posts: 6
小企鹅: 183
|
Posted: 2008-Feb-02 Sat, am1:07 |
|
Post subject: |
|
執行cat mplay後, 發現#!/bin/bash前面有亂碼,但是用leafpad看看不出來,我把它修正後, 再執行cat mplay,就沒亂碼了,可是執行
./mplay ./video/01.avi , 現在則是出現
bash: .mplay: /bin/bash^M:bad interpreter: No such file or directory
一樣不能執行,麻煩lonelpy可以再幫我解達一下,謝謝 |
|
Back to top |
|
lonelyp

Joined: 14 Nov 2006 Posts: 260
小企鹅: 8158
|
|
Back to top |
|
adplay
Joined: 28 Jan 2008 Posts: 6
小企鹅: 183
|
Posted: 2008-Feb-13 Wed, am9:40 |
|
Post subject: |
|
原來如此, 謝謝lonelyp為我解答, 感謝你, 我的確是在windows下編輯這個文件的, 原來是換行有不同 |
|
Back to top |
|
|