• 我的首页
  • 星空画廊

My thought on web

Think what ? think

杂谈

QSV编码HEVC视频参数测试

2018年12月1日 by caoli5288 Leave a Comment

ffmpeg -i in.mp4 -c:v hevc_qsv -load_plugin hevc_hw -q:v 23 out.mp4
psnr average:43.003743 min:38.982468 max:49.839129

ffmpeg -i in.mp4 -c:v hevc_qsv -load_plugin hevc_hw -q:v 23 -preset slower out.mp4
psnr average:43.023055 min:39.008167 max:49.839129

ffmpeg -i in.mp4 -c:v hevc_qsv -load_plugin hevc_hw -q:v 23 -preset slower -g 300 out.mp4
psnr average:43.026342 min:38.824927 max:50.158498

ffmpeg -i in.mp4 -c:v hevc_qsv -load_plugin hevc_hw -global_quality 23 out.mp4
psnr average:43.278585 min:39.726054 max:47.547273

ffmpeg -i in.mp4 -c:v hevc_qsv -load_plugin hevc_hw -global_quality 23 -preset slower out.mp4
psnr average:43.252435 min:39.739919 max:47.547273

ffmpeg -i in.mp4 -c:v hevc_qsv -load_plugin hevc_hw -global_quality 23 -preset slower -g 300 out.mp4
psnr average:43.218860 min:39.407929 max:47.984913

可见使用-global_quality参数进行质量控制能获得更高的信噪比,但是不知为何-q 23 -preset slower时对比默认参数获得了更低的平均信噪比,intel的算法不太靠谱啊。

另,使用-g 300进行关键帧控制带来的效果也很迷,个人倾向于不进行设定保持默认参数。

Posted in: 杂谈 Tagged: ffmpeg, hevc, libmfx, mp4, qsv

FFmpeg中的几个新视频降噪滤镜

2018年11月29日 by caoli5288 Leave a Comment

不久前 FFmpeg 发布了 4.1 正式版,我看到这个版本新增了一个名为 fftdnoiz 的视频降噪滤镜。其实,从我几年前测试 FFmpeg 内置的几款视频降噪滤镜到现在,已经有很多款新降噪滤镜被加入到主分支了。

  • nlmeans
  • bm3d
  • fftdnoiz

嗯,首先要说的是这几款新插件的处理速度都比较慢,最慢的 nlmeans 在普通家用机上可能只得 1 帧左右的处理速度。据我所知 nlmeans 算法是有显卡加速版本的,不知道为什么 FFmpeg 不一同引入显卡加速版本。

降噪效果来看,这几款滤镜在默认参数下效果都很普通,可能需要比较精细的参数调整才能取得较好的效果。我相信 FFmpeg 不会把落后的代码合并进主分支,尽管如此,日常使用仍然推荐使用简单快速的 hqdn3d 滤镜。

Posted in: 杂谈 Tagged: ffmpeg

吐槽docker的overlay网络架构

2017年10月15日 by caoli5288 Leave a Comment

很蛋疼,我在上一篇博文里写到docker的overlay网络解决了以前的一些问题,但是实际上看起来它并没有解决任何问题。最值得吐槽的一点就是,端口的publish仍然是由dockerd这个用户空间daemon监听然后转发到容器内。

还是跟几年前一样在用户空间做端口转发,性能是真的差,跟这个的overhead相比什么用udp封装以太帧这种奇葩做法简直是小儿科(vxlan,带来约50%吞吐性能下降),而最严重的缺陷就是容器里不可能得到原始连接的套接字。#25526

dockerd再通过一个叫ingress网络接口把连接代理进容器的overlay网络,这个ingress网络是个特殊的用做路由的overlay网络,swarm节点和service在里面都占据ip。最大的槽点其实就在ingress里用了IPVS做loadbalancer(可以用docker service inspect看到一个service在ingress层和overlay层的virtual-ip分别是什么),那么为什么不直接在宿主机里用IPVS在内核空间做端口转发,非要在用户空间里倒腾几遍?

所以我当初一直吐槽说docker只适合拿来跑http服务器。

完全可以使用传统网桥和虚拟交换机连接容器与宿主机物理网络(或者也可以保留overlay,毕竟overlay保证了物理网络与容器网络的严格隔离),容器里面绑定每一个swarm节点对应的网桥或者overlay虚拟网卡ip作为virtaul-ip,用iproute-rule分别设置路由表做multi-gateway,然后宿主机上用IPVS直接做DNAT转发,这样实现出来行为与现在的overlay+ingress完全一样,可以做到连接任意一个swarm节点等于连接到同一个service。

——没有傻逼的用户空间端口转发,没有傻逼的获取不到原始连接套接字。

docker一直被称为devops里程碑的工具,但是从这点看出来docker的核心developer可能一点网络相关的op经验都没有。

(client_conn -> host-public-eth-> dockerd(userspace-proxy) -> ingress_network -> overlay-network(eth frame over udp) -> container)

Posted in: 杂谈 Tagged: docker

站点迁移

2017年3月30日 by caoli5288 Leave a Comment

(好像各种挂在国外的博客搬来搬去都喜欢写日志)由于目前Hostigation的VPS处于即将到期关停的状态,加上之前这家提供商出现过数次长达半天以上的服务中断,我不得不考虑换一家提供商。

目前,你可以看到的现在,博客已经搬迁到了Vultr的美国洛杉矶节点了。Vultr相对于其他提供商的优点有许多,稍微列一下就有以下几点。

  • 在全球拥有多家节点,包括亚洲
  • 自行研发的管理面板
  • 审核较为宽松,不像别家动不动冻结账户
  • 基于kvm的全虚拟化方案
  • 在满足以上条件的前提下,这家价格最低

之前也有考虑过VirMech这家,但是这家不得不说除了极低的价格(发文时洛杉矶节点正在搞活动,512M内存最低15刀一年)其他各方面条件都很次,尤其是付款页面上的“记录您的ip地址以防欺诈”提示更加是令人不舒服。

说点题外话,你可能发现了我提到Vultr是有亚洲节点的。是的,有两个节点,分别位于新加坡和日本,但是经过官方提供的下载速度测试,这两个节点的速度反而不如洛杉矶节点理想。日本节点最大下载速度只有200-300k而且极为不稳定,新加坡节点类似,但是洛杉矶节点经过缓缓爬升后速度可以稳定在1m左右,非常的漂亮。

至于为什么会这样我也不是很清楚,猜测和我国的网络出口审查有关。实际上访问Vultr的官网也是相当的慢,他家的官网位于圣荷西,理论上来说应该不至于比洛杉矶慢太多才对。

Posted in: 杂谈 Tagged: 站点

对Fedora的一点不满

2017年3月29日 by caoli5288 Leave a Comment

就在刚刚,我发现我在fedora提供的copr服务上持续构建的两个软件包失踪了。失踪的两个软件包分别是obs(一个串流软件)和libav(以及一些依赖库)。我马上翻看了一下个人邮件,在收件箱里面并没有发现任何copr服务官方(或者工作人员)发送的说明。

老实说,我的心情很郁闷,因为类似的事情在去年也发生过,而当时被删除的是ffmpeg。我以为他们的服务出现了bug,给他们发邮件,他们才答复我说是被他们删除了,原因是在平台上构建ffmpeg不符合他们的规定。

这个规定就是只允许构建自由软件。

FFmpeg是一个很复杂的软件包,他的源代码里面有自由的部分,也有非自由的部分,适用多种授权协议。我确信我放在copr服务上构建的只有其中完全自由的部分,于是我给他们回复邮件申诉,一来二去始终无法很好沟通。

“因为Fedora里面也没有ffmpeg。”

所以这次libav失踪了我一点也不感到惊奇,毕竟libav是ffmpeg的一个分支而已。但是另一边,obs软件包跟着一起消失我就真的很不解了。obs这个软件包可是完全以GPLv2开放源代码的!

我大概猜得到他们把obs也删除的理由。

“因为obs动态链接到了ffmpeg。”

真是惊奇,事实上fedora的主干上也有非自由的东西,那就是一些厂商的驱动。容得下非自由的驱动,却容不下部分自由的ffmpeg和完全自由的obs,我对fedora的价值观产生了深深的怀疑。

Posted in: 杂谈 Tagged: fedora, 自由

吐个小槽

2017年3月24日 by caoli5288 Leave a Comment

最近有在win系统里编译小东西的需求。win系统里面使用gcc的话,显然是需要一个gnu环境的。比较流行的大概是cygwin,另一边fork出来的msys反而是不怎么人气的东西。但是实际上cygwin里面gcc编译出来的win32程序有一个比较麻烦的地方,就是要依赖cygwin1.dll,而在cygwin里面使用mingw交叉编译又比较麻烦。

msys毕竟是mingw钦定的,就不会有这个麻烦。但是msys里mingw的gcc包比较没意思,还是5.3版本的,甚至低于cygwin里mingw包的5.4版本。这虽然不是一个特别老旧的版本,但是编译器肯定是越新越好不是么?

但是实际上,我在大学期间就干过在linux系统下用mingw交叉编译win32这种事,跑去看了下,fedora里面的mingw交叉编译环境gcc版本已经升上了6.3,测试源里面连7.0的预览版都有(惊了)。

/摊手 明明作为mingw钦定环境的msys版本追不上其他平台,也不知道是怎么回事。可能是win程序员都习惯了vs的渣优化,将就于最小可用性,不怎么热衷于升级编译器版本吧。

而另一边,作为fork版本与fork版本的组合,msys2/mingw-w64则非常接地气的升上了6.3版本的gcc,到底是还很年轻,还能行,不过有一点令我挺疑惑的是,msys2源里面既提供了mingw版本的gcc,也提供了native版本,默认的安装包也比较大,minimal环境,再加上交叉编译器就有将近1g的硬盘占用了,与安装个比较精简的linux里面装个mingw也差不多。

我是非常不解的,在win下面谁会需要一个与gnu环境绑定的编译器呢?也不知道他们怎么搞的。

Posted in: 杂谈 Tagged: mingw, 交叉编译

MCBBS将我帐号封禁一事总结

2015年6月3日 by caoli5288 4 Comments

事情已经过去,我无意再度引战,这里只将完整全部的关键事件罗列出来,不做任何评价。昨天我在论坛发帖举报版主只是因为气愤临时起意,但是早在今年年初的时候就发生过一系列问题。非要追根溯源,要追溯到去年寒假开始的由我的世界熊孩子吧发起的大规模爆服事件开始。

那时候,我将原本在我的这边内部使用的protect反爆服插件委托当时的插件版版主mayomi代为在MCBBS论坛发布,目的是为了扩大影响力,以尽可能保护到更多无辜的服务器。时间是去年年底。

不久,一个熊孩子吧成员声称,如果我不停止开发protect插件,将对我的服务器进行持续DDOS,该贴随后被加精置顶。当天晚上,我在我的世界吧发帖呼吁大家一起对抗爆服以及DDOS行为。时间是今年年初一月。

之后,正是同一名熊孩子吧成员,抄袭protect插件代码并植入后门发贴在MCBBS论坛,经多名其他开发者发帖举报后由时任插件版版主的mayomi进行封贴,并对其本人进行封禁处理。

当天,该名熊孩子吧成员在贴吧发帖称插件完全原创,并称将对MCBBS进行报复性DDOS。此时经朋友私聊我知道了这个事情,由于此人发布的帖子当时已被封贴,所以我并没有完整观看涉及抄袭、植入后门的插件代码,仅仅观看了由朋友传过来的代码截图,观看后确认包括少数变量名做了改动的代码在内,代码重合度达到95%,并且连一处当时不小心留下的bug都是原样照搬。

同时,流传出了MCBBS管理群内部对于抄袭插件的讨论意见,版主爱国青年称“没有损害论坛的利益”,对于熊孩子吧威胁DDOS行为,称“引导至别站发帖”引起了一批插件开发者的反感。随后插件版版主mayomi辞职,并将protect插件内容转移至别站,该插件贴事后被封。

一段时间后,mayomi将自己的发帖全部编辑成空内容。同时有很多搬运插件,原创插件也被作者编辑成空内容。

最后是昨天,在事情已经间隔了不短时间后,版主爱国青年宣布封禁mayomi,指责其擅自处理争议帖子,并煽动作者空贴,损害论坛利益。我观看他发布的公告贴之后,发现他将我的修复崩溃漏洞服务端帖子内容张贴在公告贴内,并在前后文使用了一些容易使人误导我这个帖子有问题的语句。我感觉躺枪,随后在论坛发帖举报版主爱国青年不当言论伤害开发者感情,影响MCBBS正面形象,要求其引咎辞职。

随后,在不到十钟的时间内,该举报被封贴,我本人帐号亦被永久封禁。包括该贴所有留言者,以及随后数名另开贴询问者,版主爱国青年在短短几分钟时间内永久封禁了十多人。

事情发生后,我经朋友联系到MCBBS另外一名大版主rom718,希望能够得到公正处理,在交流后,大版主承认是爱国青年处理有误,解开了对我帐号的永久封禁。陆续过了二十来分钟,所有被封禁用户,以及我发出的举报贴都被解开封禁。

同时,大版主rom718进入某服务器交流群,该群群主为我一朋友,我本人也在群内。大版主rom718耐心地回应了我们的一系列问题,承认这次大规模封禁事情,包括上一次抄袭、威胁DDOS事情,论坛管理确实存在处理上的不当。

然后,版主爱国青年发帖道歉。同时,已经被解开封禁的前插件版版主mayomi经内部讨论再次得到封禁一个月的处理。

在结束与大版主的交流后不久,我跟贴回应版主爱国青年道歉,此事基本了结,但鉴于许多人或许对这件事的前后细节不是很清楚,我作为主要当事人之一,觉得有必要对这件事作出一个总结。以上所有言论,皆有论坛,贴吧发帖记录,以及QQ聊天记录支持,为保护个人隐私不一一罗列。如有疑问欢迎查证,虽然其中一些帖子已被封删、编辑,但是多有好事者截图,查证这些并不是很困难。

Posted in: 杂谈 Tagged: 事件

评论管理员的容器时代之殇

2015年4月26日 by caoli5288 2 Comments

前日在linux.cn上看到一篇译文,文大致中点出了现在系统管理员的几点混乱局面,颇有些认同。原文链接如下:

《系统管理员的容器时代之殇》

不过我从中引出思考的却是其他东西。原博文提到了hadoop,而如今另一个风光一时的项目openstack何尝不是文中提到的囧况:

似乎就没有人知道如何从头构建一份 openstack。

这么说似乎有些言过了,但是设身处地想一下如下情景:你费尽九牛二虎之力参考手册构筑好openstack环境。你搜遍全网解决了openstack几个组件之间的协作问题。你背后冒冷汗一边苦学几门新知识一边调整openstack框架以适应公司需求。你面黄肌瘦,祈祷这次的组件更新不要引起构架的整体崩盘。

而公司给你的时间,必然不是给你三个月时间折腾一个可能根本不能用的云平台出来。于是你舌绽莲花,口出珠矶,上司终于觉得花钱购买一套商业方案似乎稳妥得多?于是便请诸如vmware之类的公司上门量体裁衣,花个百十来万的授权费,一切尘埃落定。

这里吐的槽是那些自由软件构架之复杂,依赖之繁复,耦合之松弛,以至于一绷就断。难怪就有人早有先见之明:

没有商业公司领导的自由软件项目最后都变成了高大全。

高大全并不是坏事,但是对很多东西来说并不是好事。我只是需要一个云平台而已呀,虚拟化后端是xen还是kvm对我来说没区别呀/节点之间通讯方式为什么我也要干预/同一种虚拟化后端还有这么多种实现方式?扯蛋去吧。

难怪VMware对OpenStack的评价是这么说的:

不是竞争对手,是机遇。

Posted in: 杂谈 Tagged: 互联网, 杂谈

评价某些互联网公知

2015年4月18日 by caoli5288 Leave a Comment

今天在互联网上偶然点击广告看到了这样一篇博文。观阅正文之余,顺便瞄了一眼下方一百多条评论,不觉耳目一新,此种煽动言论之前闻所未闻,想所未想,更加匪夷所思的是评论下方对博主附会之言颇多,而偶有反对之说则被人群起攻之。

郭一平:习近平曾经警告过毕福剑,不信你看
4月21日编辑: 原博文已经无法访问

这篇博文也就不说什么了,有一个很明显的逻辑漏洞:

既然把受改革开放好处而受利的那群人一棍子攻击成“三反分子”“黑五派”,那么作为改革开放导师的邓小平同志在他们眼中是不是就是反党反国家头目呢?博文里面当然没说,因为博文里面也在鼓吹神化国家领导人,说了就自相矛盾了。按照博主上纲上线的思维来看,博主是不是那么一小撮反邓顽固分子残留,是不是也因该“赶净杀绝”一下,不得而知。

博文里面还鼓吹什么“从重处理”“人民路线”,动辄上纲上线到亡国亡党的地步,此种倒行逆施言论。下方评论里面也多有“赶净杀绝”之类和其他无视文革历史教训的言论,大有再来一场“革命”的势头。新中国历史上曾经有过几场血腥的革命运动,这些功过是非在党内早有明确定论,不是随便什么人就能篡改、无视的。

毕福剑能处理到什么地步呢?酒后说了几句不怎么好听的话,以他央视主持人的职务,顶多被冷处理罢了。如果获罪,那么是不是发表此种煽动言论的博主也该获罪?换句话说,这篇博文煽动倾向这么明显,传观范围这么大,还没有封删处理,可见网络上的言论氛围还是相对自由的。

这个博主假托“郭一平”这个人的话来说事,郭一平此人有没有说过这样的话,我不得而知,但是博主本人肯定是这个意思。我不由得恶意揣测一下,假使郭一平本人没有说过这样的话,那么博主这样的言说技巧让我非常眼熟了。

这里附上郭一平此人的基本资料:郭一平,维基百科

Posted in: 杂谈 Tagged: 互联网, 杂谈

标签

c docker dynamic fedora ffmpeg hevc java libmfx linux mingw mount mp4 NAS parallel qsv rime x264 x265 ZFS 事件 互联网 交叉编译 优化 分布式 反射 性能 文件系统 杂谈 游戏 站点 网卡 网络 自由 调优 透明代理

近期文章

  • lxc安装openwrt
  • NAS 文件系统方案的选择
  • 透明代理踩坑指北
  • QSV编码HEVC视频参数测试
  • FFmpeg中的几个新视频降噪滤镜

友情链接

  • 梦之地
  • Vultr

功能

  • 登录
  • 文章RSS
  • 评论RSS
  • WordPress.org

文章归档

Copyright © 2021 My thought on web.

Omega WordPress Theme by ThemeHall