ffmpeg 命令行参数调优

文件大小 325 KB。

完整命令:

ffmpeg -y -i mv.mp4 -ss 00:02:24.000 -to 00:02:29.000 -c:v libx264 -an -crf 35 -b:v 100k -r 10 -preset slow out.mp4

如果加上音轨 -b:a 11k ,则体积上升到 350 KB。

很理想了。

免费辞典 Terminology for macOS

寻找 Terminology 终端 相关资料时,搜索结果里意外瞥见了 Terminology for OS X Dictionary。点击一看,发现竟然是著名软件 Drafts 作者搞的。根据介绍,Terminology for OS X Dictionary 基于 WordNet 语意索引。WordNet 语意索引估计不少人听说过,理论上应该能提供更多更准确的字词释义。于是不再犹豫,果断下载安装。

轻度使用两天,说下大概体验:词汇量确实比系统内置的辞典高出不少,系统辞典里找不到翻译的一些字词在 Terminology 中能找到;更重要的是,Terminology 根据语意把一堆相关的字词都显示出来,把你知道的不知道的单词连成一片,这样方便联想记忆互相理解,在不知不觉中提升词汇量。

Terminology 应该没有版权方面的顾虑。因为只是一个辞典包,毋需安装,复制到对应目录就可以在字典 app 及 QuickLook 中调用。还是借用官方截图说明一下吧:

/images/terminology_dictionary.png

补充一点:从 「for OS X」这名字也能看出来,这辞典包可能有些年头了。但 macOS 的辞典格式这么多年也没变过,所以正常使用是没有问题的。一点小瑕疵是:显示字体和内置辞典略有不同,还算可以接受吧。

Terminology for OS X Dictionary 的下载地址: https://agiletortoise.com/terminology/mac/

无题
/images/manjaro_w3m.thumbnail.png

终端里浏览网页的感觉很奇妙

在 reStructuredText 中统一管理引用链接

最近几天又尝试了下 latex, 发现 Bibliography 的理念很好。它将文档中所有资料引用统一保存到 .bib 文件中,然后在正文中以别名的形式插入。如果有需要的话,还可以自定义引用的显示格式。这大大简化了参考文献的管理和使用:平时统一维护所有的参考文献,甚至你一生中只需维护一份 .bib 文件;而写作时不必麻烦地复制粘贴,用别名就可以方便地插入参考文献。

如果要在「现代」文档处理软件中寻找对应的话,大约相当于 LibreOffice 的「Navigator」功能或者其它软件的「媒体库」功能。不同之处在于 Bibliography 针对纯文本文件而优化,不止针对单份文档还能在所有文档中依需要载入。

尽管笔者平时写博客时并不用参考资料,但插入链接是很常见的操作。而该操作还是挺麻烦的——通常需要在浏览器中输入网址,等待其打开,然后分两次粘贴网址以及网页标题到 VimR 编辑器中。如果能够使用 Bibliography 的方式管理引用链接,则插入链接会方便许多——仅需麻烦一次,则全站博客均可以别名方式引用,毋需再次打开浏览器。显然这种统一管理有利于写作时的思维连贯性。而且今后如果有额外需求,比如想知道某链接在全站被引用了多少次,直接使用 aggrep 命令搜索一下即可。

另外一个麻烦点在于:博客的站内链接显然有利于读者快速寻找相关内容并跳转浏览,比如 tags 就是站内链接优化很好的一个点。然而插入 tags 也是个比较麻烦、容易打断思路的事情。完全可以将博客内的 tags 「封装」一下,在任何文章中都可以随时快速地插入 tag。实际上,也可以不局限于 tags,一些相对固定的链接均可用相同的手法操作。

于是笔者花费了半天的时间试验了一下,发现完全可以使用 reStructuredText 的 include 指令实现类似 Bibliography 的功能,对全站所有的链接引用进行统一管理。以下将简单的介绍一下我的做法。

Read more…

数据可视化--Seaborn

No.1 Seaborn 和 Matplotlib 对比

用经典的鸢尾花的数据为例子,来对比一下 seaborn 和 matplotlib

In [42]:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns
from pandas import Series, DataFrame
In [43]:
iris = pd.read_csv('https://raw.githubusercontent.com/pydata/pandas/master/pandas/tests/data/iris.csv')
In [44]:
iris.head()
Out[44]:
SepalLength SepalWidth PetalLength PetalWidth Name
0 5.1 3.5 1.4 0.2 Iris-setosa
1 4.9 3.0 1.4 0.2 Iris-setosa
2 4.7 3.2 1.3 0.2 Iris-setosa
3 4.6 3.1 1.5 0.2 Iris-setosa
4 5.0 3.6 1.4 0.2 Iris-setosa
Contents © 2018 ashfinal - Powered by Nikola