Установите точное время на видео с помощью JavaScript

Установите точное время на видео с помощью JavaScript

Привет, я пытаюсь получить кнопку, чтобы установить время видео на точную точку. Код, указанный ниже, это то, что я сделал до сих пор, но он не работает. Я думаю, потому что он не может получить document.getElementById. У кого-нибудь есть идеи, как решить эту проблему?

\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

решение1

JavaScript — этонетнеобходимый.

Дополнительные кнопки управления могут быть вставлены с помощью \mediabuttonкоманды. Посмотрите вmedia9руководствоНапример.

Если вы не можете выполнить поиск по видео достаточно точно, может потребоваться перекодировать видео с большим количеством ключевых кадров.

Например, ключевой кадр на каждой секунде, с использованием ffmpegпараметров -g ...и -r ...(частота кадров), имеющих одинаковое значение:

ffmpeg -i video-in.mp4 -c:v libx264 -profile:v high -pix_fmt yuv420p -g 30 -r 30 video-out.mp4

Обновлять: Пример на оборотесо встроенным видеофайлом example-movie.mp4из пакетаmwe, перекодированный с ключевым кадром каждую секунду с использованием указанной выше командной строки.


Пример с потоковым видео:

введите описание изображения здесь

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

Связанный контент