您正在查看: 笔记 分类下的文章

Back On Track

今年九月初,恰是在学校摸爬滚打的时间,突然有一天朋友告诉我网站没了,我心想还有这等事?无非就是换了波服务器罢,实则不然,一上线发现连服务器供应商的网站都飞了。

回想起来上一次备份是在换服务器的那一阵子,离现在差不多半年了,最坏的情况便是这些日子写的东西全部打水漂。花了点时间接受这信息量巨大的事实,心里倒是没有多大波澜。

和朋友互相检查了下自己的账号,发现对方居然还可以登上服务器提供商的网站,忽然还是有点希望的。

又过了几天,官网回来了,自己也能登上去,不过主机那一栏却显示已停机,看了看公告,字里行间意思便是“我们服务器大规模停机,数据在抢救了,有没有救还得过一段时间才知道,祝你好运。”

这么离谱的事情我还是头一次见,而且还显得尤为无力,想这想那还不如忙生活去了。

后来想着这事就这么放着也不太行,总归还是得试试嘛,我向客服问了问他们有没有备份我网站的数据,一天之后收到回复说数据有备份。

ok听起来非常有盼头,然后我满怀期待等了一个多月,一点动静都没有,甚至消息都不回了,实际上他们压根没尝试过帮忙恢复。

毕竟数据才是最珍贵的,网站什么的再说吧,我问了问能不能直接把备份下来的包发我一份,他们发了两段链接来,其中一个是数据库另一个是网站本体和文件。注意在Wordpress当中文章是存放在数据库当中的,而媒体等文件放在目录下。

但是,为什么两个文件加起来体积才十几兆啊?我问了问,他们说数据库体积很小的,这个大小没问题。接着我进目录看了看,貌似他们拿错数据把别人网站的备份发给了我。

哭笑不得,向他们又要了一遍,这才发了对的备份过来。

知道内容都在手里,现在可以慢慢把网站建回来了对吧?结果就给我来了个重头戏:备份的数据库并不是sql文件,而是分开的ibd和frm文件,无法直接导入到新的服务器里面,也无法读取,一般来说sql用记事本打开是可以直接看到内容的,而上面两种文件则是乱码。

我又问了问客服,得到的答复是“有点麻烦,会尝试弄一弄。” 四舍五入就是成本太高太费时间弄不了呗。

一般来说,生活中遇到的很多问题都可以通过搜索引擎解决,想着这个应该也不例外,便尝试去搜了搜,如果说刚刚碰到的那些问题是自己知识的边界的话,下面看到的教程就完全处于知识的虚空中了。大概它讲的就是通过新建一个空包然后将里边的内容替换为需要恢复的内容再导出进行恢复。

试试又不会逝世,所以还是不抱希望地尝试了一下,第一步就卡在安装mysql上面了(BTW还是头一回体验连个软件都装的这么费力)不像很多其它软件是个单独的个体,mysql需要很多运行环境,其中就包括Visualstudio什么的连带着一大堆东西都需要安装,我还是止步于此了。

想着专业的事情让专业的来,第一时间想到的还是某宝数据恢复。一询问得知全部18个表的恢复要300R,多问几家店价格只高不低,那就只好认咯。

时间已经来到了十二月,距离网站下线已经过了三个月了,店家把恢复好的sql文件发了过来,这回是离重新上线最近的一次。

当然,一成不变的还是所有东西都得现学现用,毕竟数据库这玩意要不是这次灾难我还没怎么打交道过。

服务器下线后服务器提供商给整了个新的空服务器供使用,不同于先前的plesk和宝塔,这服务器跑的是cPanel。被迫重新摸索了一波,里面的导入sql功能没有办法读取恢复出来的文件,反而是之前自己备份的sql可以成功导入,只能另寻他法。

过了一会发现里边内嵌的数据库管理软件phpmyadmin是可以读sql的,我就先把数据库导了进去,然后下一步便是重建数据库连接。

与此同时我试了试单将目录放到服务器里然后让wordpress toolkit寻找网站,果不其然虽然网站是找到了,但是报错没有建立数据库连接。

总结下来其实还算蛮简单的,无非就是那几样东西来回转,比如弄了好几回的数据库链接,只不过刚开始的道路有些曲折,先后经历了页面403、404、后台无法访问的问题后,终于把所有门道都弄清楚了,简单来说便是网站的wp-config.php中数据库部分名称密码以及用户名等要与服务器存储的一致,然后先把目录内容放在根目录下的public_html文件夹下,接着在toolkit下新建wp页面,数据库名称密码和分配的管理员与刚刚在wp-config里写的一致,与服务器一致,接着让它创建就行了,理论上来说网站随即便可访问。

有个非常有意思的问题,我发现在网站恢复完成后后台显示无法进入,检查了一下发现之前店家恢复出来的数据包前缀是小写,而原数据包是大小写混合的,这导致表中的某些内容无法对应到当前的数据库上,其中一个影响便是用户权限不足,在修改内容为小写之后一切就恢复正常了。

403的问题纯属瞎整解决的,我先是创建了个空的站点,接着把403网站数据连带着数据库内容一起复制到了新的站点上,结果居然可以访问了,只不过当时是抱着随便试试的心态弄的,所以网站目录在好几个文件夹里面,域名也显示得不干净,就全部抹掉重来了。

站点恢复完成后,有个不致命但非常麻烦的问题出现了:cPanel的文件管理器不支持中文显示,也就是说先前添加媒体的文件名中有任何的中文都会变成乱码,而我先前是怎么给文章添加图片的呢?当然是用微信呀,所以图片的前缀都叫“微信图片xxxx”自然在网站上就无法显示了,你现在在网站上会看到很多无法加载的图片都出自这个原因。

尾巴

为了整这破事,我连续在电脑前从凌晨2点忙到了凌晨6点,时间说长不长说短不短,主要是完全没必要,如果当初有经常备份的习惯的话,也就不需要费这个钱出这个力了,亦或者服务器能提前告诉我它要挂了也行。

愿天堂不会丢数据。”

如何用小底相机拍摄出更大画幅的视觉效果

两天前无意中在网上看到了这样一个视频,讲的是如何使用全画幅拍摄出中画幅乃至更大画幅的视觉效果。

看完这视频,心中飞黄腾达。

 

这种方法叫“Brenizer Method”。

 

首先是原理,简单来说便是使用相机通过多张拼接合成的方式来“拼凑”出一个更大的感光面积,大概感觉是这样:

 

 

如图,镜头的焦距、光圈在拍摄时都没有改变,但“画幅”变大了,得到的结果是更广的视角,更大的虚化量;此时拍摄出相同主体大小的画面需要离物体更近,透视发生了改变。这不正是大画幅摄影中使用焦距为几百毫米的镜头拍摄广角画面的感觉吗?唯一与其不同的是,通过拼接的方法不受物理光学限制,镜头光圈可以比大画幅镜头大很多,从而得到更浅的前后景深。

 

借此,我们得以创造出现实中难以实现的光学结构,如等效全画幅50mm F0.5、25mm F0.5等,需要的仅仅是更长焦的小画幅设备。

 

 

如上图所示,使用2000万像素的松下G9加上小蚁42.5mm f1.8(等效全画幅85mm f3.4的视角和虚化量)拍摄21张画面拼接出了这样一张照片。

 

 

经过裁切后,依然有着超过8000万的像素量,1:1放大如图:

 

 

经过计算,要通过单次拍摄达到这样画面效果(不考虑像素量)所需要的设备参数为:全画幅,42mm镜头,光圈f1.67。

 

当然,这个例子不算极端,在光学层面还是可以实现的,不过如果拍摄时焦点距焦平面更近,且使用更大的画幅或者更长的焦段,在光圈不变的前提下确确实实可以达到更上一级的画面效果(反正器材你都有了,这样玩又不要钱,何乐而不为呢?)

 

如果你没搞懂虚化量与焦距画幅之间的转换,没关系,只需要记住,光圈以及焦段一直都是可以固定的,唯一需要你去改变的是它的“画幅大小”,这决定了它的等效焦距和等效虚化量。

 


 

目前这种拍摄方法还存在着不少局限,比如拍摄不同角度画面时产生的余弦误差和视角问题,在距离被摄物较远时还好说,要是离的太近就会出现视差带来的拼接断裂和一大堆奇奇怪怪的拼接错误。

 

但如果使用得当,就真的前途无量

log曲线的动态范围 与 曝光特性

手中的松下G9,在进行付费升级后便可得到录制V-log L的能力。

索尼佳能富士等厂商的大部分中高端无反相机,出厂即自带录制log视频的能力。

然而,log究竟改变了什么,让相机能在有限的记录空间内容纳更多信息呢?

敬请期待下一期走近科学

首先要区分的一点是,log和RAW本质的区别正如同照片里的JPEG和RAW,也就是有损记录与无损记录的区别,这也是为什么相机的log图片配置文件可以运用在直出的JPEG文件中,你甚至可以在JPEG图片上运用log后使用视频一样的后期流程编辑它。

也就是说,录制的log视频相当于非线性记录的JPEG序列,经过了去拜尔处理、亮度、锐化、对比度、压缩等后期处理。

RAW则是未经处理的原始信息,这样在后期处理的时候就具备了大量的处理空间,比如更改ISO,白平衡色温(K)等,录制ISO将锁定为原生ISO(尽管依旧可以调整),此时的曝光变化变为了EI(Exposure Index)变化,这就是为什么提高ISO能提升高光动态范围,而降低ISO提高暗部动态范围,因为ISO实际固定在了原生并未改变(有些传感器甚至拥有多原生ISO档位),实际的曝光变化完全由快门与光圈决定,提高ISO需要相应降低快门与光圈,此时通光量减少,高光部分便得到了保留(反之亦然)

一言以蔽之,log保留的是信息,RAW保留的是数据。

拍RAW真的很美好,但储存它是个很大的难题,一秒钟几百兆的原素材很快就能填满你的硬盘,因此有不少机器支持录制ProRes RAW——一种运用了更高效率压缩技术的编码格式。值得注意的是,ProRes RAW并不能算得上是真正的RAW,因为它对视频信息进行了压缩,尽管保留的可调整信息非常非常多。

扯远了,让我们回到log曲线。

我们的相机传感器是线性地记录画面信息,这在信息保有量极大的RAW中当然不成问题,但在信息丢失量极大的编码格式中,往往会损失高光部分和暗部细节。而使用log(对数函数)的方式来记录画面,便可最大限度的利用传感器的动态范围(简单来看就是更加平缓的曲线,记录更多亮度信息)

log通过将传感器能记录到的画面信息通过非线性的方式记录到普通色彩空间内,曲线因不同厂家而异,大概长这样:

V-Log L在高光处有着3.5档(红线处)的裁切,也就不适用索尼S-Log那样的向右曝光法则,因为高光80%IRE以上并没有记录任何信息,因此也不像其它10bit编码机器一样能够利用到1024级的位数,此处仅有768位,但依旧比起8bit(256位)多了两倍有余。

可以看出S-Log3的曲线比起S-Log2的曲线更为平缓,可以记录更多的高光暗部信息。

作为一种非线性的记录方式,后期也就不能仅仅通过拉饱和度对比度来还原,因为它们皆为线性调整,此举会造成色彩的偏移(撕裂)

因此便需要使用到LUT(Look Up Table),即色彩对应表来将看起来灰蒙蒙的log画面拉伸回一般的色彩空间。

题外话,因为还原log画面需要进行色彩拉伸,所以如果色深不够且log曲线平缓的话很容易在色彩渐变处产生断层,因为亮度渐变不够平滑,所以拍log最好使用10bit。

在实打实地提升了动态范围后,曝光依旧是个逃不开的话题,那么应该如何曝光来达到理论上标准画面呢?

正如之前的log曲线图上所述,S-Log2和3中18度灰在画面中的曝光值为31%和42%IRE时(波形图总高度的31%和42%),就获得了理论的标准曝光。

同理,90度白色的IRE也可以作为肤色曝光的参考,比如打开斑马线设置IRE在此区间上下,正常曝光后还原即可得到相对完美的皮肤曝光。

由于每个画面信息的占比不同,向右曝光最大的问题在于素材之间的亮度统一会更加困难,尽管不是每个厂商的log都适合向右曝光。

这并不表明向右曝光是错误的,因为理论曝光值需要参考曝光点的参与,在实际情况下有可能没有条件得到这些信息,那么可以选择按照(经验)这个曲线的曝光特性来调整到合适的曝光值。

亦或者,只是单纯地想降低噪点,后期还原压低暗部可以提高信噪比。

log视频的曝光也不是没法改变的,只不过需要进行一些转换操作来达到正常的明暗升降,流程大概如下:log转线性-调整曝光-线性转原log-log转到目标色彩空间。

Promise me, you'll never overexpose.

使用ZeroTier搭建私有虚拟局域网

出差在外,想要访问所有数据却不想背家里的十几块硬盘?

没问题,使用虚拟局域网满足你的梦想!

首先,在ZeroTier官网上注册一个账号,并下载安装ZeroTier One软件。

 ZeroTier免费版本支持最高100个设备连接到虚拟局域网,一般用户使用完全足够。

登录账号,点击右上角“Networks”-“Create a Network”创建网络。点击网络ID进行详细设定,确保“Access Control”一栏为“Private”(默认),其它默认就行。

复制网络ID到软件“Join Network”确认,不过因为访问控制设置为私有所以需要在网页上确认。

刷新网页上的网络控制页,在“Members”一栏下找到设备最左边勾选“Authorize”允许访问。

除此之外,务必要点击扳手下拉菜单把“Allow Ethernet Bridging”勾上(默认关闭),这样才能允许设备间进行桥接。

此时就能在软件“Show Networks”里看到“Status”一栏由“Access Denied”转为“OK”。

 

以上添加设备操作适用于其余需要添加的设备。


 

添加完设备后,在任意一个设备上开启ftp服务器,即可在其它连接上的设备中访问。

你甚至可以用它进行远程“本地”联机,不过ping通常在几百到上千ms,我也就没再试了。

 

 

B站更新BV号后如何继续使用you-get指令

如题

今天早上想整理一下自己的b站空间,把一些低质量的视频移除,但首先需要把这些视频给下载下来归档(先前接连掉了两块硬盘,备份全无)

正如往常一样,打开CMD 输入

you-get https://www.bilibili.com/video/BV1jx411s7hJ/

结果报错了。

想想也对,b站最近把av号全部换成了bv号,不支持也正常。

网上有很多解决方法,比如把bv号转换回av号什么的,不过我认为最好的方法就是更新you-get。

pip install --upgrade you-get

等待其更新完,一切就恢复正常了。