media9:嵌入影片中的伪影和循环不一致

media9:嵌入影片中的伪影和循环不一致

我确实在连续播放电影方面遇到了麻烦,而且我不确定我的工作流程哪里出了问题。

通常期望的行为:

  • 一张幻灯片,上面是第一帧电影的静止画面。我会告诉观众可以期待什么。
  • 我与演示者点击后,影片开始播放,然后循环播放,直到我转到下一张幻灯片

为了实现这一点,我手动拍摄第一帧的快照,并将其放在一张幻灯片上,然后再次构建同一张幻灯片,但使用电影而不是快照和选项autoplay = true。我知道这并不好看,但我无法让电影始终在鼠标单击时开始播放,而通过这种工作流程,我大多数时候都能获得所需的行为。

尽管如此,我仍然无法循环播放电影。有时,电影只是不会循环但一次播放后就会停止。有时,电影会循环播放,但会很重第二次运行的产物。多次编译同一个文档会产生不同的行为。这确实是一个大问题,因为我甚至不能相信我制作的电影会继续工作,每次编译后我都必须检查每一部电影,这当然非常累人。

我发现很多不同的电影都存在同样的问题,不仅仅是这一部。最常见的问题是电影变成绿色色调,但我还看到了粉色、红色和黄色条纹 - 或者有时是红色字母拼写所包含的 .tex 文件的文件名 - 我怀疑这不是电影本身的问题,而更像是 pdftex 问题。

源代码、pdf、电影文件和工件的屏幕截图在这里: https://cloud.mpi-cbg.de/index.php/s/wqZ2Xx3kmI17XZZ 当我在我的系统上播放 pdf 时,它会循环播放,但在第二次运行中会出现瑕疵。

示例影片从此处下载:https://www.youtube.com/watch?v=ytqJjpdsNi8 然后使用“Handbrake”工具转换为 h.264(我认为它本质上是 ffmpeg 编解码器的 GUI 前端)

  • Mac OS X 10.11.6
  • TeX Live 2016
  • 媒体9 0.76
  • Adobe Reader 15.23.20056.213124(我知道它有点旧,但每次我更新 Adob​​e Reader 时,视频中的其他内容就会崩溃)

会议讨论在周一进行,因此任何帮助受到高度赞赏......

\documentclass[usenames,dvipsnames]{beamer}

\usepackage[english]{babel} % English spell check
\usepackage[utf8x]{inputenc} % utf8 support, also \usepackage[utf8x]{inputenc}
\usepackage{graphicx} % for graphics, subfigures etc., option pdftex is needed for incorporation of .pdf files
\usepackage{media9}
\usepackage{tikz}

\beamertemplatenavigationsymbolsempty % Turn off navigation bar at the bottom

\mode<presentation>{
    \usetheme{Warsaw}   
    \usecolortheme{seagull}
}

\begin{document}
\begin{frame}{Optical projection tomography on fixed samples}\begin{center}
        \vspace*{-1mm}\includegraphics[width=12cm, height=8.2cm]{Mouse.png}
\end{center}\end{frame}
\addtocounter{framenumber}{-1}
\begin{frame}{Optical projection tomography on fixed samples}\begin{center}
    \vspace*{-1mm}\includemedia[activate=pageopen,deactivate=pageclose,width=12cm, height=8.2cm,addresource=Mouse.mp4,
    flashvars={src=Mouse.mp4 &playbutton=none &loop=true &autoPlay=true}]{\includegraphics{Mouse.png}}{StrobeMediaPlayback.swf}
\end{center}\end{frame}
\end{document}

答案1

playbutton不是播放器 (Strobe) 的 Flash 变量,而是一个选项\includemedia

代码按照 OP 的要求,在“演示者模式”下生成文档,用于无法使用鼠标的情况。静态图像位于视频之前的幻灯片上。当传递到包含视频的幻灯片时,视频会被加载并自动启动。示例使用的是普通模式,VPlayer.swf而不是 Strobe 模式。

如果可以使用鼠标,可以按如下方式控制播放:在正在播放的视频上按下鼠标按钮即可暂停。如果需要,可以向观众提供进一步的解释。松开鼠标按钮即可继续播放。


编码的视频(顺便说一下,媒体编码器的名字handbrake有点奇怪)循环播放效果不佳。可以通过使用以下命令重新编码来修复此问题ffmpeg

ffmpeg -i Mouse.mp4 -vf scale="trunc(iw/2)*2:trunc(ih/2)*2" -c:a copy -c:v libx264 -profile:v high -pix_fmt yuv420p -g 30 -r 30 Mouse1.mp4

\documentclass[usenames,dvipsnames]{beamer}

\usepackage[english]{babel} % English spell check
\usepackage[utf8x]{inputenc} % utf8 support
%\usepackage{graphicx} % for graphics, subfigures etc., option pdftex is needed for incorporation of .pdf files
\usepackage{media9}
\usepackage{tikz}

\beamertemplatenavigationsymbolsempty % Turn off navigation bar at the bottom

\mode<presentation>{
  \usetheme{Warsaw}    
  \usecolortheme{seagull}
}

\begin{document}

\begin{frame}{Optical projection tomography on fixed samples}
  \begin{center}
  \only<1>{\includegraphics[width=0.8\linewidth]{Mouse.png}}
  \only<2>{\includemedia[
    width=0.8\linewidth,
    playbutton=none,
    activate=pageopen,
    addresource=Mouse1.mp4,
    passcontext, %enable right-click menu 
    flashvars={
      source=Mouse1.mp4&
      loop=true&
      autoPlay=true
    }
  ]{\includegraphics{Mouse.png}}{VPlayer9.swf}}
  \end{center}
\end{frame}

\end{document}

相关内容