如何在 Beamer 中包含多媒体文件

如何在 Beamer 中包含多媒体文件

对未回答的问题进行快速调查问题建议,其中约 20% 的问题与包含多媒体文件(例如视频或声音文件)有关。其中许多问题与使用错误的文件类型方法(或错误的文件类型)或使用不合适的 pdf 查看器有关。也许这个问题可以帮助整理一下信息。

有多种方法可以将多媒体文件包含在,哪一个有效,哪一个无效,在很大程度上取决于您使用的 pdf 查看器和您使用的操作系统。

这个问题试图总结有关可以使用的不同包的主要信息,每个包一个答案。

本问答中涵盖的软件包:

本问答中涉及的工具/查看器:

此网站上的有用问答:

答案1

media9包裹

  • 信息可以在文档
  • 用法(2个代码示例需编译为单独的文档):
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% player (`VPlayer.swf`) and video resource (`eso50supernova.m4v`)
% embedded in the document
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass{beamer}
\usepackage{media9}

\begin{document}
\begin{frame}{embedded files}

\includemedia[
  width=0.4\linewidth,
  totalheight=0.225\linewidth,
  activate=pageopen,
  passcontext,  %show VPlayer's right-click menu
  addresource=eso50supernova.m4v,
  flashvars={
    %important: same path as in `addresource'
    source=eso50supernova.m4v
  }
]{\fbox{Click!}}{VPlayer.swf}

\end{frame}
\end{document}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% player (`VPlayer.swf`) and video resource (`eso50supernova.m4v`)
% loaded from web urls during viewing time
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass{beamer}
\usepackage{media9}

\begin{document}
\begin{frame}{remote files}

\includemedia[
  width=0.4\linewidth,
  totalheight=0.225\linewidth,
  activate=pageopen,
  passcontext,  %show VPlayer's right-click menu
  flashvars={
    source=https://cdn.eso.org/videos/medium_podcast/eso50supernova.m4v
  }
]{\fbox{Click!}}{http://mirrors.ctan.org/macros/latex/contrib/media9/players/VPlayer.swf}

\end{frame}
\end{document}
  • 文件类型

    • SWF (Flash);PRC、U3D(3D 内容,仅限本地文件)
    • MP4(h264编码)、FLV、MP3(通过可配置的媒体播放器播放),例如VPlayer.swfAPlayer.swfmedia9
    • SlideShow.swf用户提供的 SWF 应用程序可以处理的任何文件类型;例如:捆绑的幻灯片查看器media9TeX-SX 上的示例
  • 重要的提示

  • 查看者

    • Windows:Acrobat Reader、Foxit(配置)、PDF-XChange,均需要 Firefox 的 Adob​​e Flash Player 插件(不是 ActiveX 版本)
    • Linux(x86):只有过时的 Adob​​e-Reader-9.4.1 和使用VPlayer9.swf/APlayer9.swf是本地可用的,当前的 Adob​​e Reader 和 Flash 可以通过 Wine 安装(参见https://tex.stackexchange.com/a/446179/36296
    • OSX:Acrobat Reader(需要 Adob​​e Flash Player 插件)
    • 移动端:不支持

答案2

multimedia包裹

如果我们想留在宇宙中beamer,这个包multimedia是作为 beamer 的一部分而来的(尽管如此,你必须明确地用 加载它\usepackage{multimedia})。

  • 信息可以在beamer用户指南, 部分14.1.1 Including External Animation Files

  • 用法

    包含视频/音频文件的基本命令是\movie[⟨options⟩]{⟨poster text⟩}{⟨movie filename⟩},简短的 MWE 如下所示:

      \documentclass{beamer}
      \usepackage{multimedia}
    
      \begin{document}
    
      \begin{frame}
      \movie[width=8cm,height=4.5cm]{test}{eso50supernova.mov}
      \end{frame} 
    
      \end{document}
    

    .mov这将包括具有指定大小的类型的影片。test是将出现在幻灯片上的文本,如果单击该文本,将播放视频。有许多可能的选项,例如使用外部查看器、自动启动视频或显示图像作为预览,请查阅文档以了解有关它们的更多信息。

  • 文件类型

    • 苹果:.mov,...
    • Linux:'.mov'、'.flv'、'.mp4'
    • 具有外部查看器选项:外部查看器可以查看的一切
  • 重要的提示:视频文件不会嵌入.pdf文件中,如果您想从另一台计算机播放 pdf,您还必须复制电影文件。

  • 查看者

    • mac:adobe reader(您可能必须告诉 adobe reader 信任这个 .pdf)

    • linux:(okular至少在 ubuntu 18.04 LTS 和所有当前维护的 Debian 版本下),pdfpc(在 Debian 11 中针对版本 v4.5.1pre 进行了测试)

    • 不起作用:预览 (mac)、skim (mac)、TeXStudio 内部查看器 (mac)

答案3

pdfpcpdf 查看器(可选)pdfpc-commands

pdfpc以 pdf 格式的演示文稿为目标,无论该演示文稿的制作者是谁。它还支持在另一个屏幕上显示注释(请参阅这个答案),与 中添加注释的方式完美结合 beamer

  • 信息可以在pdfpc主页以及他们的github 存储库

  • 用法在他们的以电影为例他们提供了一个例子:

    \documentclass{beamer}
    
    \setbeamertemplate{navigation symbols}{} % don't use navigation tools on slides
    
    % use our .sty file for simple movie commands
    \usepackage{pdfpc-commands}
    
    
    \begin{document}
    
    % Full frame movie exmaple
    \frame{
        \frametitle{Example}
    
        Open with: \texttt{pdfpc video-example.pdf}
    
        \vspace{25pt}
    
        A full frame video using \textbf{commands from \texttt{pdfpc-commands}} is on the next slide.
    }
    
    \fullFrameMovie[loop]{apollo17.avi}{apollo17.jpg}{\copyrightText{Apollo 17, NASA}}
    
    % Inline movie example
    \frame{
        \frametitle{Example 2}
    
        A video using the \textbf{commands from \texttt{pdfpc-commands}} is on this slide.  The video is set to start at 5 seconds and end at 12 seconds.
    
        \vspace{20pt}
    
        \inlineMovie[loop&autostart&start=5&stop=12]{apollo17.avi}{apollo17.jpg}{height=0.7\textheight}
    }
    
    % Inline movie example
    \frame{
        \frametitle{Example 3}
    
        A video using the \textbf{basic syntax} is on this slide.  The video is set to start at 5 seconds and end at 12 seconds.
    
        \vspace{20pt}
    
        \href{run:apollo17.avi?autostart&loop&start=5&stop=12}{\includegraphics[height=0.7\textheight]{apollo17.jpg}}
    }
    
    \frame{
        \frametitle{Image example}
    
        An example full frame \textbf{image} is on the next slide.
    
    }
    
    % Full frame iamge example
    \fullFrameImage{a17_moon.jpg}{\copyrightText{Apollo 17, NASA}}
    
    
    
    
    \end{document}
    

    .sty文件pdfpc-commands可以在例子

  • 文件类型

    • 那些得到支持的人,例如gst-plugins-goodgst-libavmp4avi
    • gif不工作
  • 重要的提示:视频文件不会嵌入.pdf文件中,如果您想从另一台计算机播放 pdf,您还必须复制电影文件。

  • 查看者pdfpc该查看器在某些 Linux 发行版上以二进制形式提供,在 Mac 和 Windows 上提供源代码。嵌入的视频无法在其他 PDF 查看器中播放(已使用envinceTeXStudio 内部查看器 (Linux) 进行测试)。

答案4

以下是这些命令的包装器(在上面的答案之一中描述),以简化多种用途。它针对 media9 包进行了演示。但是,它可以与上述任何包一起使用。

在序言中定义一个新命令-

\newcommand{\includemovie}[3]{%
    \includemedia[%
    width=#1,height=#2,%
    activate=pagevisible,%
    deactivate=pageclose,%
    addresource=#3,%
    flashvars={%
        src=#3 % same path as in addresource!
        &autoPlay=true % default: false; if =true, automatically starts playback after activation (see option ‘activation)’
        %&loop=true % if loop=true, media is played in a loop
        %&controlBarAutoHideTimeout=0 %  time span before auto-hide
    }%
    ]{\fbox{Click!}}{StrobeMediaPlayback.swf}%
}% end of the new command

稍后使用此命令插入视频,如下所示——

\begin{frame}{multimedia}
\begin{center}%
    \includemovie{\linewidth}{.6\linewidth}{video.flv}%
\end{center}%

从个人经验来看:使用 media9 时,请使用.flv格式而不是.mp4;因为并非所有 mp4 格式的编解码器都受支持。

相关内容