Latex生成内嵌视频的PDF

之前去Magdeberg时和人谈起Latex排版和开源软件的话题。一般物理和数学工作者多用开源软件,因此Linux的使用要多过Windows。不过还是有功能Linux下要么实现得效果不好,要么就是很麻烦。用beamer生成PDF中嵌入视频就是一例。当时我还没有用过beamer,更不知道PDF可以嵌入视频。最近准备答辩,决定用beamer来做幻灯片。一方面是可以直接使用Latex编写的论文内容,另一方面也是为了以后重复使用方便,而且我手里的这台ideapad运行Libre Impress都有点慢,更不用说PowerPoint了。用beamer的过程中了解到了视频的嵌入方法。

Latex有movie15这个包提供多媒体环境。这个包实际上只是提供一个链接框框,播放需要外部程序。media9是较新的包,采用了Adobe reader新集成的flash播放器。另外还有一个flashmovie包。感觉media9播放mp4效果不如flashmovie。如今flashmovie已经收入TexLive的仓库里了,语法可参看该包的说明,很简便。于是我改变初衷,制作了几个视频嵌入。记下备忘。

上面的视频是用Povray渲染的一串图片。flashmovie只接受swf、flv和mp4三种视频格式。swf循环播放,后两者可以暂停和拖动。具体可读说明档。avconv可以用来做视频格式的转换。本例中,

avconv -f image2 -i filename%02d.png -r 24 outputfile.mp4

-f用来指定输入文件的格式,例子中是一串图片,即image2。-i 用来指定输入文件的名字,%02d是两位整数,位数不足补零。目前这个选项很死板,序列起始如果不是0或1就不行。-r 指定输出文件的帧率。程序会根据输出文件的扩展名判断编码参数,当然也可以自行指定。把生成的文件作为参数交给flashmovie就行了。

flashmovie的视频框默认左对齐,并且不接受如\centering这类的排版命令。可以通过\makebox、minipage或者column等环境来排版。最后就是编译后的观看部分了。Windows下只要是Adobe Reader 9以上的版本都可以。我用Ubuntu 12.04仓库里的9.5.x却不行。用官方的9.4.1却可以,原因未知。大概只要是官方版就可以吧。没有测试,能用就行了。

顺带一提,wordpress.com不开放java和flash代码,即使embeded代码也要改成gigya的短代码。

Advertisements
  1. 留下评论

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: