mplayer와 VLC가 정확한 시간에 재생을 시작하고 싶습니다. 플레이어는 다음을 수행해야 합니다.
- 비디오 파일을 로드하고 버퍼링한 후 모든 것을 준비합니다.
- UNIX 시간이 N초 M밀리초가 될 때까지 기다립니다.
- 프레임 속도에 따라 재생 시작(장기적인 편차 없음)
이것을 달성하는 것이 어떻게 더 낫습니까?
답변1
MPlayer에서 FIFO를 입력으로 사용하고 지정된 시간에 재생을 시작할 수 있습니다.
몇 년 전 스크립트에서 스크립팅상의 이유로 비디오를 건너뛰는 데 사용했던 몇 가지 최소한의 코드 예제를 복사하여 붙여넣었습니다.
FIFO를 생성합니다:
[ ! -p /tmp/mplayer-fifo ] && mkfifo /tmp/mplayer-fifo
예를 들어 MPlayer를 시작하세요.
mplayer myfile.avi -input /tmp/mplayer-fifo
다음을 사용하여 다른 스크립트에서 건너뛰기 명령을 보냅니다.
echo "seek 10" > /tmp/mplayer-fifo
대신 FIFO를 사용하여 비디오를 시작하고 일시 중지할 수 있습니다. at
특정 시간에 재생 명령을 실행하는 데 사용됩니다 .
비디오가 시작되었다가 즉시 일시 정지된 후 지시문을 기다리는 경우 "play"
모든 버퍼링을 피해야 합니다.