
Hace un tiempo hice esta pregunta¿Cómo incluir una película en un PDF? Instrucciones paso a paso. (Probé todo lo documentado allí y los enlaces que contiene. No puedo encontrar la combinación de herramientas para poder reproducir películas incrustadas en un visor de PDF en Linux).
Esta vez voy a ser más directo: ¿alguien, con una determinada combinación de herramientas y visor, pudo crear un PDF desde TeX con una película incrustada y reproducirlo en un visor de Linux (por ejemplo, alguna versión de Acrobat)?
En caso afirmativo, ¿qué paquete, versión tex o versión acrobat se utilizó?
EDITAR 2014
Gracias a @AlexG se han logrado grandes avances en cuanto a la inclusión de películas y en particular la reproducción en Linux. Es una lástima que Acrobat para Linux esté al final de su vida útil (no tanto para Adobe sino porque nadie está tomando el relevo de los medios integrados).
Esta edición simplemente resume una solución de trabajo que se ilustra definiendo un comando \includemove[dimensions]{moviewithoutextension}
, que produce películas que se pueden reproducir en Acrobat 9.4.1 (Linux), Acrobat para Windows y Mac y que recurre a reproductores externos (y una imagen fija) en otros visores de PDF.
Supuestos:
- Tiene una copia de jw-player 5.10 (
not 5.9 or 6.x
) en su directorio local y se llamaplayer.swf
. (de aquíhttp://developer.longtailvideo.com/trac/browser/tags/mediaplayer-5.10, documentación aquí:http://www.longtailvideo.com/support/jw5/31138/configuration-options) - Tienes
ffmpeg
la versión 2.1.4. Tienes una copia de tu película en el
mp4
formato. Cualquier película se puede convertir de esta manera.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
Una imagen de vista previa con el mismo nombre pero extensión
png
. Esto se puede lograr convirtiendo su película de esta manera y tomando una instantánea:ffmpeg -i $MYMOVIE.mp4 -ss 00:00:2.1 -f image2 -vframes 1 $MYMOVIE.png
[opcional] Una imagen PDF con el mismo nombre pero
pdf
extensión para reemplazar la vista previa PNG en caso de que el contenido Flash no esté activo.Está bien usar los paquetes
hyperref
(ymedia9
por supuesto).[para reproducción] Tienes Acrobat 9.4.1 (para reproducción en Linux) o versiones más modernas en otros sistemas.
- [para reproducción] Para otros visores de PDF: la extensión
mp4
está asociada con alguna aplicación y la película se distribuye con el PDF.
Limitaciones (de mi mala implementación, no de media9
)
- Sólo
width
y/oheight
se pueden especificar como opciones. jw-player
No se puede utilizar ningún otro reproductor (las opciones están codificadas en la definición del comando).- Asume muchos valores predeterminados con respecto al comportamiento del reproductor integrado.
- [Para respaldo] La definición intenta lo mejor que puede tener un modo de respaldo agradable para otros espectadores, y usted debe elegir (consulte el código) entre incrustar la película o tener un archivo externo.
- [Para reproducción] No sé si funciona en todos los visores, funciona al menos en Acrobat 9.4.1 (Linux) y Evince 3.10.3 (Linux). Lo vi funcionar en Acrobat X en Windows y Mac después de una confirmación de "mensaje de seguridad".
Dadas estas condiciones, el siguiente documento incluye la definición \includemovie
y resume una solución de trabajo.
\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}
(nota: puede resultarle beneficioso producir JPEG
instantáneas, PNG
que suelen ser muy grandes, a veces tan grandes como toda la película)
Respuesta1
Actualizar
A partir del 4/11/2013, el paquete media9
contiene componentes Flash del reproductor multimedia VPlayer9.swf
yAPlayer9.swf
. Son compatibles con el complemento Flash Player 9 (algo desactualizado) que viene incluido con Adobe Reader para Linux.9.4.1y se puede utilizar para producir documentos PDF con vídeo incrustado (MP4/H.264) y audio (MP3) destinados a esta versión particular de Linux de Adobe Reader.
Alternativamente, se podría utilizar cualquier reproductor multimedia basado en Flash que se encuentre en la Web y que sea compatible con Flash-9 y que pueda configurarse mediante FlashVars. (Aunque el número de estos reproductores debería estar disminuyendo con la llegada de las nuevas versiones de Flash).
NÓTESE BIEN:La reproducción de medios y flash se eliminó en los lectores más recientes. AR-9.4.1 es la última versión de Linux que admite Flash.
Adobe Reader 9.4.1 para Linux se puede descargar desde ftp://ftp.adobe.com/pub/adobe/reader/unix/9.x/9.4.1/.
Código de ejemplo usando cube.mp4
y VPlayer9.swf
del media9
paquete:
\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}
Respuesta2
ActualizarGracias a @percusse por señalar en su comentario que la respuesta original no era la que pedía el OP.
Así que busqué un poco y encontré esto.enlace. Básicamente, la solución es,
- InstalarAdobe Reader 9.4.1.
- Instálelo
flashmovie
o cópielo en su carpeta de origen (especialmente enplayer_flv_maxi.swf
) Escribe
\includepackage{hyperref}
y\includepackage{flashmovie}
en tu preámbulo. Un ambiente de trabajo mínimo sería:\documentclass{article} \includepackage{hyperref} \incldepackage{flashmovie} \begin{document} \flashmovie[width=12cm,height=8cm,engine=flv-player,auto=1]{movie.flv} \end{document}
Parece que, en Linux, sólo puedes obtener vídeos incrustados en Acrobat con la versión 9.4.1 de Acrobat. (Aún no sé por qué es así). También deberá realizar la instalación ffmpeg
para convertir sus videos aflv
Descargué el text-flv.tex
archivo de muestra del enlace. El flashmovie
funcionamiento se resume en este archivo.
Puedo verificar la afirmación de que la película no se puede reproducir en el pdf de salida en mi Adobe Reader con la versión 9.4.7. Al abrir el pdf aparece un mensaje. A 3d data parsing error has ocurred.
También puedo verificar que funciona de maravilla en Adobe Reader 9.4.1.
Por cierto, tengo la versión TeX 3.1415926-2.4-1.40.13.
Actualización: si no lo desea después de incrustarPrimero, asegúrese de haber instalado todos los paquetes necesarios para ejecutar el formato de su película. Deberá cargar el paquete movie15,
que viene con TeXLive 2012.
El manual dice que este paquete ya está obsoleto y que debería considerar usarlo movie9
en su lugar, que está en ctan
pero no en TeXLive2012.
el que usé movie15
en esta respuesta.
Pruebe el siguiente 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}
La poster
opción inserta el primer fotograma de la película. La text
opción aparece antes de que la película se cargue en su visor de PDF. 3 cm y 2 cm son el ancho y alto del fotograma y movie.mp4
es el nombre de tu película.
Ejecute pdflatex movie.tex
dónde movie.tex
está su archivo tex. Estoy usando Ubuntu 12.04 y lo uso evince 3.4
para ver el pdf. Simplemente escribe evince movie.pdf
en tu terminal. Haga clic en el fotograma para reproducir la película. La película se abrirá con su visor de películas predeterminado.
Aunque no lo he intentado movie9
.
ActualizarEsto es en respuesta al Usuario 17791. Mi comentario anterior a su respuesta fue eliminado cuando el moderador editó la pregunta. Aquí está, @Usuario17791:
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
A continuación se muestran dos instantáneas de mi escritorio con una película reproducida en Acrobat 9.4.1. (Es un video de una danza ritual aquí en la ciudad de Baguio).
Respuesta3
Estaba intentando hacer lo mismo que tú y esto me funcionó.
\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}
Y para poder ver lo que está incrustado es necesario utilizar Okular en modo presentación.
Respuesta4
Estoy usando Linux y esto me funciona:
Primero tengo que descargarlo , movie15_dvipdfmx.sty
cambiarle el nombre movie15.sty
y colocarlo en el mismo directorio que mi .tex
archivo.
Entonces:
\usepackage[dvipdfmx]{movie15}
[....]
\begin{figure}[ht]
\centering
\includemovie[inline=false,text={\includegraphics[scale=0.25]{play-movie.png}}]{}{}{movie.mp4}
\end{figure}
En Linux, puedo abrir el PDF con el visor evince
, hacer clic en la imagen y la película se reproducirá en una ventana separada.