星期五, 四月 13, 2007

转载:玩转 MPlayer

MPlayer 是我在 Linux 系统中用到的相当好的媒体播放程序,它因支持播放广泛的音/视频文件格式而著称。本文所要探讨的,除却一般的使用方法之外,更包括一些鲜为人知的提示和诀窍。相信在阅读此文后,你的多媒体播放体验将会增色不少。

播放文件

使用 MPlayer 播放媒体文件最简单的方式是:
mplayer

MPlayer 会自动检测文件的类型并加以播放,如果是音频文件,则会在命令行中显示该播放文件的状态信息;而假如是视频文件的话,则会打开一个新的播放窗口。



倒退与快进

在播放文件的时候,你可以通过以下三组快捷键来对播放进程进行倒退与快进操作:

* 左方向键和右方向键:分别执行倒退 10 秒和快进 10 秒操作
* 下方向键和上方向键:分别执行倒退 1 分钟和快进 1 分钟操作
* 下翻页键和上翻页键:分别执行倒退 10 分钟和快进 10 分钟操作

播放 DVD

虽然 MPlayer 不支持 DVD 菜单,但是却能够播放 DVD。你可以这样播放 DVD:
mplayer dvd://

你需要使用实际的数字来替换 ,如 1、2、3 等。

使用字幕

当播放电影文件时,你可以指定字幕文件:
mplayer -sub

在播放 DVD 电影时,你也可以通过指定语言代码来使用字幕:
mplayer dvd:// -slang nl,en

这样,MPlayer 就会优先使用荷兰语字幕,如果该语言不可用,则再使用英语字幕。

有用的快捷键

以下是 MPlayer 中一些有用的快捷键:

* f-当播放视频时,在全屏和窗口模式之间切换。你也可以在命令行中使用 -fs 选项,以便让 MPlayer 开始在全屏模式中播放。
* o-在播放视频时切换 OSD(OnScreen Display)模式。
* p 或 Space-暂停/继续播放。
* q 或 Esc-退出 MPlayer。在 GUI 模式时,Esc 不会退出,仅停止播放。
* / 和 * 或 9 和 0-减小或增大音量。
* m-静音切换。
* T(通常是 Shift + t)-播放窗口置顶切换。
* b 和 j-在可用的字幕间循环。
* x 和 z-调整字幕的延迟时间。
* I(Shift + i)-显示播放电影的文件名称。
* 1 和 2-调整对比度。
* 3 和 4-调整亮度。
* 5 和 6-调整色度。
* 7 和 8-调整饱和度。

生成索引

有时候,有些视频文件(主要是 AVI 文件)包含损坏的索引,或者根本就没有索引。这种情况通常是由下载文件不正确或未完成造成的。幸运的是,MPlayer 能够生成正常播放文件所需的索引。通过使用 -idx 选项,你可以告诉 MPlayer 来生成索引:
mplayer -idx

有时候文件虽然包含索引,但却已损坏。那样的情况,你可能需要 MPlayer 强制生成索引:
mplayer -forceidx

根据视频文件的大小,生成索引需花费一定的时间。但在此后,文件应该能够正常播放。

纠正错误的音频/视频同步

有些视频文件(主要是 flv 文件)由于编码的问题,会给 MPlayer 带来音频/视频同步的麻烦。这有两种可能情况:

* MPlayer 会尝试修复,但同步问题却更遭。
* MPlayer 会尝试修复那些正确的,因此没有必要同步。

对于第一种情况,你应当让 MPlayer 努力修复同步问题:
mplayer -autosync 30 -mc 2.0

而对于第二种情况,你不应当允许 MPlayer 去修复同步问题:
mplayer -autosync 0 -mc 0

将上述命令中的 autosync 设置为正值就会让 MPlayer 逐渐调整音频/视频的同步。值越高,MPlayer 越快地修复它。mc 选项指定 MPlayer 纠正每帧要多少秒。值越高,MPlayer 越认为接近修复音频/视频同步。设置为 0 则阻止 MPlayer 修复。

在慢系统上使用 MPlayer

MPlayer 允许在旧的或慢的系统上使用低 CPU 功率来播放视频文件。你可以使用 -framedrop 选项:
mplayer -framedrop

当播放 MP3 或 OGG Vorbis 文件时,你可能感受到一定的缓冲,这将影响你的音乐体验。那样的话,你可以尝试使用 libmad(MP3)或 Tremor(OGG Vorbis)音频解码器。你可以这样来检测它们:

对于 MP3:
mplayer -ac help | grep mad

如果上面的命令返回的结果像这样:
mad libmad working libMAD MPEG layer 1-2-3 [libmad]

那么你可以使用 libmad 播放 MP3:
mplayer -ac mad

在 OGG 的情况中,你可以使用同样的技巧来检测 tremor 音频解码器是否可用:
mplayer -ac help | grep tremor

播放流媒体

如果 MPlayer 无法自动找到播放列表或直接的流媒体文件,你可以尝试使用 -playlist 选项:
mplayer -playlist

同时你也可以设置较大的缓存:
mplayer -cache 8192 -playlist

指定缓存大小的单位是 KB,上面的命令将允许 MPlayer 使用 8 MB 缓存。你可以使用 -cache-min 选项来改变 MPlayer 占用缓存的百分比:
mplayer -cache 8192 -cache-min 50 -playlist

循环播放

如果你想让媒体文件循环播放,可以使用 -loop 选项:
mplayer -loop 3

上面的命令将播放 3 次,然后才退出。
mplayer -loop 0

上面的命令将永远重复播放 。

改变播放速度

你可以使用 -speed 选项来改变 MPlayer 播放媒体文件的速度。值为 1.0,意味着正常速度;0.5 意味着慢两倍;2.0 意味着快两倍。像这样指定选项:
mplayer -speed 2.0

改变采样率

使用 -srate 选项你可以改变 MPlayer 输出的采样率:
mplayer -srate 48000

将音频输出为 wav 文件

你可以将视频文件中的音频部分输出为 wav 文件:
mplayer -ao pcm

这将输出名为 audiodump.wav 的音频文件。你也可以为输出的 wav 文件指定名称:
mplayer -ao pcm:file=.wav

使用 ASCII 方式观看电影

虽然无用,但却很好玩。有两个库文件支持该特性:aa 和 caca。使用 libaa,你只能在黑白 ASCII 中观看电影。而 libcaca 支持色彩。然而,libaa 支持更广泛。你可以像这样使用 libaa 观看电影:
mplayer -vo aa

如果你想使用 libcaca:
mplayer -vo caca

将电影输出为系列图片

MPlayer 也能将电影输出为一系列的图片:
mplayer -vo jpeg

注意:上面的命令将产生数量巨大的 jpeg 文件。输出的 jpeg 文件名看起来像这样:00000001.jpg、00000002.jpg、00000003.jpg 等等。

你也可以输出其他的格式。只需将命令中的 jpeg 替换成 ppm、png、tga 等。

指定纵横比

当你在宽屏中播放电影时,可能想要使用 16:9 的纵横比:
mplayer -aspect 16:9

在非宽屏中,你可以使用 4:3 的纵横比。

将选项放置到 MPlayer 的配置文件中

对于一般用户来说,该配置文件位于 ~/.mplayer/config;全局的配置文件在 /etc/mplayer/config。不同的值使用行分隔,如:

# MPlayer config file
srate=48000
ao="pcm:file=dumpedaudio.wav"

Read More...

日志

LRE全面兼容802.3协议,今天看了看有关于以太网的各种协议,加上以前自己积累和理解的,对网络结构又有了一个新的认识,在我看来anx5808芯片是在tcp/ip协议的基础上加上8位的报头就可以收发自己的数据流了



  10/100 Mbps 以太网中的基本 IEEE 802.3 MAC 数据格式如下:

7 1 6 6 2 46-1500 bytes 4 bytes
Pre SFD DA SA Length Type Data unit + pad FCS

  • Preamble(Pre) ― 7字节。Pre 字段中1和0交互使用,接收站通过该字段知道导入帧,并且该字段提供了同步化接收物理层帧接收部分和导入比特流的方法。
  • Start-of-Frame Delimiter(SFD) ― 1字节。字段中1和0交互使用,结尾是两个连续的1,表示下一位是利用目的地址的重复使用字节的重复使用位。
  • Destination Address(DA) ― 6字节。DA 字段用于识别需要接收帧的站。
  • Source Addresses(SA) ― 6字节。SA 字段用于识别发送帧的站。
  • Length/Type ― 2字节。如果是采用可选格式组成帧结构时,该字段既表示包含在帧数据字段中的 MAC 客户机数据大小,也表示帧类型 ID。
  • Data ― 是一组 n(46=< n ="">
  • Frame Check Sequence(FCS) ― 4字节。该序列包括32位的循环冗余校验(CRC)值,由发送 MAC 方生成,通过接收 MAC 方进行计算得出以校验被破坏的帧。
这样看来再加上那天公司的人来讲解的那样,就应该是Pre和SDF合在一起作为8位报头,接下来就可以在后面加上我们自己的数据了,ms是这个样子的,不知道理解的对不对,




Read More...

mm找到工作了

经过这么长时间的努力,yn终于找到工作了,看起来还是不错的,感觉比我的都好,这下终于轻松了,她也不那么害怕了,真开心啊,呵呵,好事都来了,剩下的看来就是毕设了,我也要加油了,
bless


Read More...

想登录自己的blog好难啊

今天终于在网上找了个办法,那就是修改hosts文件
好久都没法登录blogspot了
真不知道中国是怎么回事,连这个都封?
发个mm的照片吧


发件人 yani

Read More...

星期五, 三月 16, 2007

把自己卖了!

今天把自己贱卖了
5555
折腾一上午总算是卖了
心理怪怪的,奋斗这么多年就这个结果,心理还是很失落的
在看吧,只能这样了,为了和yn在一起
这又算什么呢



Read More...

星期二, 三月 13, 2007

北京之行

去了北京四天,感触颇多,直到那时才知道找工作不易决不是一句空话,早上5点多就起床了,找梅,刘,罗,李一行五人坐校车直接去清华,开始还好,一路有说有笑,但是还是难掩心中的酸楚,此刻考验分数还没出来,虽然知道自己考的不好,也没好好复习,可是毕竟去考了一会,还是侥幸希望奇迹出现,或者起码不至于太低,可是不知道怎么的,平时基本很少晕车的我这次却出奇的难受,以至于一路上yn的短信都没理,好不容易熬到清华,下车了还是难受的很,几个人直接去吃快餐了,,只是勉强吃了一包多薯条,然后去打印简历,随便yn在学校帮我查了分数,分数很低,心情就一下跌倒谷底了,过了一会罗也查了查,结果基本和差不多,读研是没戏了
只好去清华体育馆参加招聘会了,不去不知道,去了吓一跳,那叫个人多啊,排了n久的队,好不容易才进去了,真是赶上挤火车,根本找不到一个空当,由于早上和中午都没吃饭,这时候可是惨了,头本来就被人多看的晕晕的,这时就更别提了,毫不容易投完了简历,出来几个人就去找住的地方,随便说说,梅和李去逛清华了,(真是服了,这个时候还有精力和体力去逛),我们几个边等边吃了点饭,总算是缓过来了,等和他们会合后,就去找住的地方,别提了,北航
第二天有招聘会,周围根本找不到住的地方,走的我腿都快断了,说实话长这么大还没受过这样的罪,真是郁闷,后来多亏了赵啊(还是高中的同学亲啊),我和梅去他那里住了一宿,他们几个去宾馆了



Read More...

星期三, 三月 07, 2007

找工作好难

艰难的找工作中,苦苦的拼搏到什么时候才能找到个差不多的呢,周围的都差不多了
就自己还没个着落
继续努力吧
真是少壮不努力
老大徒伤悲
啊!

Read More...

星期五, 三月 02, 2007

妈妈好漂亮


妈妈好漂亮, originally uploaded by xuefengwang101.

Read More...

幸福的一家,妈妈的合不上嘴了

Read More...

自己


自己
Originally uploaded by kenshinxf101.
呵呵 ,自己在家

Read More...