压片学习笔记(二)-Linux下的万能视频处理方法

ffmpeg作为一个"万能"的解码器, 有时候实在可以帮我们很多忙.
这个方法的原理是, 安装ffmpeg来开启x264的lavf输入, 内部调用ffmpeg处理各种视频, 从而"一个命令"通吃所有视频:)

1, 编译前准备

sudo apt-get remove ffmpeg x264 libx264-dev
sudo apt-get update
sudo apt-get install build-essential subversion git-core checkinstall yasm texi2html libfaac-dev libfaad-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libx11-dev libxfixes-dev libxvidcore4-dev zlib1g-dev

2, 编译安装ffmpeg

svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
cd ffmpeg
./configure --enable-gpl --enable-postproc --enable-memalign-hack --enable-runtime-cpudetect --disable-devices --disable-filters --disable-encoders --disable-muxers --disable-network --disable-decoder=aac,ac3,adpcm_*,alac,als,ape,atrac?,cook,dca,dsicinaudio,dxa,eac3,flac,interplay_dpcm,mlp,mp1,mp2,mp3,mp3*,mpc?,pcm_*,qcelp,ra_*,sipr,truehd,truespeech,tta,vorbis,wavpack,wma*,twinvq --disable-demuxer=aac,ac3,pcm_*,ape,amr,ass,au,avs,dts,eac3,flac,mp3,mpc,mpc8,truehd,tta,w64,wav,wv --disable-parser=aac,ac3,dca,mlp,mpegaudio
make
sudo checkinstall --pkgname=ffmpeg --pkgversion "4:0.5+svn`date +%Y%m%d`" --backup=no --default

3, 编译安装x264

git clone git://git.videolan.org/x264.git
cd x264
./configure  #这一步看到Lavf支持是"开启", 则ffmpeg配置成功
make
sudo checkinstall --pkgname=x264 --pkgversion "1:0.svn`date +%Y%m%d`+`git rev-list HEAD -n 1 | head -c 7`" --backup=no --default
Continue reading 压片学习笔记(二)-Linux下的万能视频处理方法

Python, wxPython / Boa Constructor 学习笔记 – Day 1

在GTK+, QT 和 wxWidgets 之间犹豫了挺长时间, 最后还是选择了wxWidgets(其实我只是看中了”native”控件)

现在我的软件环境是:

Windows 7 x86_64
Python 2.6.5
wxPython 2.8.10.1
Boa Constructor 0.6.1

一开始见到这IDE, 我仿佛又看到了Delphi…
点击上面板上 New => wx.App 就可以创建新的wxPython 应用程序了
(一开始我直接点了wx.Frame, 结果还花了点力气才让窗口能显示出来…)

然后新建 wxFrame, 在wx.Frame界面的时候, Editor 窗口的工具栏上会出现传说中的 Frame Designer. 就是他了!

关于Sizer:

对于以前从未用过Sizer及其类似物(VB6用数行代码实现类似功能), 起初使用Sizer我是相当的不适应.
大致摸索几次之后, 慢慢找到了规律 比如从上而下是如下结构的窗体:
工具栏
结果文本框
状态栏
这是窗口的底层结构,所以用wx.BoxSizer实现上下排列(其中工具栏需要用子Sizer)

然后把wx.FlexGridSizer填到刚建立的boxSizer1里, 主体构架就完了:)
接下来就和我熟悉的VB6一样, 一个个拖需要的控件到窗体上…

选中特定控件后,可以在左侧Inspector里打开Evts, 在左侧列表里选择事件类别, 然后双击右侧具体需要的事件. 在退出Designer的时候, 相应的Bind和函数会自动建好.

!!注意:不要在Sizer里留不存在的控件或者None控件, 否则退出Designer时会收到一条警告,并且在无更改的情况下, 程序是不能运行的.

Sizer窗口里点击相应控件, 和在窗体上直接点击, 出现在左侧Inspector里的属性是不一样的. 初次使用Sizer看到控件密密麻麻挤在一起很不爽, 可以给相应控件加上一定的Border, 并且在Flags里把wx.ALL设为True.

Flag -> wx.EXPAND设为True的时候, 会根据Sizer类型”占领”相应方向的全部空间. 比如使用BoxSizer的时候给文本框勾上wx.EXPAND, 则文本框左右范围会覆盖整个窗体. 如果希望上下也覆盖整个窗体, 可以加大Proportion属性的设置.

Continue reading Python, wxPython / Boa Constructor 学习笔记 – Day 1

压片学习笔记(一)-Linux下的音轨处理

[28/3/2010 Updated.]
据说经本人实际测试,使用neroAacEnc(下载地址移步这里)来压制音轨能取得最好的效果,而neroAacEnc只能接受WAV输入,因此有必要对音轨进行预处理.

首先,使用

mkvmerge -i target.mkv

来查看片源的音轨类型,并记下相应的编号(Track ID).

然后,接下来有两种不同的处理方法:

1, 使用ffmpeg直接释放wav并编码

#!编译安装ffmpeg的时候注意启用相应的解码器

ffmpeg -i <输入文件> -ac <声道数量> -map <轨道映射关系> <输出文件名>

解释一下:
1, 对于5.1声道DTS等源音轨,由于neroAacEnc的命令行选项里没有混合声道的选项, 只能在ffmpeg这一步就减少声道
2, -map <轨道映射关系>在源文件有多音轨时很有用, 比如使用 -map 0:1 等等, 可以分别提取出各音轨到wav. 单音轨输入文件可以去掉这一选项
3, 输出文件名 必须使用 .wav 结尾 否则输出格式可能不匹配

然后对解出来的wav文件进行编码:

neroAacEnc -if input.wav -of output.aac -q 0.25 -ignorelength

(如果想直接利用ffmpeg输出aac格式,可以用下面的语句:

ffmpeg -i <输入文件> -ac <声道数量> -ab <码率> -acodec aac -map <轨道映射关系> <输出文件名>

解释一下:
1, <码率>的单位是bit, 所以64K应输入64000
2, -ab <码率> 可以换成 -aq <质量>
3, 经本人实测, 在处理电影音轨的时候, 这个编码效果确实比neroAacEnc差不少…
)

Continue reading 压片学习笔记(一)-Linux下的音轨处理

使用电骡KAD,请慎用“断头档”

电骡的KAD网络提供了一种无服务器的P2P连接方案(KAD网络的介绍请移步这里),新安装电骡(Emule)的用户,往往会因为KAD网络连接失败或者来源太少而感到困扰。

网上有许多文章介绍了通过下载一个公共的“断头档”(“永远”无法下载完成的档案)来通过来源交换使KAD网络节点数增加的方法,这些方法确实可以使新用户快速进入Kademlia大家庭(前提是新用户能连接到一个KAD网络中的源,这个源可以来自ed2k服务器或者本地文件),然而,这个方法是否对下载有实际的帮助呢?下面请看实际实验结果。

下面的实验数据由本人亲自实验得出: Continue reading 使用电骡KAD,请慎用“断头档”

给dabr添加140字自动截断功能

dabr默认没有140字自动截断功能,有时候长推发不出去犹然不知,这里Felix给出一个简单的方法为dabr添加140字自动截断功能(未处理网址等特殊结构):

打开 /common/twitter.php 文件,找到

function twitter_update() {
  twitter_ensure_post_action();
  $status = twitter_url_shorten(stripslashes(trim($_POST['status'])));

在其下添加:

  if (function_exists('mb_substr')) {
    if (mb_strlen($status,'utf-8') > 140)
    $status = mb_substr($status, 0, 140, 'utf-8');
  }

即可:)
若想添加省略号,

Continue reading 给dabr添加140字自动截断功能

天朝有风险,上网须谨慎——网络安全知识普及系列(一)——上网环境篇

天朝有风险,上网须谨慎。

对于Google被窃密事件,不上推特的普通用户可能难以意识到天朝令人担忧的网络安全环境和隐私保障体系。因此,Felix谨从平常容易注意到的地方向大家介绍保护自己的必要技巧。

当然首先,以下的心态是不对的(举例):

1、我一小P民,谁会没事偷看我隐私。

2、我的邮件和个人信息给人看了也没什么大不了的,我又不做亏心事。

下面我就来介绍一下有关”上网环境”方面需要注意的问题。 Continue reading 天朝有风险,上网须谨慎——网络安全知识普及系列(一)——上网环境篇

介绍一款 Windows 桌面环境的 Twitter 客户端:Tween

Tween 是一款由日本人开发的 Windows 下的 Twitter 客户端,功能比较强大,不支持自定义API,但是支持普通HTTP代理连接方式。

由于 Tween 基于 .Net ,Windows XP/2000/2003的用户在使用 Tween 之前需要先安装 Microsoft .NET Framework 2.0 Service Pack 1

Tween 的开发主页是 http://sourceforge.jp/projects/tween/,进入后单击下方的绿色“Download”,然后在下载文件选择页再次单击最大的绿色“Download”即可。

Tween 免安装,界面语言可选日文/英文(没错,没有中文)。

下载得到的压缩包,直接解压,然后打开Tween.exe即可使用。

下面介绍一下Tween的优缺点。 Continue reading 介绍一款 Windows 桌面环境的 Twitter 客户端:Tween

CNNIC,我不信任你!——从“受信任的根证书”里赶走CNNIC

Twitter上惊闻“微软把CNNIC列为根证书发布者”,赶紧Google一把,发现Mozilla同样也已经在3.6版的Firefox里这么做了。

出于对CNNIC深深的不信任,我决定将CNNIC ROOT从“受信任”的列表里赶出去。

因为IE/Chrome采用微软的CA目录,而微软现在暂未将CNNIC加入,因此需要先从Firefox中导出这几个证书,再添加到Windows的“不信任”列表(更新:现在可以直接从Windows里导入再导入了,操作类似),以防范于未然。下面便是具体的步骤了(包括IE/Chrome/Firefox):

1、如果没有安装Firefox浏览器的3.6最新版,或者在下面的操作中没有找到相应的证书,可以从这里下载这三个证书,然后跳到第5步(其中CNNIC SSL非自带证书!):CNNICROOT.crt CNNICSSL.crt Entrust.netSecureServerCertificationAuthority.crt

2、打开Firefox浏览器,工具(Tools)->选项(Options)->高级(Advanced)->加密(Encryption)->查看证书(View Certificates)

Continue reading CNNIC,我不信任你!——从“受信任的根证书”里赶走CNNIC

给dabr添加多种图片上传服务

众所周知,Dabr/奶瓶腿默认的图片上传服务Twitpic在很久以前就已经惨遭杯具,为了让广大手机推友能完善体验到Twitter衍生的强大的图片功能,Felix将现在流行的数种未被墙的图片上传服务(Twic.li/Mobypicture/imgur/Img.ly/TwitSnaps/Tweetphoto)加入了Dabr的代码中。
完成后的效果应该是这样:

下面就是我的修改啦!

在common/twitter.php里找到

  'twitpic' => array(
    'security' => true,
    'callback' => 'twitter_twitpic_page',
  ),

替换成

  'picture' => array(
    'security' => true,
    'callback' => 'twitter_picture_page',
  ),

(毕竟添加了很多种图片上传服务后,菜单也不能再叫twitpic了:-) ) Continue reading 给dabr添加多种图片上传服务

最常见几种U盘病毒的简单手动清理(To新手)(Win)

照相馆、复印店、老师电脑、网吧机器、机房机器……在这些地方插过的U盘、手机,往往有很大概率“中招”。

借助杀毒软件往往较为复杂,而且很多同学发现,即使杀毒完成,手机里还是看不到目录……

这里介绍一种简单的方法进行手动查杀,在任何安装了Windows(2000/XP/Vista/7)的电脑上都可以这样操作:

  1. 开始->运行->cmd(回车)
  2. 输入<U盘盘符>:(回车)              //比如中毒的盘符是F,就输入F:,然后回车
  3. 依次输入下列命令:
attrib -r -s -h * /d /s
del autorun.inf
del *.exe
del *.vbs
del *.lnk

即可达到杀毒的效果。(懒人直接复制粘贴即可!)

QR Code Business Card