foobar v1弱爆了 

题目有点哗众取宠啦ww。我这个人虽然并不是不愿意接受新事物,但是新东西带来的新变化总是需要一段时间才能接受,比如我现在还在用XP就是个很好的例子。

foobar2000 1.0刚出的时候,我就有尝试过,但是后来发现了一个很难以接受的bug:每次开启foobar,他会重新关联所有文件类型。这会导致什么呢?我自己写了个软件Fixcue用来给cue转码,为了方便我添加到了右键菜单。但是如果foobar这么一重新关联,会导致foobar2000.cue这个文件类型注册表信息重写,那么我添加的右键菜单就将变成浮云。虽然今天从小熏那里了解到,只要将fb2k安装目录下的foobar2000 Shell Associations Updater.exe重命名掉即可解决这一问题,但这毕竟有点剑走偏锋…其实呢,fb2k 0.9也不是没有这个问题,但是0.9只有你打开其配置(Ctrl+P)窗口并选择文件类型选项卡时,才会重新关联,那么只要避免进行此操作即可;但是1.0这个已开启foobar就关联就没办法了。

前几天我下了小熏开发的功能类似我的Fixcue的软件ANSI2Unicode时,想试试他是否解决了这一问题。虽然从源代码上看估计是没什么希望,但是我还是下了个fb2k 1.1.2 final测试了下。结果很欣喜地发现,1.1.2已经修复了此bug。而且比0.9版更强,点击文件类型也不会重关联,只有你更改文件类型时才会。这立刻燃起了我更新fb2k版本的热情,既然如此一不做二不休,顺便把界面也美化下吧,于是找了个看起来蛮漂亮简约的monolite plus风格包。

但是事情远没有想象地顺利。先说主要的v1与v0.9之间的兼容性问题吧:主要是两个很重要的插件不兼容:foo_infobox.dll和foo_codepage_action.dll。后者是masstag里用的代码页转换(转码),前者是改tag用的一个界面。

infobox

foo_infobox是一个非常好用的tag修改插件(见上图),由当年fb2k在中国的推广者蓝色网际开发,其界面有很强的WMP/ttplayer风格,但是非常的好用。其中最神来之笔就是“下一首”“上一首”的设定,可以使你非常方便地对多首歌曲的tag进行修改。但是非常遗憾地是蓝色网际丢失了源代码,所以从vista开始该插件就有兼容性问题,而到了foobar1.0年代则由于sdk的变化彻底不能用了。也许有人会说用foobar官方的“属性”来替代,但是毫不客气地说,仅仅由于缺失“上一首”“下一首”这两个键,那玩意的实用度在infobox面前连渣都不算;如果说我可以用1分钟改好20首歌的tag(注意:这里是指那种没法批量修改的tag,比如一堆散mp3),那么用属性就得用2分钟甚至更长。因为你每编辑完一首歌就得重复关闭对话框->鼠标移动到下一首右键属性这一过程。当然,我不是否定属性的特长——如果你需要进行简易的批量修改(比如将10首歌的artist改成堀江由衣)那么显然还是属性更为方便——只是说明infobox比起属性有其无法取代的优势。顺便一提,如果你要进行比较复杂的批量标签,那么还是foo_masstag更为方便。

至于第二个codepage的问题,我相信应该会有一些替代方案,可自行放狗寻找。

而且除去这两点,monolite plus这个风格包还有两个问题:第一,不兼容汉化版foobar2000 1.1.2 final。如果使用汉化版,那么界面上的一些按钮会失效。第二点,我找不到在哪里修改字体。他似乎把字体以脚本的形式写在ELPlaylist里了……这你妹怎么改啊。

当然了,不可否认fb2k 1比起0.9还是有很多巨大的进步:比如插件的配置文件独立化这点就深得我心。但是在有foo_infobox的替代品出现之前,我估计还会坚守0.9罢……

从FTPrush 2.0发布说起 

其实这是个旧闻了。虽然刚出的那天我就知道了,但是我试用了一下发现很多bug就先暂时放到一边了。后来查了下发现8月31日就有出2.0.1,修复了很多bug,就又重新拾起来用了下。想来这么多年,一直在和各种ftp软件作斗争,正好借此机会,聊一聊它们吧。

先来谈谈FTPrush的背景。作为几乎是现在最好用的FTP客户端软件,FTPrush可是出自一位国人之手。但是他从最开始就定位在国外市场,所以连HP都是英文的。为什么呢?因为让中国人掏钱买软件简直比登天还难,同样这么干的还有MiniLyrics(倒是现在已经免费了)和MediaCoder等著名软件。不过后来不知道出于什么原因,FTPrush的作者把这软件卖给了另外一家公司。这个公司接手之后一共只发布了一个minor版本修复bug,然后居然就此沉寂了,这对于这么一个优秀的软件不得不说是一大遗憾,更让许多刚买了注册码的用户非常不满。

然而在今年8月份,网站突然发布了2.0版。2.0版最大的新闻应该是“今后完全免费”,但是也有人狐疑,这是否因为意味着这家公司将要从此抛弃这款软件呢?不管怎样,2.0版还是做出了一些改进,至于是否配得上一个大版本号,就见仁见智了。

说改进之前先聊聊原来FTPrush的优势。我用过不少主流的FTP客户端软件,从最开始的LeapFTP到CuteFTP再到FlashFXP,最后是现在的FTPrush。其实实话说,FTP协议嘛就那么多东西,无非是拼细节而已。LeapFTP给我印象最深刻的是它的默认设置断点续传居然是不会回滚的,那么基本意味着只要断点续传就一定会坏档,当初可吃了不少苦头。还有那界面不提也罢。之后用Cute,似乎是5开始吧,然后到7/8的时候他有两个问题,一个是有个目录排序的bug,会crash;还有最蛋疼的就是他的速度显示非得用bit……顺便一提,从这两个版本开始cute开始支持多线程传输。然后知道了FlashFXP这个当时几乎是最优秀的FTP软件了,确实几乎没有什么缺点,但是最大的问题是:不支持Unicode。可以说直到今天都出了4,FlashFXP对nicode还是支持不好,含有日文点的文件还是下不下来。这一巨大的硬伤让人不得不寻找其替代品,于是FTPrush腾空出世了。

FTPrush首先让人惊喜的就是布局的极大灵活性,习惯FXP界面的人只需要导入一个布局方案立刻就可以上手,菜单什么的也全部可以自定义。另外就是自动调整列宽,也是看似琐碎但非常舒服的特性。虽说和fxp一样不支持多线程传输,但是大部分时候不太用得到那个功能。然后就是对Unicode的完美支持,可以说单这一点就足以留住人了。还有一些比较方便的功能比如比较文件夹什么的。不过在快速连接这点,ftprush做的不如FlashFXP,仔细来说就是FXP可以很方便的把快速连接的站点添加到站点管理器(通过一个加号即可),而FTPrush却还要自己用鼠标把那个站点从站点连接器里的快速连接部分拖到「收藏」里面,很麻烦。同样地,FXP可以快速读取之前连接过的站点然后略加修改,这点在你打错密码或者是想换此站点另外一个账号时尤其方便,而FTPrush同样需要在站点管理器里面才能改。总而言之FTPrush把快速连接的站点和收藏做在一起,想法不错但是操作起来很费劲。

FTPrush还有最大的弱点自然就是不支持V6了。为了这个我又装了FileZilla。简介一下FileZilla:简称FZ,一款Mozilla旗下的开源FTP客户端软件。在2.x时代,我可以大言不惭地说这是我见过的最难用的FTP软件,但是在3.x年代它确实已经有了脱胎换骨的变化,至少已经在“可用”的范畴了,可以说这个软件的前景是很好的。但是它和它的前辈相比缺点依然很明显:不支持在当前文件夹里搜索(或者说过滤);不支持拖动文件出屏(意思就是说,你想把文件A拖到某个文件夹B里,但是你当前这一屏看不到B,你怎么办?答案是没有办法!请老老实实用命令行来移动!而正常的软件如果你拖到屏幕边缘是会自动滚动的)…如此种种,使得如果想用FZ对一个ftp进行整理会变的无比蛋疼。

但是用FZ让我又重新对一个古老的功能——多线程传输抱有了欲望。不是我多么需要多线程下载,而是开辟单独的线程用来下载,在下载的同时可以用原有线程继续浏览ftp这个实在是太方便了。我当时就在想,如果FTPrush能有这个功能,再加上v6的话……那就完美了。

既然说到这里了,说些我想要的ftp客户端的功能吧。
1.复制粘贴,就是指在ftp端,按下ctrl+X程序会记住现在选中的文件的路径,在另外一个路径我按下Ctrl+V时会自动实现
RNFR /a目录/123.txt
RNTO /b目录/123.txt
这样的功能。其实我明明记得FZ就有这样的功能,为何我刚试了一下却没有呢!
2.双边同站模式。解释一下什么意思。工作需要,有时候会在两边开启同一个站点的不同目录,然后进行移动工作。但是如何把左边的文件移动到右边的目录呢?直接拖就变成FXP了。只能用命令行的方式操作,实在是太不方便了。我FTPrush里写了个脚本,至少能用快捷键了,但是由于没法设变量,还是很不方便。

说了这么多有的没的,我们说回FTPrush2.0。2.0最大的改进,就是增加了多线程传输。别的都是一些小修改。但是这个版本是非常多BUG的!首先,多线程传输不能关闭,如果你尝试设置成1,那么对于限制一个线程的站点你还是悲剧——因为你浏览就占用了一个线程,但是ftprush并不会把它结束掉。其次,也是最大的问题,就是不能对不同站点设置不同的限制。按理说原来ftprush就可以设定不同站点的下载/上传线程数(只是那时候不能多线程,你要真要多线程得开多个标签页……),现在却反而取消了!?真让人怀疑新团队的技术力。另外还有很奇怪的退出报错bug。

但是在31日的2.0.1版中,一、三这两个我提出的问题都解决了,表扬一下。但是!最重要的第二个却还是没有!这到底在想什么啊锤地。所以我只好暂时装了俩版本的FTPrush,一个专门用来多线程… Anyway,希望这软件越来越好,如果能增加V6支持就再完美不过了。

最后,说一些FTPrush使用上的tips,给还不知道的童鞋看,大部分抄袭自官网论坛…
1.最有用的:虽然FTPrush是个绿色软件但是他很傻比的把“配置文件所在的位置”这个关键参数是写在注册表的!这使得他的绿色完全成为了一个笑话。不过解决很简单,在ftprush.exe同目录建立文件ftprush.ini,内书

[LICENSE]
PortableData=1


就可以将配置文件保存在同目录下了;
2.站点连接器里按着Ctrl键点是直接连接该站点而不是进入站点设置;而按着Shift键点击,则会在用户名前加!登录(这个有什么用?在很多FTP服务器系统!username都可以用来把自己的其他线程踢掉,在卡线程时非常有用);
3.两边都是FTP模式时,shift点击书签会在两边打开同一个书签;
4.两边都是FTP模式时,shift点击一个目录会同时在两边打开同样的目录(吐槽:原来一直以为ftprush没有同步文件夹功能……原来是这样!);
5.双击队列区域和log区域会使他们暂时最大化便于观看;
6.双击本地区域/远程区域的标题栏会使他们暂时最大化便于观看(这个和上面那个是相对的…不过我想吐槽,我原来都已经把标题栏隐藏了(因为实在没什么用),现在为了这个功能又调出来了囧)。你也可以用快捷键(默认是Ctrl+Enter)完成这一任务;
7.远程窗口右键单击向上按钮会回到根目录;
8.远程窗口右键单击书签按钮会回到站点管理器里设定的初始路径(如果没有专门设置过就是根目录咯);
9.本体窗口右键单击向上按钮会回到我的电脑;
10.本体窗口右键单击书签按钮会回到默认路径。

P.S. 除了FTPrush和FZ,文中提到的其他FTP软件都已经多年未使用,其细节记不清了都,以后的更新版本是否有对我提出的问题做出改动我也不得而知,有说错的地方请见谅。

这个v6代理真的很好用 

强烈推荐给广大能用v6的同学们。无脑翻墙。

他的地址是:
一号机:edu6.zzzcn.info 端口:2012
二号机:edu.zzzcn.info 端口:2012

二号机是后开的。但是我觉得还是一号机略快一点,差别不大就是了。将这两个东西设置成代理服务器就好了,不会别找我。

推荐使用Firefox的一些有支持代理负责解析dns功能的扩展来使用它,比如Froxyproxy(虽然这是一款现在已经不太让我满意的扩展,比如他有一个bug居然一个月都没有解决了)。否则你上某些网站比如youtube,还是需要改hosts等非常规手段。

于是本blog从今天起宣告复活。

视频压制技巧点滴 (不断更新) 

唉看到了FC2那篇所谓的教你如何翻墙文章,真是淡淡的忧伤啊……orz
那么为了表示支持,还是继续发博文罢。

这几天由于在压樱花祭的视频,所以又重新开始研究压制相关的一些东西。我发现有些东西虽然当时看过了很简单,但是如果不常见练习很快就忘,即使将相关网页加成书签,以后找起来也挺麻烦;不如专门建立一个像这样的「剪贴簿」,把一些技巧收集起来。

需要声明的是这帖子完全是小白向,所以其中不免会有一些错误、不合理的想法和做法,如果有人阅读后能帮忙指正或者提出改进意见,那实在是感激不过。

1 处理视频前是否一定需要做demux?

我原来其实只压过DVD,所以一切步骤都是按照MeWiki上那篇简易dvdrip教程来的。里面提到了要用DG creator先把音轨demux出来,同时再用那个d2v/dga的索引文件制作AVS(提示:如果看一些比较老的教程里可能不是叫DG Creator,因为原来有两个DGIndex和DGindexNV或DGAVCIndex是分开的,现在新版megui都合并到一起了)。

但是我们现在在AVS里面Source可以选成DSS(DirectShowSource),那么是否还一定要有这一步呢?我只能说不知道。但是理论上来说,还是应该先demux音频←其实这不是关键,关键是那个索引文件,对视频接下来的读取和压制都会有引导作用。

但是有些时候,会发现有的视频用DG Creator搞不定,表现为Process开始后根本干读秒不干活(我这次压制的这一批MTS有1/3会出现这种现象,而且更诡异的是我在网上搜有人说DG Creator根本不支持MTS呢= = 可能又是新版GJ了?),那就只能在AVS里用DSSource了,效果么也没看出什么区别(吐舌头),不过如果要挂滤镜比如反交错可能会有问题,参见下节。另外如果这种情况下你需要自己手动分离音频出来(因为这音频本身就只是256kbps aac 我就抠出来直接封装了没有重压。如果需要重压,那么估计不用抠出来直接用megui读取那个mts当input大概就行),工具么megui自带的eac3to(在Tools里叫HD Streams Extractor)就OK。

最后两道思考题,主要是我也没搞懂的部分。

1.1 d2v和dga的区别?
我个人觉得可能一个是mpeg2,一个是avc?……

1.2 我在分离我这批DV录下来的视频时,发现DG Cretor分离出来的音频自动帮我加上了-80ms的delay(写在文件名上,之后不管是封装还是重编码megui都会自动读取代进去的)。那么问题来了:我用DDS压制的视频,和音频合并时,是否需要手动加上这-80ms delay(因为这是我手动分离出来的音频)?首先提示下这个音频和DG Creator分离出来的是完全一样的我算过Hash;但是问题在于如果用DSSource,说不定视频那边已经包含了+80ms?幸亏只是80ms这么微小的差别,我最后还是决定手加了,如果大了我就纠结了……

2 如何反交错

反交错不是什么难题,应该说是压制视频必备的技术。我之前倒是一直没压过隔行视频,以为只要靠megui的analyze就OK了。结果实际操作起来不是那么回事。我一开始是用的DDSource,analyze也很正常也帮我选了几个参数我就开压了,结果出来就是各种残影(残影和拉丝,是反交错失败两种经典表现……)。换了AVCSource后直接分析失败OTL。既然这样那么还是自己手选吧…隔行,Field Order随便选了反正没啥区别我就用了默认的-1(Various Field),但是看到那一坨滤镜我又傻眼了。虽说对于新手随便选个好用的就随便了,但是完美主义作怪我又纠结了…去找了个CHD压制组的问他们一般用什么,答曰FFDshow里的ffmpeg Deinterlacing。于是我就用之…结果发现一个问题,AVS如果是DDSource,就可以调用到FFDshow,但是如果是AVCSource就不行。汗…那么还是从AVS级入手吧,随便挑了几个发现肉眼眯着看(喂)区别不大,就选了传说最快的Yadif了。唔效果上倒也没什么大问题…只是我想吐槽这算快的么,压起来也只有14fps…………(x264配置:unrestricted 1pass cqf 22)

3 压制Acfun用视频

这部分没什么技术含量,都是应用上的活。

我本来想随便传个让sina二丫去,结果发现1是质量实在太惨;2是acfun在投稿出恐吓我说被2压的视频很有可能通不过审核blabla,我赶紧删了返工去了。去某avfun技术blog本来以为现在还是vp6的天下,才知道现在新浪已经修复了那个bug,现在必须用其他的bug(喂,新浪你好惨..),比如封装h.263文件头,比如黑屏补丁拉低平均码率啥的。不过喜讯是最近开始新浪不会再无条件二压h.264视频了,只要码率合乎规范(<524kbps)长度没超过6-7min就行了,既然我也不追求什么超高画质,那么就自己压个500出头的传上去就OK了。

如果你也用MediaCoder,那么直接参照这文章即可。不过我是megui的干活,就不那么傻瓜了。先写avs,sina的分辨率是512x384,宽屏的话需要加黑边补够,否则让性浪给你加?那是二丫没商量。加黑边的语法是
Lanczos4Resize(512,288) # Lanczos4 (Sharp)
Addborders(0,48,0,48)
第二位=第四位=(384-你的视频实际高)/2。

x264 profile选2pass的,比如自带的HQ balanced啥的都行,码率选440kbps吧,音频还要留至少64吧…
音频选Nero AAC LC或HE 64kbps。
全部压好了之后封装成mp4,然后发现megui似乎无法封装flv?难道为了封装专门下个MC?太累了吧。查了下MC也是用ffmpeg封装的,那么你只需要自己下个ffmpeg(提示:megui的tools就有),然后命令行(可以写成bat以后好用)
ffmpeg -vcodec copy -acodec copy -i 1.mp4 -f flv 1.flv
就可以将同目录下的1.mp4封成flv了,很快只需要几秒。

OK接下来就可以传渣狼了——测试Ok。

庆祝fc2复活兼上篇「Firefox 3.6的几个小问题」的后记 

没隔太久fc2就能再访问了,真好。

那么废话不多少,我们继续来谈论上期的话题。上次我把那问题捅到一个firefox的社区后发现没人鸟我,遂又发到了Bugzilla。没想到上面还真有人和我一样发现了这个问题——Bug 550750

其实,这个所谓「bug」的发生是来源于一个Smart Bookmarks的隐形参数——redirectsMode。这个参数的意义很简单,就是是否统计跳转页。比如我访问google.cn,那么他会跳转到google.co.hk——虽然我确实访问了google.cn,但是他最终还是会指向google.co.hk的。那么如果如果把这种中间跳转页也给计算在内的话,会给用户体验带来一些问题。毕竟大部分时候用户只是想到达最后那个页面而已。所以在3.6以来,Firefox将默认的MostVisted这个smart bookmarks略作修改,增加了redirectsMode=1这一参数,而从此忽略了上面提到的那种跳转页。

但是须知,这个跳转的判断是有很多问题的。很多网站其实都某种意义上已经泛用了这个概念,比如一个论坛,你登录了和没登录会看到不同的页面,他有时候会经过一次url不变的跳转来读取你的cookie,从而帮你自动刷到那个登录后的界面。所以这就在判定上造成很大困难——比如我常去的萌妹的post页面,就存在这种隐形跳转来读取是否有新的comments和thread(如果有会粗体显示),结果就被Firefox认成中间跳转页面而予以排除了。通过这个Bugzilla的帖子可以看到很多人遇到和我一样的困扰。

至于上贴提到过在管理界面看两者并没有不同这点,则确实是一个bug。

至于解决办法自然就是自己建立一个,加个redirectsMode=0或者干脆不写就行了。我上帖似乎没有提到过我后来遇到的一个问题——默认的删不掉,每次重启都会出现;要解决这个问题,进入about:config,将「browser.places.smartBookmarksVersion」的值设置为未设置就可以了。(这个设置的用处就是如果你误删了那些SmartBookmarks而又想恢复,就将他设置一个数值就会在重启的时候恢复了,顺便一提不但会阻止你删除 连位置也不能很随意的挪动,orz)。