
前陣子我問過這個問題如何將影片包含在 PDF 中?逐步說明。 (我嘗試了那裡記錄的所有內容以及其中的連結。我找不到能夠在 Linux 中的 PDF 檢視器中播放嵌入電影的工具組合。)
這次我會更直接:是否有人透過某種工具和檢視器的組合,能夠從 TeX 建立帶有嵌入電影的 PDF 並在 Linux 檢視器(例如某些版本的 Acrobat)中播放它?
如果,那麼使用了什麼包,tex版本,acrobat版本?
2014年編輯
感謝@AlexG,在電影的包含方面,特別是在 Linux 中的播放方面,取得了巨大的進步。遺憾的是,Acrobat for Linux 已經走到了生命的盡頭(對於 Adobe 來說並不是如此,而是因為沒有人接過嵌入式媒體的火炬)。
此編輯簡單總結了一個工作解決方案,該解決方案透過定義一個命令來說明\includemove[dimensions]{moviewithoutextension}
,該解決方案產生可以在Acrobat 9.4.1 (Linux)、Acrobat for Windows 和Mac 中播放的影片,並在以下環境中回退到外部播放器(和靜態圖片):其他 PDF 檢視器。
假設:
not 5.9 or 6.x
您的本機目錄中有 jw-player 5.10 ( ) 的副本,其名稱為player.swf
。 (從這裡http://developer.longtailvideo.com/trac/browser/tags/mediaplayer-5.10,文檔在這裡:http://www.longtailvideo.com/support/jw5/31138/configuration-options)- 您的版本是
ffmpeg
2.1.4。 您有該格式的電影副本
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
具有相同名稱但擴展名的預覽圖像
png
。這可以透過以這種方式轉換影片並拍攝快照來實現:ffmpeg -i $MYMOVIE.mp4 -ss 00:00:2.1 -f image2 -vframes 1 $MYMOVIE.png
[可選] 具有相同名稱但
pdf
擴展名的 PDF 圖像,用於在 Flash 內容不活動時替換 PNG 預覽。您可以使用這些軟體包
hyperref
(media9
當然)。[用於播放] 您在其他系統中擁有 Acrobat 9.4.1(用於在 Linux 中播放)或更新版本。
- [用於播放] 對於其他 PDF 檢視器:擴充功能
mp4
與某些應用程式關聯,並且影片與 PDF 一起分發。
限制(我的實施不佳,而不是media9
)
- 僅
width
和/或height
可以指定為選項。 jw-player
不能使用其他播放器(選項在指令定義中硬編碼)。- 它假設了許多有關嵌入式播放器行為的預設值。
- [對於後備] 此定義盡力為其他觀眾提供良好的後備模式,並且您必須在嵌入影片或擁有外部檔案之間進行選擇(請參閱程式碼)。
- [用於播放] 我不知道它是否適用於所有檢視器,它至少適用於 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.swf
和APlayer9.swf
.它們與(有些過時的)Flash Player 9 插件相容,該插件與 Linux 版 Adobe Reader 捆綁在一起9.4.1並可用於產生嵌入視訊 (MP4/H.264) 和音訊 (MP3) 的 PDF 文檔,這些文檔針對特定的 Linux 版本的 Adobe Reader。
或者,可以使用在 Web 上找到的任何與 Flash-9 相容並且可以透過 FlashVars 配置的基於 Flash 的媒體播放器。 (儘管隨著更新的 Flash 版本的出現,此類玩家的數量應該會減少。)
注意:最新的 Reader 中刪除了 Flash 和媒體播放功能。 AR-9.4.1是Linux上支援Flash的最後一個版本。
適用於 Linux 的 Adobe 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 要求的答案。
所以我做了一些搜索並發現了這個關聯。基本上,解決方法是,
- 安裝Adobe 閱讀器 9.4.1。
- 安裝
flashmovie
或將其複製到您的來源資料夾(尤其是player_flv_maxi.swf
) 在序言中寫下
\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
該文件總結了工作原理。
我可以驗證該電影無法在我的 Adobe Reader 版本 9.4.7 上的輸出 pdf 上播放的說法。開啟 pdf 會顯示一則訊息,A 3d data parsing error has ocurred.
我還可以驗證它是否像 Adobe 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
,並且可以點擊圖像並且電影將在單獨的視窗中播放。