자바스크립트를 사용하여 동영상의 정확한 시간 설정

자바스크립트를 사용하여 동영상의 정확한 시간 설정

안녕하세요. 저는 비디오 시간을 정확한 지점으로 설정하는 버튼을 얻으려고 합니다. 아래 나열된 코드는 지금까지 내가 만든 것이지만 작동하지 않습니다. 내 생각엔 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

자바스크립트는~ 아니다필수의.

명령 을 사용하여 추가 제어 버튼을 삽입할 수 있습니다 \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}

관련 정보