목차

이전 항목

오디오

다음 항목

음성

링크


원문 보러 가기
오역 신고하기
Created using Sphinx.

동영상

렌파이는 (included) 를 사용해 다음과 같은 컨테이너 형식 내부에서 :

  • Matroska
  • WebM
  • Ogg
  • Avi
  • Various kinds of MPEG stream.

아래와 같은 비디오 코덱과:

  • Theora
  • V8
  • MPEG 4 part 2 (Xvid 및 DivX 포함)
  • MPEG 2
  • MPEG 1

오디오 코덱을 사용하는 영상을 재생할 수 있습니다.:

  • Vorbis
  • MP3
  • MP2
  • PCM

(컨테이너 형식 가운데 일부는 특허 라이선스를 요구하기도 합니다. 특히 상용 목적으로 사용해도 괜찮은지 의심스럽다면, Theora, Vorbis, Matroska 혹은 Ogg 포맷을 사용하는 것을 추천합니다.)

렌파이는 오디오 트랙이 무음이더라도 모든 동영상 파일에 오디오 트랙이 있다고 가정합니다. 오디오 트랙을 동기화 목적으로 사용하기 때문입니다.

동영상은 전체화면으로 재생하거나 디스플레이어블 안에서 재생할 수 있습니다. 전체화면 동영상이 조금 더 효율적입니다.

전체 화면 동영상

동영상을 전체 화면 크기로 재생하는 가장 편리한 방법은 renpy.movie_cutscene() 함수를 사용하는 것입니다. 이 함수는 지정한 시간 동안 동영상을 나타냅니다. 재생 시간이 전부 경과하거나, 유저가 영상을 넘기기 위해 클릭하면 동영상이 종료되고 함수는 종료합니다.

$ renpy.movie_cutscene("On_Your_Mark.mpg")
renpy.movie_cutscene(filename, delay=None, loops=0, stop_music=True)

MPEG-1 컷신을 지정한 초 단위 시간만큼 표시한다. 사용자는 클릭으로 동영상을 종료할 수 있다. 컷신이 재생되는 동안 오버레이와 언더레이는 비활성화된다.

filename
MPEG-1 동영상이 포함된 파일 이름.
delay
컨신을 재생하는 동안 대기할 초 단위 숫자. 보통 영상의 재생 단위로 초 단위이다. None이라면 루프의 숫자를 통해 대기 시간을 계산한다. 즉, ((loops + 1) * 동영상 재생 길이) 이다. -1이라면 사용자가 클릭할 때까지 대기한다.
loops
반복 재생할 횟수. 표시할 -1은 무한히 반복재생한다.

사용자가 영상 재생을 종료시키면 True를 반환하고 주어진 시간 동안 영상을 재생했다면 False를 반환한다.

디스플레이어블 안에서 영상 재생하기

동영상은 화면에서 표시된 다른 디스플레이어블들과 결합하도록 디스플레이어블 내부에서 재생시킬 수도 있습니다. 이를 위해서는 먼저 Movie 디스플레이어블을 표시한 다음에 audio 채널에서 동영상을 재생시켜야 합니다. (이 경우, movie 채널을 사용할 것을 추천합니다.)

init:
    image movie = Movie(size=(400, 300), xalign=0.5, yalign=0.5)

label movie_sign:
    scene black
    show movie

    play movie "incubus.mkv"

    "와, 이 영화 진짜 최악이다."

    "그러니까, 윌리엄 샤트너가..."

    "...에스페란토어를 말하다니."

    "당장 꺼!"

    stop movie
    hide movie

    "이제야 좀 낫네."
Movie(fps=24, size=None, **properties)

현재 동영상을 표시하는 디스플레이어블이다.

fps
동영상이 나타나야할 프레임률. (현재는 무시되는 값이며, 이전 버전과 호환성을 유지하기 위한 패러미터이다. 프레임률을 자동으로 감지된다.)
size
언제나 지정되어야 한다. 영상의 가로, 세로 크기를 지정하는 튜플.

영상이 재생되지 않을 때 이 디스플레이어블의 내용물은 비정의상태이다. (그리고 롤백이 발생할 때 변경될 수 있다.)