有人在 Linux 中成功播放 Acrobat 中嵌入的电影吗?

有人在 Linux 中成功播放 Acrobat 中嵌入的电影吗?

前段时间我问过这个问题如何在 PDF 中添加电影?分步说明。(我尝试了那里记录的所有内容以及其中的链接。我找不到能够在 Linux 中的 PDF 查看器中播放嵌入电影的工具组合。)

这次我要更直接一点:是否有人能够使用某种工具和查看器组合从 TeX 创建带有嵌入影片的 PDF 并在 Linux 查看器(例如某个版本的 Acrobat)中播放它?

如果是,那么使用了什么包、tex 版本、acrobat 版本?


编辑2014

感谢@AlexG,在电影的收录方面取得了巨大进步,尤其是在 Linux 中的播放。遗憾的是 Acrobat for Linux 即将结束其生命周期(对 Adob​​e 来说并非如此,而是因为没有人接手嵌入式媒体的火炬)。

这个编辑只是总结了一个工作解决方案,通过定义一个命令来说明\includemove[dimensions]{moviewithoutextension},该命令可以生成可以在 Acrobat 9.4.1(Linux)、适用于 Windows 和 Mac 的 Acrobat 中播放的电影,并且可以在其他 PDF 查看器中回退到外部播放器(和静止图片)。

假设:

  1. 您的本地目录中有一份 jw-player 5.10 ( not 5.9 or 6.x) 的副本,其名称为player.swf。(来自此处http://developer.longtailvideo.com/trac/browser/tags/mediaplayer-5.10,文档在这里:http://www.longtailvideo.com/support/jw5/31138/configuration-options
  2. 您拥有的是ffmpeg版本 2.1.4。
  3. 您有一份该格式的电影副本mp4。任何电影都可以用这种方式转换

    ffmpeg -i $MYMOVIE.vid -vf scale="trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -profile:v high -pix_fmt yuv420p -g 25 -r 25 $MYMOVIE.mp4

    ffmpeg -i $MYMOVIE.vid -qscale 0 -vcodec libx264 -x264opts keyint=25 $MYMOVE.mp4

  4. 具有相同名称但扩展名为 的预览图像png。这可以通过以这种方式转换电影并拍摄快照来实现:

    ffmpeg -i $MYMOVIE.mp4 -ss 00:00:2.1 -f image2 -vframes 1 $MYMOVIE.png

  5. pdf[可选]当 Flash 内容未激活时,使用同名但带有扩展名的 PDF 图像来替换 PNG 预览。

  6. 您可以使用这些包hyperrefmedia9当然)。

  7. [用于播放] 您拥有 Acrobat 9.4.1(用于在 Linux 中播放)或其他系统中的更新版本。

  8. [用于播放] 对于其他 PDF 查看器:扩展mp4与某些应用程序相关联,并且电影与 PDF 一起分发。

局限性(因为我的实施不当,而不是media9

  1. width和/或height可以指定为选项。
  2. 除此以外没有其他播放器jw-player可以使用(选项在命令定义中硬编码)。
  3. 它假设了很多有关嵌入式播放器行为的默认值。
  4. [对于后备] 该定义尽力为其他观众提供一个良好的后备模式,您必须在嵌入电影或拥有外部文件之间进行选择(参见代码)。
  5. [对于回放] 我不知道它是否适用于所有查看器,但至少在 Acrobat 9.4.1 (Linux) 和 Evince 3.10.3 (Linux) 中可以运行。我看到它在 Windows 和 Mac 的 Acrobat X 中经过“安全消息”确认后可以运行。

\includemovie鉴于这种条件,以下文档包括了工作解决方案的定义并对其进行了总结。

\documentclass{article}
\usepackage[noplaybutton]{media9}
\usepackage[colorlinks]{hyperref}
\usepackage{attachfile2}

\newcommand{\includemovie}[2][]{
    \includemedia[
        #1,
        activate=pageopen,transparent,
        addresource=#2.mp4,addresource=#2.png,
        flashvars={
            file=#2.mp4&image=#2.png&
            stretching=uniform&start=0&
            screencolor=white& %improves render in light backgrounds
            controlbar.position=over&controlbar.idlehide=true&
            autostart=true&repeat=always&smoothing=true
            %&bufferlength=10 % may improve repetition of short videos
        }
    ]{ % for disabled content (in most cases this is fallback)
        \begin{tabular}{ll}
            \mbox{
            %   \href{run:#2.mp4} % for not embedded fallback
                \textattachfile[color={0 0 0}]{#2.mp4} % for embedded fallback
                {\texttt{|\kern-.23em>}} % poor play button
            } & \raisebox{-\height}{\includegraphics[#1]{#2}}
        \end{tabular}
    }{player.swf}
}

\begin{document}

\includemovie[width=5cm]{MYMOVIE} %no extension!

\end{document}

(注意:制作JPEG快照可能会有所帮助,快照PNG通常非常大,有时甚至和整部电影一样大)

答案1

更新

截至 2013 年 11 月 4 日,软件包media9包含媒体播放器 Flash 组件VPlayer9.swfAPlayer9.swf。它们与 Linux 版 Adob​​e Reader 捆绑的(有些过时的)Flash Player 9 插件兼容9.4.1并且可以用于生成针对此特定 Linux 版本的 Adob​​e Reader 的嵌入视频(MP4/H.264)和音频(MP3)的 PDF 文档。

或者,可以使用网络上任何兼容 Flash-9 且可通过 FlashVars 配置的基于 Flash 的媒体播放器。(不过,随着新版 Flash 的推出,此类播放器的数量应该会减少。)

注意:较新的 Reader 中已放弃 Flash 和媒体播放功能。AR-9.4.1 是 Linux 上支持 Flash 的最后一个版本。

适用于 Linux 的 Adob​​e Reader 9.4.1 可从以下网址下载 ftp://ftp.adobe.com/pub/adobe/reader/unix/9.x/9.4.1/

cube.mp4使用包VPlayer9.swf中的示例代码media9

\documentclass{article}
\usepackage{media9}[2013/11/04]

\begin{document}

\includemedia[
  width=0.6\linewidth,height=0.6\linewidth,
  activate=pageopen,
  transparent,
  addresource=cube.mp4,
  flashvars={
    source=cube.mp4     % same path as in addresource!
   &loop=true           % loop video
   &scaleMode=letterbox % preserve aspect ratio
  }
]{}{VPlayer9.swf}

\end{document}

答案2

更新感谢@percusse 在他的评论中指出原始答案不是 OP 所要求的答案。

所以我搜索了一下,发现了这个关联基本上,解决方法是,

  1. 安装Adobe Reader 9.4.1。
  2. 将其安装flashmovie或复制到你的源文件夹(尤其是player_flv_maxi.swf
  3. \includepackage{hyperref}在你的序言中写下\includepackage{flashmovie}。最小的工作环境将是:

    \documentclass{article}
    
    \includepackage{hyperref}
    \incldepackage{flashmovie}
    
    \begin{document}
    
    \flashmovie[width=12cm,height=8cm,engine=flv-player,auto=1]{movie.flv}
    
    \end{document}
    

似乎在 Linux 中,只有 Acrobat 版本 9.4.1 才能在 Acrobat 中获取嵌入视频。(为什么会这样,我还不知道。)您还需要安装ffmpeg才能将视频转换为flv

text-flv.tex我从链接下载了示例文件。flashmovie此文件总结了其工作原理。

我可以验证该影片无法在我的 Adob​​e Reader 9.4.7 版本上输出 PDF 上播放的说法。打开 PDF 会显示一条消息,A 3d data parsing error has ocurred.我还可以验证它在 Adob​​e Reader 9.4.1 中运行良好。

顺便说一句,我有 TeX 版本 3.1415926-2.4-1.40.13。

更新:如果你不想嵌入首先,请确保您已安装运行电影格式所需的所有软件包。您需要加载随手册movie15,附带的软件包TeXLive 2012.,手册说此软件包已经过时,您应该考虑改用,但我在本回答中使用的movie9是,ctan而不是。TeXLive2012.movie15

尝试以下 MWE:

\documentclass{article}

\usepackage{hyperref}
\usepackage{movie15}

\begin{document}

    \begin{figure}[ht]
    \includemovie[poster,text={\small(Loading Video...)}]{3cm}{2cm}{movie.mp4}
    \end{figure}

\end{document}

poster选项插入电影的第一帧。该text选项在电影加载到 pdf 查看器之前出现。3cm 和 2cm 是帧的宽度和高度,movie.mp4是电影的名称。

运行您的 tex 文件pdflatex movie.tex在哪里movie.tex。我使用的是 Ubuntu 12.04,我用它evince 3.4来查看 pdf。只需evince movie.pdf在您的终端中输入。单击框架即可播放电影。电影将使用您的默认电影查看器打开。

但我还没尝试过movie9

更新这是对用户 17791 的回复。当问题被版主编辑时,我之前对他的回答的评论被删除了。下面是 @User17791 的评论:

pdfTeX 3.1415926-2.4-1.40.13 (TeX Live 2012)
kpathsea version 6.1.0
Copyright 2012 Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
There is NO warranty.  Redistribution of this software is
covered by the terms of both the pdfTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX source.
Primary author of pdfTeX: Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
Compiled with libpng 1.5.10; using libpng 1.5.10
Compiled with zlib 1.2.7; using zlib 1.2.7
Compiled with xpdf version 3.03

下面是我的桌面上的两张快照,其中正在用 Acrobat 9.4.1 播放影片。(这是巴吉奥市的一场仪式舞蹈的视频。)

在此处输入图片描述

在此处输入图片描述

答案3

我尝试做和你一样的事情,这对我很有效

\documentclass[unknownkeysallowed]{beamer}
\mode<presentation>
\usepackage{beamerthemesplit}
\usepackage{multimedia}

\begin{document} 

\begin{frame}[allowframbreaks]

\centering

\movie[height = 6cm,width = 6cm,showcontrols] {}{QuantumHallEffectExp.mp4}
\end{frame} 

\end{document} 

为了查看嵌入的内容,必须在演示模式下使用 Okular。

在此处输入图片描述

答案4

我正在使用 Linux,这对我来说很有用:

首先我必须下载movie15_dvipdfmx.sty并将其重命名为movie15.sty,然后将其放在与我的文件相同的目录中.tex

然后:

\usepackage[dvipdfmx]{movie15}
[....]

\begin{figure}[ht]
\centering
\includemovie[inline=false,text={\includegraphics[scale=0.25]{play-movie.png}}]{}{}{movie.mp4}
\end{figure}

在 Linux 中,我可以使用查看器打开 PDF evince,然后可以单击图像,影片将在单独的窗口中播放。

相关内容