
Hola, estoy intentando conseguir un botón para configurar el tiempo del vídeo en un punto preciso. El código que aparece a continuación es lo que he creado hasta ahora, pero no funciona. Creo que porque no puede obtener el documento.getElementById. ¿Alguien tiene una idea de cómo resolver esto?
\documentclass{article}
\usepackage[pdftex]{hyperref}
\usepackage[pdftex]{insdljs}
\usepackage{media9}
\begin{insDLJS}{mydljs}{some comment}
function stop(){
var vid = document.getElementById("bunny.mp4");
vid.currentTime=5;
}
\end{insDLJS}
\begin{document}
\includemedia[width=0.6\linewidth,height=0.6\linewidth,activate=pageopen,
passcontext,
transparent,
addresource=bunny.mp4,
flashvars={source=bunny.mp4}
]{}{VPlayer.swf}
\begin{Form}
\PushButton[onclick={stop();}]{5 sec}\\
\TextField[name=somefield, width=4em]{Any way to hide e.g. this text?}
\end{Form}
\end{document}ode here
Respuesta1
JavaScript esnorequerido.
Se pueden insertar botones de control adicionales con el \mediabutton
comando. Mira en elmedia9
manualpor ejemplo.
Si no puede buscar con suficiente precisión en el vídeo, puede que sea necesario volver a codificar el vídeo con una mayor cantidad de fotogramas clave.
Por ejemplo, un fotograma clave cada segundo, usando ffmpeg
opciones -g ...
y -r ...
(velocidad de fotogramas) que tienen el mismo valor:
ffmpeg -i video-in.mp4 -c:v libx264 -profile:v high -pix_fmt yuv420p -g 30 -r 30 video-out.mp4
Actualizar: Ejemplo al dorsocon archivo de vídeo incrustado example-movie.mp4
del paquetemwe
, recodificado con un fotograma clave cada segundo usando la línea de comando mencionada anteriormente.
Ejemplo con vídeo transmitido:
\documentclass{article}
\usepackage{media9}
\parindent=0pt
\begin{document}
\includemedia[
label=videoexample,
width=16em,height=9em,
activate=pageopen,
passcontext,
transparent,
flashvars={source=https://ia800501.us.archive.org/10/items/BigBuckBunny_310/big_buck_bunny_640_512kb.mp4}
]{}{VPlayer.swf}
\mediabutton[
mediacommand=videoexample:play[(25)],
mediacommand=videoexample:pause
]{\fbox{25~s}}
\mediabutton[
mediacommand=videoexample:play[(50)],
mediacommand=videoexample:pause
]{\fbox{50~s}}
\mediabutton[
mediacommand=videoexample:play[(150)],
mediacommand=videoexample:pause
]{\fbox{150~s}}
\end{document}