DJI运动相机拍摄的视频体积都比较大, 查了一下因为encoding是H264, 如果改成H265的话压缩率会高很多.

转换的命令是: (ref. stackoverflow)

ffmpeg -i input.mp4 -c:v libx265 -vtag hvc1 output.mp4

加上-qscale 0可以保持quality (不过好像对h265不管用? ref. stackoverflow)

保留metadata

视频的metadata里有拍摄时间之类的内容, 可以用-movflags use_metadata_tags 或者-map_metadata 0将其保存下来 (ref: stackexchange)

要查看一个视频文件的metadata的话:

$ sudo apt-get install mediainfo
$ mediainfo foo.mp4 > info.txt

例子:

$ time ffmpeg -i input ...

当年装mint 17.1的时候心想我的电脑有4GB内存怎么可能不够用, 于是果断没有分一个swap分区, 呵呵...

然后就看到chrome这几年来吃内存越来越严重, 导致我开多几个标签页再开eclipse的话电脑就很有可能直接卡死... 郁闷啊 ! 于是决定给系统增加一个swap分区. 之前给thealternative写邮件询问这件事, Sandro Kalbermatter同学热情回复了我告诉我怎么做, 按照他说的果然成功了, 特此一记.

step1. 建立swap分区

首先, 用gparted调整磁盘分区, 缩小一个磁盘的大小, 然后用空出来的空间新建一个swap分区.

关于swap分区应该多大, 根据这个帖子, 大约是内存的2-3倍, 不过我只是分了和内存一样大的4G空间, 感觉这样应该够用了(吧).

我是把存放文件的500G分区缩小, 这个过程会比较慢, 大概二十多分钟以后才结束:

step2. 编辑fstab

建立好了swap分区以后, 打开终端, 输入sudo blkid查看所有的磁盘分区.

$ sudo blkid   
/dev/sda1: LABEL="FILES" UUID="ddefc0a7-30a1-42fb-a71a-0aebb55cb0b3" TYPE="ext2 ...

压缩pdf

convert 只简单指定resize好像不太好使:

convert -resize 50% input.pdf out.pdf

gs(http://blog.sciencenet.cn/blog-467089-773990.html):

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=out.pdf input.pdf

后来发现老是compress以后的结果不好, 看到这篇帖子发现convert有好多选项. 最后实验下来这样convert的效果很好, 既能压缩文件, 又保证了压缩后还足够清楚:

convert -density 200 -compress jpeg input.pdf ...

前一阵遇到的三个小功能, linux下有简单的命令可以实现...

多张图片合并为pdf

这个在网上搜一般找到的结果是:

convert *.jpg xx.pdf

但是这么做的问题是, 运行起来超级慢, 电脑直接卡死!!!

[2020-update]

pdfjoin已经没有了, 现在发现用img2pdf非常方便:

$ sudo apt install img2pdf
$ img2pdf $(ls . | sort -n) -o out.pdf

[以下为原始内容]

后来看了这里, 知道了可以用pdfjam来做. 先要安装pdfjam, 然后:

先将所有jpg文件重命名为pdf:

rename 's/\.jpg$/\.pdf/' *.jpg

合成刚重命名的pdf文件为一份:

pdfjoin $(ls *.pdf|sort -n) --outfile xx.pdf

后来看到pdfjam其实是在用latex, 想到其实也可以先自动生成一个tex文件然后再调用tex生成pdf ...