
Hallo, ich versuche, eine Schaltfläche zu erstellen, mit der die Videozeit auf einen genauen Zeitpunkt eingestellt werden kann. Der unten aufgeführte Code ist das, was ich bisher erstellt habe, aber er funktioniert nicht. Ich denke, weil er document.getElementById nicht abrufen kann. Hat jemand eine Idee, wie man das Problem lösen kann?
\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
Antwort1
JavaScript istnichterforderlich.
Mit dem Befehl können weitere Bedienknöpfe eingefügt werden \mediabutton
. Schauen Sie in diemedia9
Handbuchzum Beispiel.
Wenn Sie nicht präzise genug im Video suchen können, kann es erforderlich sein, das Video mit einer höheren Anzahl von Schlüsselbildern neu zu kodieren.
Beispielsweise ein Keyframe pro Sekunde, wobei ffmpeg
die Optionen -g ...
und -r ...
(Framerate) den gleichen Wert haben:
ffmpeg -i video-in.mp4 -c:v libx264 -profile:v high -pix_fmt yuv420p -g 30 -r 30 video-out.mp4
Aktualisieren: Beispiel auf Overleafmit eingebetteter Videodatei example-movie.mp4
aus dem Paketmwe
, mit einem Keyframe jede Sekunde neu codiert, indem die oben aufgeführte Befehlszeile verwendet wird.
Beispiel mit gestreamtem Video:
\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}