影片信息提取 —— 我的第一个wxPython程序

我的第一个在 Boa Constructor 下写的 wxPython 程序…

基本功能:
1, 输入影片名(中文/英文, 可以不输全) 输出影片信息
2, 从资源管理器拖放mkv文件到窗口, 输出影片信息+文件信息(分辨率 片长 MD5/SHA1/ed2k链接 等等)

***ChangeLog***
20100514 0.11a
增加制作par2包功能
hash可选
卡界面的事情移到子线程,多线程操作
增加制作人选择功能
完美实现跨平台兼容(WinXP/Ubuntu x64已测试)

20100329 发布第一个版本(v0.1a)

下载请移步 http://code.google.com/p/movieinfofetch/downloads/list
Continue reading 影片信息提取 —— 我的第一个wxPython程序

释放教育网的潜能! 教育网开启IPv6完全教程

IPv6不是一个传说, 它确实地存在于这个神奇的国度. —题记

首先介绍基本的 IPv6 协议安装方法, 以及实现常用接入方法的语句:

对于Windows XP用户:

安装ipv6的语句:

对于Windows XP/2003/Vista/7用户:

禁用6to4:

设置IPv6 DNS服务器:

双栈/原生IPv6接入:
无需特别设置
ISATAP隧道设置:

固定IP设置:

Tunnel Broker设置:
访问注册账户,记下获得的ipv6地址,并启用(enable)通道
然后在本机:

其中:数字5是在执行“ipv6 ifcr v6v4 <本机IPv4地址> ” 时,系统生成的接口 index编号。
注意:Windows XP重启后上述配置参数不会保存,所以用户需要重新配置。

对于Linux用户:

ISATAP隧道设置(Ubuntu/Debian):

Tunnel Broker设置:

Continue reading 释放教育网的潜能! 教育网开启IPv6完全教程

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

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

1, 编译前准备

2, 编译安装ffmpeg

3, 编译安装x264

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输入,因此有必要对音轨进行预处理.

首先,使用

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

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

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

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

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

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

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

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