最棒的gif录屏:byzanz record

类Unix系统下最棒的gif录屏应用—- byzanz record 。可能大部分的人会在需要用到gif时,会先用录屏软件将需要截取的内容录成视频,然后用 ffmpeg 或者其他的应用将视频转成 gif 动画。而这样会产生几个问题: 麻烦,首先需要有录屏软件,二还得需要 ffmpeg 类似的转码工具 文件超大,我尝试过用 ffmpeg 转 gif,一般情况下转完之后的 gif 的文件都会比较大,即使是几秒钟的动画,大小可能也超出 gif 能够承受的大小,一般都会接近 10M。即使用 convert 优化,大小依然不乐观。 介绍 而现在要介 Read more ...

2016-01-01 record , gif

2015年读书记录

年初的时候定下计划 2015 年一年至少阅读 20 本书,不管是小说还是专业书,现在离 2015 结束只有短短几天时间了,就梳理一下看过的书好了,顺带检查一下是否完成了任务。可惜结果很令我伤心。满心以为今年能读 20 本书,最后满打满算也只算读了 16 本书。今年欠了 4 本的债,明年 2016 年期望自己能够看下 24 本书吧。 小说 火星救援 看完电影之后还是不过瘾,于是乎补完小说。小说比电影更加精彩,电影因为时长的原因做了很多删减和改编,看小说更能体会到那种在绝境中想要生存下去的力量。 小说摘录 地球土壤中存在着几十种不同类型的细菌 Read more ...

2015-12-29 book , reading

一个中国的缩影

很久没有看到这样反正真实中国的电影了,近两年的国产电影不是被早恋打胎的青春片,就是被各种古怪离奇的古装片,在就是无厘头的喜剧片所霸占。幸而有这样一部电影能够让2015年的国产电影画上一个稍稍圆满的句号。 剧情上,这样一部电影融入了太多真实的新闻,以至于会让人一一和某某事件联系上,人们往往说,电影往往是现实的表现。而这样一部老炮儿正是在真实这件事情上花了太多的功夫。从老北京的腔调到巷口胡同,从酒吧夜宿到马路飙车,从故友借钱到朋友援手,一件一件的小事敲打着人们的心,虽然故事发生在北京,虽然故事的主人公有着特殊的经历,可正是从这样的角度让我们看到了现代人们的 Read more ...

2015-12-29 movie , china

2015年最喜欢的十部引进片

观影风向标做了一期引进片的排名,我顺便也简单地回忆了一下。然后根据2015年引进片豆列,找出了10部我非常喜欢的引进片。 就像观影风向标中所说,每个人都有一个自己的排名,没有最终的标准答案,每个人都有自己的喜好,不需要迁就谁,喜欢就好。 王牌特工:特工学院 当之无愧的年度最佳—-王牌特工:特工学院 2015-04-19,记得这部电影上映的时候并不是很了解,只是之后听了节目并看到一些影评觉得非常值得一看,在最后快下线的时候找了很远的一家影院看了。虽然当时同去的朋友对最后脑袋放烟花的镜头颇有微词,但是依然不减这部电影的魅力,我最喜欢的几大类电影中特工片一 Read more ...

2015-12-28 movie

记一天

早晨 初雪 中午 披萨 中午 火锅 饭后 人生如此夫复何求。 Read more ...

2015-12-27 holiday

boost 学习笔记 4:智能指针 smart_ptr

对应书中第三章 内存管理,着重讲 boost 实现的智能指针,和内存池pool 等概念。众所周知,C++没有提供Java中的垃圾回收机制,因此 boost 实现智能指针用来管理内存避免一些问题。C++继承 C 高效灵活地指针,但是同样带了了很多问题: 内存泄露 memory leak 野指针 wild pointer 越界访问 access denied 虽然STL提供了 auto_ptr,但是受限太多(不能放到容器中,因为不支持拷贝构造函数和赋值),因此很少有人使用。 智能指针(smart_ptr)是Boost各组件中,应用最为广 Read more ...

2015-12-24 boost , C++

boost 学习笔记 3: date_time

date_time 日期相关的库,是 boost 中少数需要编译的库,但是实践中,在 Linker 链接器中链接 libboost_date_time.a 即可。也就是在链接时,加上 -l(boost_date_time) 参数。 头文件 使用 date_timer 需要包含以下头文件。 diedaiqi #include <boost/date_time/gregorian/gregorian.hpp> using namespace boost::gregorian; date基本使用 将时间想象成无线延伸的实数轴, Read more ...

2015-12-23 boost , C++

boost 学习笔记 2: timer

C++中操作时间的类。timer 是一个很小的库,提供简易的度量时间和进度显示的功能,可用于测试性能计时任务等大多数情况。timer 库包含三个组件, 计时器类 timer, progress_timer 和进度条指示类 progress_display。对应书中第二章内容。 timer 头文件 timer 位于boost命名空间,需要包含头文件 <boost/timer.hpp> 即: #include <boost/timer.hpp> using namespace boost; 基本方法 timer变量声明之后即 Read more ...

2015-12-22 boost , C++

FFmpeg 入门笔记

那天需要将一段视频文件转成 gif,偶遇 ffmpeg,于是就学习了一下,它真的很强大。在看资料的过程中也是挺有趣的,发现其实 kmplayer 以及国内的 QQ 影音,暴风等等,都不同程度的使用了 ffmpeg,可是根据 ffmpeg 的开源许可 LGPL,任何使用 ffmpeg 的软件都必须开源,于是乎 QQ 影音,暴风都上了 ffmpeg 的耻辱柱,如果没接触到 ffmpeg 还真不知道有这一茬,国内的黑心厂商真是拿开源社区的东西都不遵循开源协议。 下面就直接进正题吧: 几个概念 在进入 ffmpeg 入门之前有一些基本概念需要了解,我在查看 Read more ...

2015-12-21 ffmpeg , linux , media , movie , mp4 , mp3 , format , ffplay , ffprobe

boost 学习笔记 1: lexical_cast

开始接触boost是因为项目中用到C++与Python的相互调用传值,后来找到一本《boost程序库完全开发指南》感觉boost库很强大,就学了一下。所以boost学习笔记基本沿用《boost程序库完全开发指南》书中脉络。 因为C++是强类型语言,所以对于Python,perl之类的动态语言来说很麻烦的一件事情就是类型转换,虽然C中也提供了atoi(),atof()之类的函数,但是总体也还是很麻烦。幸而有了lexical_cast,他可以用来进行字符串、整数/浮点数之间的字面转换。 头文件 lexical_cast 位于boost命名空间,为了使用 Read more ...

2015-12-21 boost , C++

最近文章

  • 升级 Mastodon 从 4.1.19 至 4.2.x 记录一下 Mastodon 实例维护,为 4.1.19 升级至 4.2.x 的过程。因为之前的版本还在 4.1.x 所以先按照官方的教程升级到了 4.1.19 最新的版本,然后开始研究如何跨版本升级,之前已经成功将 Mastodon 从 V3 升级到了 V4 版本,我大致猜测应该也差不多,但是为了数据安全起见,还是做了好充分的备份。
  • 自托管的开源视频分享平台 MediaCMS MediaCMS 是一个现代化的开源的视频和媒体 CMS,使用 Django 和 React 实现。
  • 使用 pyVideoTrans 自动进行视频翻译及配音 前两天分享过一款通过 macOS 本地芯片实时生成字幕的 [[YPlayer]] 播放器,也分享过通过 [[MemoAI]] 来生成双语字幕,后来来发现了一款叫做 Fig Player 的播放器,也可以通过 Whisper 模型来生成双语字幕,但是这一些工具的底层原理基本上都是通过 OpenAI 发布的 Whisper,以及其衍生的模型来完成音频转字幕的,这一个过程叫做 Transcript,但是今天要介绍一个更加强大的工具 [[pyVideoTrans]],这一款开源,免费的项目完全实现了上述所有的产品的功能,并且更加强大。
  • 通过聆听的方式看论文 Google Illuminate Illuminate by Google 是 Google 发布的一个创新工具,将复杂的学术研究论文转变成简短的音频对话形式。
  • iPhone 重启之后照片丢失及解决方案 昨天手机选择照片的时候一直都是转圈,怎么都选不出来,索性就重启了一下手机,但是没想到的是重启完手机,我发现最近的照片全部都找不到了,8 月 31 号之后的所有照片在我的本地相册中全部找不到了,最后一张照片就是 10 多天前拍摄的了,大叫不好。