显示标签为“video”的博文。显示所有博文
显示标签为“video”的博文。显示所有博文

2008年1月12日星期六

多媒体和即时通讯方面的几个新玩意

这几天发现了多媒体和即时通讯(这两类也算网民们用电脑最普遍的用途吧)方面的几个新玩意:

网络电视GMLive (开发团队blog使用说明)
目前支持MMS, sopcast, nslive等几种流媒体,UI还比较简单

网络视频nslive (LinuxToy上的介绍作者的Blog, 安装方法说明)
上面提到过的一种流媒体。支持可用性上做的不太好,那个安装说明也够难找的。

Flash Player 9.0 (Debian包)
新版本支持Linux下的全屏了(并且支持硬件缩放hardware scaling)

Audacious
喜欢Winamp/XMMS的可以用这个了( XMMS -> BMP -> Audacious,功能界面都差不多,都可以用winamp的skin;BMPx和XMMS2却是另外一条路了)。至于功能方面,id3 tag的乱码还是避免不了的,除非自己改代码;另外我现在看重网络音频的支持了(比如电台或者last.fm),很多时候懒得自己去下载mp3文件。
飞信的pigdin插件 (可以放到$HOME/.purple/plugins/或者/usr/lib/purple-2)
当然是第三方开发的。目前有基本功能:对聊或者发短信。最近几天作者gradetwo改 进很频繁,代码还没有放出来。我已经迫不及待要编译win32版本了:在Windows上时如果MSN、QQ、Google Talk、飞信、V网伴侣这些都打开,机器都没法玩了。也不知道现在这些软件怎么搞的,为了界面漂亮一点点,都要拼图片来做,搞得这些软件好用内存相当严 重。还是用pidgin一统天下好。

MusicTracker
A Pidgin 'now playing' plugin to advertise the songs you are listening to in your status message.
MSN客户端KMess发布1.5正式版本
经过两个pre版本后,KMess终于发布了1.5正式版本,主要解决了文件传输过慢问题,新增了对用户自定义表情图片(emoticons)的发送支持。

2007年6月14日星期四

用strace定位totem不能播放rmvb的问题

俺在新装的ubuntu上装了totem, 并且是totem-xine,当然缺省是不能播放rmvb的,得自己来折腾了。

其实开始装的是totem-gstreamer, 试验totme能否播放rmvb的时候totem会问是否要自动搜索解码器,选了是,它就给我搞了个安装gstreamer-ffmpeg,结果也如所料:放不了rmvb。

先是试着将debian上/usr/lib/win32目录进行符号链接过来(ln -s /mnt/debian/usr/lib/win32 /usr/lib/win32),还是不行。

再按一些网上帖子说的,到mplayer网站下载rp9codecs-200?????.tar.bz2,解压动态库到~/.gnome2/totem-addons,仍旧不行。又试验了w32codecs,不行。

再就直接去找realplayer了,http://www.real.com/linux 默认的那个已经很旧了,有很多依赖库都不好解决,点那个nightly build应该可以下载到最新的版本。不过我是找了个edgy的非官方包装在feisty上(从包索引可以看出, 那上面还没有feisty版本的realplayer,也许你看的时候已经有了)。
不过这个东西装上之后一运行realplay就segfault了,这很多帖子说过,是跟scim冲突的问题,修改/usr/bin/realplay,在里面添加一行"export GTK_IM_MODULE="就可以了。
然后很可能播放时画面或者声音会有些卡,装个alsa-oss可以解决: 仍旧修改/usr/bin/realplay,在它执行realplay.bin那行(目前是第73行)加上一个aoss就可以了。
综合前面两条,/usr/bin/realplay最后几行是这样
REALPLAYBIN=$HELIX_LIBS/realplay.bin
if [ -n "$DEBUG" -a -x "$CATCHSEGV" ]; then
$CATCHSEGV $REALPLAYBIN ${1+"$@"}
else
while /bin/true; do
export GTK_IM_MODULE=
export XMODIFIERS=
aoss $REALPLAYBIN "$@"
# Restart the player if exit code is 10
if [ $? -ne 10 ]; then
break
fi
done
fi
现在可以在realplayer里播放rmvb了,回到totem,还是不行(也许有朋友要问,为啥非得用totem不用realplayer放啊,这是因为totem有gnome-vfs支持,可以从网络共享上直接播放,:-)。我用strings /usr/bin/totem-xine | grep addons查过了,结果为空,所以觉得很多网友虽然说将codecs库放到~/.gnome2/totem-addons那样可以,但现在也许已经改掉了(刚下载了totem源代码,还没有来证实)。

于是祭出strace,顺便打开totem的debug开关:

strace totem --debug > trace.out 2>&1

在totem中打开一个rmvb文件,它报告不能播放该格式文件,关闭退出totem.
然后用vi打开trace.out,查找open或者fstat/fstat64调用,或者codec字样,然后我看到如下内容:
stat64("/usr/local/RealPlayer8/Codecs/drv3.so.6.0", 0xbfe23b2c) = -1 ENOENT (No such file or directory)
stat64("/usr/RealPlayer8/Codecs/drv3.so.6.0", 0xbfe23b2c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/RealPlayer8/Codecs/drv3.so.6.0", 0xbfe23b2c) = -1 ENOENT (No such file or directory)
stat64("/opt/RealPlayer8/Codecs/drv3.so.6.0", 0xbfe23b2c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/RealPlayer9/users/Real/Codecs/drv3.so.6.0", 0xbfe23b2c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/RealPlayer10/codecs/drvc.so", 0xbfe23b2c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib64/RealPlayer8/Codecs/drv3.so.6.0", 0xbfe23b2c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib64/RealPlayer9/users/Real/Codecs/drv3.so.6.0", 0xbfe23b2c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib64/RealPlayer10/codecs/drvc.so", 0xbfe23b2c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/codecs/drv3.so.6.0", 0xbfe23b2c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/win32/drv3.so.6.0", 0xbfe23b2c) = -1 ENOENT (No such file or directory)
这里可以看到它搜索了/usr/lib/RealPlayer10目录,但realplayer目前的安装目录是/usr/lib/realplayer-10.0.8,于是创建一个符号连接解决问题。

总结一下: 从上面的strace输出可以看出,将drv3.so.6.0放到/usr/lib/win32或者/usr/lib/codecs应该也是可以的,我卸载realplay后重新用rp9codecs或者w32codecs试验,也的确可以,不知道原来哪里有问题 :-(
奇怪的是,它在/usr/lib/RealPlayer10目录搜索的是drvc.so,在其他目录搜的却是drv3.so.6.0.

P.S 请卸载libxine1-ffmpeg库,否则你用totem播放rmvb时,它会用ffmpeg里面提供的音频解码器(在"属性"中可以看到其编解码器名称),造成没有声音。

又: 刚才发现一个地方有realplay/w32codecs的包,写的是feisty版本,不知道是不是。不过偶尔找个老版本装也没有什么问题,尤其这几个对其他包依赖不太强的。

2007年3月18日星期日

技术得为娱乐服务啊

有时候都不明白是电脑在为我们服务,还是我们在伺候电脑。虽然感觉从去年初开始很多东西都可以在Linux玩了,但目前还是有些地方不爽:
  • 有时用Totem播放电影会造成X server黑屏(尤其是休眠再恢复之后),只有一个转动的光标,而且系统无法切换到控制台,按Ctrl+Alt+Backspace或者Ctrl+Alt+Del都没用,只能关闭电源。Ubuntu的bug列表中报告了这个问题,但没解决,说可能是内核的问题。
  • 很多mp3文件的id3tag不是用UTF-8编码的,而是采用本地字符集的(据说id3tag v1没有明确的编码要求,但id3tag v2有),播放器不能识别倒也罢了(据gnome-cn.org上说这个问题已经在gstreamer上解决了,但好像不是事实:-(),还找不到工具来转换(easytag试过了,它会报告libid3中有bug,会导致写入的id3tag不可读,而且真的能做到:-) )
  • last.fm上没法跟人分享中文歌(人太少了。不过该网站现在倒是有了个中文的界面),播放器对Linux的支持也一直不咋样(最近推出了一个Linux版本的播放器却在我这里一开始播放就崩溃,还不如以前那个中转给其它播放器的版本)。国内的音乐八宝盒是可以找到中文歌啊,不过技术搭建在Windows Media Player平台,没法在Linux下玩,而且网站还特别慢。

2005年5月3日星期二

Wink将获得诺贝尔奖?

早上照例打开slashdot,一条新闻差点让我把茶水喷出来,Wink要获得诺贝尔和平奖? 难道国际青年节也要改名为愚人节了?
讨论里面也都是"The what prize?," "There's no way this is true," "Oh, spam on slashdot?"这样的标题

仔细一看,原来是李逵和李鬼的故事: 这个奖是叫Noble, 而那个最有名的奖是叫Nobel。

不过Wink这个软件还真是不错(这个软件可以录制屏幕操作,可以存为Shockware Flash (.swf)格式——如果你还不知道它的用途的话)。
上次一个美眉那里win98玩不了The Incredible Toon Machine, 我觉得它的动画很滑稽,恰好Linux公社上有人介绍这个东西,就用这个东西录制了一段flash发过去。
(记得原来用SnagIt录制成avi,一分钟就近100M了,用RAR压缩一下后才1M多,可以画面重复量是很大的,完全可以精简。)

2005年3月1日星期二

文摘: 为firefox添注rtsp协议

在linux最常用的浏览器必是firefox无疑,现在它的最新版本是1.0.我们在使用它浏览影视网站的时候,点击movie和music链接经常会出现这样的提示对话框:

"rtsp不是已注册协议"

我们往往只能点确定作罢.而使用kde中浏览器它会自动调用我们安装的realplay打开链接正常播放. 其中的原理小弟怎么也搞不明白,但是又不肯善罢甘休...


原文出处: Linux公社


在google中search 'firefox realplay linux rtsp' 找到了这样一个网页
http://www.mcgladrey-family.us/kayne/archives/2004/01/23/rtsp_on_linux
仿照上面提供的方法做了,mozilla 可以正常调用了,而firefox还是不行,但小弟发现在mozilla的地址中输入
about:config
查找rtsp有了一行内容,而这行内容在firefox中却没有
于是想依样把它照搬过去,在 firefox的地址栏中输入
about:config
在显示网页的区域右键单击选择新建字符串串名是
network.protocol-handler.app.rtsp
串值是:
/usr/bin/realplay
串值应依你的具体情况而定
完成后打开cctv的视听在线频道再点击由rtsp开头的链接
回答一个提示后就可以正常播放了.



RE:为firefox添注rtsp协议
由 6692975 发表于 1月 31 @ 00:05:07 CST

偶的blog也有写 ^_^ 最初是在linuxsir看到这个办法的,后来在gentoo的wiki中再次发现。
就是调用外部程序,不止是rstp协议阿,其他的协议也都可以调用外部程序,比如mms,mailto.ed2k 都可以调用外部程序。

RE:为firefox添注rtsp协议 (分数: 1)
由 clfls 发表于 1月 31 @ 09:37:13 CST (http://www.chinalinuxpub.com)

装个mplayerplug-in就行了
http://www.chinalinuxpub.com/vbbforum/showthread.php?s=&threadid=42684