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

2008年9月11日星期四

为motorola Z6转换视频文件

按照z6手机的说明,该手机支持h263 /3gpp格式的视频,但发现其随机附带的视频用linux下的mplayer播放时检测为mpeg4/aac 编码的文件,这比h263所使用的单声道音频效果自然好很多,参考网上的资料,经检测下列命令适合把网上常见的mpeg4 podcast视频转换为可以在Z6上播放的节目,并获得mp4的视频压缩效果和aac立体声音频效果:
系统要求:
debian或ubuntu,添加对应的non-free源,如multimedia.debian.org (莫名其妙被大陆政府封锁),medibuntu.ubuntu.org
下载带non-free组件支持的ffmpeg程序

操作步骤:
1. 下载mp4文件,比如从miro订阅的podcast频道下载,假设名为 channel.m4v
2.
ffmpeg -i channel.m4v \             #源文件
-acodec libfaac \ #目标文件音频编码
-vcodec mpeg4 \ #目标文件视频编码
-r 10 \ # 每秒10帧的fps,Z6手机支持的最高可能是15
-s qcif \ #使用h263支持的分辨率和屏幕大小 176 x 144,这种分辨率没必要考虑字幕,更本看不清的,所以建议尽量牺牲视频的质量来缩减文件大小。
channel.3gp #目标文件

网上也有分离音视频(demux or rip),然后对视频用多pass来转换,最后在合成(mux),以提高视频效果的实现,但对于我的Z6简直是浪费。
如果你对声音的要求也很低,那么acodec可以用libamr_nb 或libamr_wb,这个对于人的语音是够了,vcodec可以用h263。

2007年2月28日星期三

debian的日志循环

我发现一台debian里的某个日志文件总被截断并重新创建,而且每次创建的文件的访问权限不是我所希望的,于是我检查了logrotate的配置,测试ok后到第二天发现,权限设置又不是我所预期的,气得我牙痒痒。重新检查发现:
debian sid下sysklogd自带了管理系统日志文件的循环备份的功能,具体配置文件在/etc/cron.daily/sysklogd。(实际上是使用了debianutils包里的savelog命令)
但大家更加熟悉的是logrotate所提供的日志循环功能。按照UNIX的简单哲学,我更倾向于用logrotate来管理所有的日志文件的循环备份。
用logrotate要注意的是,如果程序在不断的写日志文件,应该用copytruncate参数来保证原始日志文件不动。这时create参数会被忽略。
同时,要避免savelog干预我的日志文件,可修改/etc/cron.daily/sysklogd和/etc/cron.weekly/sysklogd,在用到syslogd-listfiles命令时加 -s 参数来过滤掉特定的日志,比如我的:
for LOG in `syslogd-listfiles -s ha` # Do not handle HA logs. --lanyufeng