Stellen Sie mit Javascript die genaue Zeit für ein Video ein

Stellen Sie mit Javascript die genaue Zeit für ein Video ein

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 diemedia9Handbuchzum 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 ffmpegdie 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.mp4aus dem Paketmwe, mit einem Keyframe jede Sekunde neu codiert, indem die oben aufgeführte Befehlszeile verwendet wird.


Beispiel mit gestreamtem Video:

Bildbeschreibung hier eingeben

\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}

verwandte Informationen