상세 컨텐츠

본문 제목

파이썬과 VLC 미디어 플레이어

본문

VLC 미디어 플레이어

VLC 미디어 플레이어를 아시나요?

VLC는 VideoLAN 프로젝트에서 개발한 무료 오픈소스 크로스플랫폼의 미디어 플레이어 입니다.

www.videolan.org/vlc/index.ko.html

 

VLC 미디어 재생기 공식 다운로드, 최고의 오픈 소스 재생기 - VideoLAN

VLC는 DVD, 오디오 CD, VCD 와 다양한 스트리밍 프로토콜뿐 아니라 대부분의 멀티미디어 파일을 재생할 수 있는 무료 오픈 소스 크로스 플랫폼 멀티미디어 재생기이자 프레임워크입니다. VLC는 대부

www.videolan.org

 

VLC 플레이어는 각종 언어별로 다양한 라이브러리를 제공하고 있습니다.

이중 파이썬 api 라이브러리를 이용하면 파이썬 프로그래밍으로 VLC플레이어를 컨트롤을 할 수 있습니다.

 

따라서 파이썬 vlc 모듈을 이용하기 위해서는 VLC 미디어플레이어를 다운받아 설치해주세요.

 

파이썬으로 구동되는 VLC 경험하기

pypi.org/project/python-vlc/

 

python-vlc

VLC bindings for python.

pypi.org

 

VLC미디어플레이어의 설치가 끝나면 다음과 같이 파이썬 pip 명령어를 이용하여 VLC 모듈을 설치해주세요.

C:\Users\cooky\Videos
(toyproject) λ pip install python-vlc

python-vlc 모듈이 설치가 완료되었으면, 

  • vlc 모듈 패키지가 정상적으로 설치가 되었는지 확인하기 위해..
  • 그리고 아주 기초적으로 vlc 모듈을 어떻게 사용하면 미디어가 플레이가 되는지 확인하기 위해..
  • 파이썬으로 BTS 뮤비를 재생시켜 보는 테스트를 해보겠습니다.
    • 이와 같은 테스트를 위해 BTS Dynamite official MV를 유투브에서 다운 받습니다.
    • 다운 받은 MV영상파일이 있는 위치에서 아래 파이썬 코드를 ipython을 이용하여 실행해 보세요.
# importing vlc module
import vlc
 
# vlc media player object 생성
media = vlc.MediaPlayer("BTS Dynamite Official MV.webm")
 
# 미디어 플레이
media.play()

 

  • 실행결과

 

python-vlc 모듈 기본 사용법

  • 파이썬 vlc 모듈은 보통 다음과 같은 절차에 따라 사용되어 집니다. 
    1. 미디어 플레이어 객체를 소환?합니다.
    2. 영상 또는 오디오 등의 미디어를 vlc로 주어 담습니다.
    3. 주어 담은 미디어를 소환?된 미디어 플레이어 객체에 세팅해줍니다.
    4. 미디어 플레이어를 가동 시킵니다.
  • 예제:
    • 실행된 BTS MV의 런닝타임은 ??
import time
import vlc

# BTS 뮤직 영상 파일명
media_file = "BTS Dynamite MV.mp4"

# vlc 미디어 플레이어 객체 생성하기
media_player = vlc.MediaPlayer()

# 재생할 뮤직비디오 파일을 vlc 모듈의 미디어로 변환.
media = vlc.Media(media_file)

# 읽어드린 미디어를 재생할 수 있도록 
# 미디어 플레이어 객체에 세팅 (재생 준비 상태)
media_player.set_media(media)

# start playing video
media_player.play()

# 플레이할 영상의 길이와 상관 없이
# 0.5초 동안만 영상을 플레이합니다.
time.sleep(0.5)

# 재생한 미디어플레이어의 플레이타임(초)를 반환.
duration = media_player.get_length()
print("Duration : " + str(duration))
  • 실행결과

 

이번 강좌는 python-vlc 모듈이 무엇인지 그리고 기본적으로 어떻게 사용되는 것인지에 대해 살펴봤습니다.

다음 강좌에서는 미디어 재생정보를 출력하는 방법과 미디어재생을 컨트롤 할 수 있는 다양한 방법에 대해 확인해보겠습니다.

 

감사합니다.

관련글 더보기

댓글 영역