昨天是我的生日,从1987年到今天已经21年了。
和几个同学出去小聚了一下,小聚之后去上自习 囧…
最近比较灰暗,没有太多想说的。
以上。
分类: 旧博客(WakiBlog)
2006–2013年 blog.dgwxx.com 的文章(2026年迁移)
照片两张

今年的天气实在是异常,眼见五月中旬临近,气温却一直没有上升的迹象。连续的低温导致我的咽炎又犯了,于是从前天开始不得不过起了每天三次一次n片的生活。

哈尔滨的云我从大一就开始拍了,五月四号那天又拍到了好东西。这如同水墨画般的乌云啊!不知道乌云上面有没有龙在飞呢,呵呵。
Blog静态化
今天花两个小时改了一下Blog程序,开始提供静态化的支持。
利用Apache的URL Rewrite模块,将URL静态化,有利于搜索引擎收录。
目前这个功能还在测试当中,如果出现问题欢迎大家来报告。
无聊的每一天不需要Blog
最近都没怎么写Blog了,原因是每一天实在是无聊,每一天都是昨天的重复。
话说,每年到了这个时候,笹川杯日本知识竞赛就该开始了,若干个大学组织代表队参赛,优胜的可以去日本游玩一周。五一期间我在家的时候,陆同学就发短信问我要不要参加“四川杯”,我想了想(很多意义上),最后还是说不要参加。结果前天又被动员了一次,坚决不参加。昨天是院内的“选拔”,很多同学都报名参加了。
当天下午久违地接到了李老师的电话,上来就问我“笹川杯怎么没报名”,我推说“最近比较忙,没有时间”,李老师听到之后严肃地批评了我,让我“分清主次”,说上学期有几门课“成绩很差”,应该将精力放在学习上。我曾经很认真地研究过上学期的成绩单,所有成绩我都如实告知了家里(自上大学以来一贯如此),而且我本人也不觉得有哪门成绩有“对不起谁”的感觉,可能是大家对“差”的标准不同所致吧。
其实,我对这种活动一直是敬而远之,能推给别人尽量推给别人。我知道我不是这块料,站在聚光灯地下我就双腿发抖,开个难听的玩笑,“就差失禁了”。谁是几斤几两大家心里差不多都有数,这种活动,让谁参加老师、领导心里大致也该有个七八,我还不至于明知不行还贱得凑上去自取其辱。
今天早晨的电影欣赏课上,我一进教师曹老师劈头就问我为什么没报名。那一刻我突然有些后悔没跟李老师说明白真实的原因。有些事情,真是没有办法。那个电话弄得我一下午是高兴也不是,悲伤也不是,郁闷也不是。哭笑不得了一下午,晚上维护了一下程序,写了一些php心情才好了一些。
唉……说了一些郁闷的话。
Waki-Blog v2.1 RC3 20080507
今天更新了Blog程序,主要对两个影响运行的重大错误进行了修正,并对后台进行了一些调整。
1.修正了Blog内容中出现特定字符时RSS生成失败的问题,该问题处在BBCode解析中。
2.修正了分页类的错误(这个分页类我都用了6年了,代码几乎一个字没改过……看来该抽时间重写了= =||)。
程序用的时间长了,某些部分就会“年久失修”,老代码不断堆积,疏于维护。这些代码看似正常工作,但实际上时刻处于“亚健康状态”,说不定什么时候就会出现问题让你找不到头脑。这次BBCode解析出的问题也是,BBCode解析那个函数也很长时间没动过了= =||为了找到这次问题的原因可是费了我不小的力气。
Waki-Blog的代码大概在6500行左右的规模(包含注释,但实际上我很少写注释),很多早就年久失修了|||回来真该抽时间好好整理一下,说不定能清出来不少问题。
Aviutl用输出插件x264outLite v3
【原理】
本插件利用AVS中TCPDeliver功能,在AU中创建一个虚拟服务器,向AVS输出图像,实现了x264 cli版与AU的结合。
【安装与注意事项】
将x264outLite.auo、x264outLite.ini和tools文件夹放置于aviutl.exe所在目录。tools目录下包含x264 r839,您可以前往http://x264.nl随时下载新版本x264。
使用前,请确认您已经安装了最新版本的avisynth,且avisynth默认插件目录下存在TCPDeliver.dll。
由于程序需要使用部分本地网络功能,请先确认您的网络防火墙状态,必要时请将AU加入排除列表中。
【使用】
打开aviutl,首先打开「その他」菜单中的「出力プラグイン情報」,确认插件是否正确加载。如果看到“x264outLite v2 by Dgwxx, based on x264out by pomu.”说明插件已经正确加载。
此时打开您希望输出的影片,在「ファイル」菜单的「プラグイン出力」子菜单中选择「x264outLite」,单击「ビデオ圧縮」按钮,在弹出的对话框中选择希望的预设参数(Profile)后,进行输出即可。
如果您希望在任务完成后电脑自动关闭,请选择Shut down after finish复选框。注意,当您使用AU自带的批量处理「バッチ出力」时请勿使用插件的关闭电脑功能,否则第一个任务完成之后电脑就会关闭,后续任务不会执行。
【配置文件】
您可以使用任何文本编辑器(如windows记事本)打开x264outLite.ini,修改x264参数、创建/删除预设参数。
打开配置文件之后,您会发现配置文件被前方带有半角感叹号(!)的行分割为若干个部分,每个部分都为一个组设参数,叹号后即为该预设参数的名称。
预设参数实质为批处理命令(bat),第一行普遍为
set x264OPT=…
此为指定x264的参数。
最后一行普遍为
x264.exe %x264OPT% -o “%OUT%.mp4” %AVS%
此处是执行x264压缩。实际运行时,%x264OPT%会被替换为之前指定的参数,”%OUT%.mp4″会被替换为输出文件名,%AVS%会被替换为avs临时文件的路径。
您可以在配置文件中加入注释,注释行必须以半角井号(#)开头,在执行时注释会被忽略。
除了常用的命令外,您还可以使用其他批处理命令来实现更加灵活和更加多变的功能,如自动2pass等。
【源代码】
本插件基于ぽむ的x264out v0.8修改而成。修改过程中将原作x264out的mkv封装功能、vfr功能、宽高比设定、声音处理等功能取消,简化配置文件设置,制成直接封装输出mp4文件的简化版。在今后的规划中,会在压缩设置界面中加入x264的GUI功能,不通过配置文件,直接设定压缩参数。
源代码已经包含于压缩包中,没有任何限制,您可以随意使用。
编译环境:VS2005 SP1 + SP1 Update for Vista/Windows Vista Ultimate SP1/Intel Core2 Duo T7300
【下载与反馈】
欢迎前往NMM论坛报告问题、提出建议、讨论使用心得。x264outLite的地址是:
http://www.dgwxx.com/nmmbbs/thread-626-1-1.html
【更新记录】
2008.05.02 v3
*从代码中去掉了声音处理功能。
*因为命令行窗口暂停会导致批处理功能失效,因此去掉了命令行窗口暂停的功能。
*增加了对视频宽度的判断,视频宽度必须能被4整除。
2008.05.01 v2
*从程序代码中去掉了vfr功能、宽高比设定功能。
*从配置文件中去掉了声音处理功能。
*增加了完成后自动关机功能。
2008.04.29 v1
第一版 内部测试用。
装机
昨天给老妈的同事的亲戚装了一台电脑,中端配置,只要主机。主要用途与定位浏览、聊天、股票、电影、休闲游戏。
CPU:Intel Core2 Duo E4600
内存:威刚 1GB DDR2 667 x2
主板:技嘉 P35DS3
显卡:七彩虹 逸彩8500GT-GD2 CF黄金版 256M F25
硬盘:ST 7200.10/250G/8M/SATA
光驱:ASUS DVD
机箱:TT矩阵
电源:航嘉冷静王钻石版
价格:¥3600.
以上。
影片播放过程中的YC伸张
前天我和VempX瞄准DVDRIP过程中的YV伸张与压缩进行了一些实验。今天我做了一些实验,整理了一下播放过程中YC伸张与否的规律,分享给大家。其实我有些怀疑这篇文章的意义,因为用户随便按一下显示器上的MagicSet之类的按钮,或者调节一下亮度色温对比度给图像带来的改变远远大于播放设置错误带来的误差。老实说,我在这做了半天实验带来的实际意义似乎并不是很大。
但就算这样,该做的还是要做,该写的还是要写。少点错误总比多点错误强。
本文理论浓度较低,但是实践的部分比较复杂,估计有不少人会头晕,头晕的话可以先去看结论,等回过头来再看实践部分或许就能理解了。
文章中若存在错误、不足的地方,还要您请多指教。
废话少说,现在进入理论。
理论篇
首先我们要明确,YC伸张发生且仅发生于从YUV颜色空间向RGB颜色空间进行转换的过程。明确了这点之后我们就可以减少很多不必要的猜想和迷惑。
其次,在播放过程中影响YC伸张的环节有三,一个是解码器,一个是渲染器,还有就是显卡。
有些解码器/渲染器不带有YC伸张或RGB转换功能,那最终完成YUV到RGB转换任务的或许就是显卡。
实验准备篇
为了清楚地知道播放过程中是否进行了YC伸张,必须要准备的东西还是彩条,这里称为彩条A。因为普通的彩条难以判断黑、白、红、绿、蓝的范围,所以我们用Photoshop制作一张专门用来判断颜色、亮度范围的640*480的彩条图片,保存为24bit bmp格式。彩条上半部分的颜色范围为16~240,黑白部分为16~235(601 Range)。下半部分全部为0~255(Full range),用于进行对比。
之后,使用使用以下AVS代码将bmp图片生成一个5秒钟的短片。将这个短片送入TMPGEnc压缩成MPEG2格式。压缩时,打开TMPGEnc的YC压缩选项,此时图像上部为30~217,下部为16~235。
#AVS代码1:
ImageSource ("colorbar.bmp",end=149)
AssumeFPS("ntsc_video")
播放时:
- 图像上部为30~217、下部为16~235,则没有进行YC伸张。(也就是MPEG2里面的原始数据)
- 图像上部正常回复为601 Range、下部为Full range则判断为进行了一次YC伸张。
- 如果上下全都变成了0~255的Full range,则是进行了两次YC伸张。
当然,只有第二种情况才是正确的。
除此之外,为了判断显卡/渲染器是否能够自动判断是否进行YC伸张,我们制作了另一个彩条,这里称为彩条B。彩条B的内容与彩条A完全一致,但是在送入TMPGEnc压缩成MPEG2格式时,关闭TMPGEnc的YC压缩选项,此时图像上部为16~235,下部为0~255。
播放时:
- 图像上部为16~235、下部为0~255,则没有进行YC伸张。(也就是MPEG2里面的原始数据)
- 图像上下完全相同,都是0~255,则进行了至少一次YC伸张。
只有第一种情况是正确的。
因为我在学校只有一台笔记本电脑,主板集成Intel X3100显卡,所以没办法测试其他厂商的显卡效果如何,所以在测试显卡是否做了YC伸张这个环节里,结果只代表X3100。
实验进行篇
【播放TV Scale的视频(彩条A)】(我们下载到的99%的视频都是TV Scale的)
haali’s video render(设置为tv scale,进行YC伸张)
Elecard(yuy2) 正确
ffdshow libmpeg2(yuy2 tv/pc) 正确
ffdshow libmpeg2(转换为rgb,设定为TV Scale,伸张) 正确
ffdshow libmpeg2(转换为rgb,设定为PC Scale,不伸张) 错误
haali’s video render(设置为pc scale,不进行YC伸张)
ffdshow libmpeg2(yuy2) 错误
ffdshow libmpeg2(转换为rgb,设定为TV Scale,伸张) 错误
ffdshow libmpeg2(转换为rgb,设定为PC Scale,不伸张) 正确
覆盖合成器
ffdshow libmpeg2(yv12) 正确
ffdshow libmpeg2(转换为rgb,设定为TV Scale,伸张) 正确
ffdshow libmpeg2(转换为rgb,设定为PC Scale,不伸张) 错误
VMR9无渲染
ffdshow libmpeg2(yv12) 正确
ffdshow libmpeg2(转换为rgb,设定为TV Scale,伸张) 正确
ffdshow libmpeg2(转换为rgb,设定为PC Scale,不伸张) 错误
小结:因为片源是TV Scale的,因此播放过程中需要做一次且只能做一次YC伸张。从实验结果看出,YC伸张发生并且仅发生于YUV颜色空间到RGB颜色空间的转换过程中。因此,要不在解码器这一步伸张并转换RGB,要不在渲染器中伸张转换成RGB。
当在解码器中转换为RGB时:ffdshow中,RGB变换页里的“对比度”设置会起作用。当选择“标准”的时候做YC伸张,选择“全范围”的时候不做YC伸张。渲染器收到RGB之后会跳过YC伸张步骤。
不在解码器中转换为RGB时:当解码器输出YUV颜色空间给渲染器时(haali不吃YV12,只吃YUY2和RGB的样子),部分渲染器会将其转换为RGB颜色输出给显卡。haali好像就是这样做的,haali会根据用户设置的TV range(伸张)还是PC range(不伸张)决定是否进行伸张。覆盖合成器和VMR9的资料比较少,我不知道他们是否会将颜色空间转换为RGB,但是至少从直观看来,通过覆盖合成器和VMR9之后,都经过了YC伸张,只是不知道这个伸张是显卡做的还是合成器做的。
【播放PC Scale的视频(彩条B)】
覆盖合成器
ffdshow libmpeg2(yv12) 错误
VMR9无渲染
ffdshow libmpeg2(yv12) 错误
haali’s video render(tv scale)
ffdshow libmpeg2(yuy2) 错误
haali’s video render(pc scale)
ffdshow libmpeg2(yuy2) 正确
小结:自动判断是否需要YC伸张是不可能实现的?
结论篇
主要的结论在前面的小结中已经给出。尽管不同的显卡对于图像具体的处理方式不同,我们仍然有一个方法可以在所有的显卡上显示出正确的图像:将正确的RGB颜色交给显卡就可以了(尽管可能需要较高的系统配置,但大多数标清级的视频的话P4以上的CPU应该都能胜任)。因此,ffdshow解码和haali渲染着对组合不错。ffdshow输出yuy2颜色,在haali渲染器中进行YC伸张。如果实在不知所措的话,不如干脆拿彩条试一试,看看怎么能放出正确的颜色即可。
回顾
前几天翻译完了ストレンヂア(异乡人),感觉不错,是到目前为止翻译的动画之中最满意的一部。
今天下午闲得没事,统计了一下到目前为止翻译的动画:
- 兽王星/11话/3188句/264分钟
- 八云立(OVA)/2话/900句/60分钟
- Project BLUE 地球SOS(OVA)/6话/3083句/270分钟(45分钟/话)
- 地球防卫少年/26话/5713句/624分钟
- 异乡人/剧场版动画/868句/102分钟
共计13752句台词,1320分钟。
我不是个高产的翻译,不想某只猪那样可以一天没事光蹲在那里翻译动画,呵呵。这1320分钟的动画连着放也就才22个小时,还不到一天呢……
访日照片3月30日上传
第四天的照片~地址是:http://www.dgwxx.com/gallery/13/