프로그램/python

[Python] 스트리밍, 동영상 플레이 하기

더월드 2023. 10. 17.

Python을 사용하여 VLC 미디어 플레이어를 제어하려면 python-vlc 라이브러리를 사용할 수 있습니다. 
다음은 Python을 사용하여 VLC 미디어 플레이어를 열고 재생하는 간단한 코드입니다.

먼저, python-vlc 라이브러리를 설치해야 합니다. 
다음 명령을 사용하여 설치할 수 있습니다:

① pip install python-vlc

 

dll 오류 등을 해결하기 위해서는 vlc 플레이어 프로그램을 설치합니다.

② VLC 플레이어 다운로드 (32, 64bit 선택해서) 후 설치

https://www.videolan.org/vlc/#download

 

아래 코드는 PyQt5를 사용하여 VLC 미디어 플레이어를 GUI 창에 삽입하고 입력한 스트리밍 URL을 재생합니다. 
필요한 스트림 URL로 바꾸세요. 
코드를 실행하면 QT 프레임의 VLC 플레이어가 화면에 표시되고 스트림이 재생될 것입니다.

import sys
import vlc
from PyQt5.QtWidgets import QApplication, QMainWindow, QFrame, QVBoxLayout
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPalette

class VideoPlayer(QMainWindow):
    def __init__(self, url):
        super().__init__()

        # VLC 인스턴스 생성
        self.instance = vlc.Instance("--no-xlib")

        # 미디어 플레이어 생성
        self.player = self.instance.media_player_new()

        # 미디어 URL 설정
        media = self.instance.media_new(url)
        self.player.set_media(media)

        # VLC 미디어 플레이어를 PyQt5 프레임에 삽입
        self.video_frame = QFrame()
        self.setCentralWidget(self.video_frame)
        layout = QVBoxLayout()
        layout.setContentsMargins(0, 0, 0, 0)
        self.video_frame.setLayout(layout)

        # VLC 미디어 플레이어의 렌더러 설정
        hwnd = self.video_frame.winId()
        if sys.platform.startswith('linux'):
            self.player.set_xwindow(hwnd)
        elif sys.platform == 'win32':
            self.player.set_hwnd(hwnd)
        elif sys.platform == 'darwin':
            self.player.set_nsobject(int(hwnd))

        # 미디어 재생
        self.player.play()

        # 윈도우 설정
        self.setWindowTitle("태영 플레이어")
        self.setGeometry(100, 100, 800, 600)

        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)

    # 라이브 스트림 URL 설정
    stream_url = "http://202.60.106.14:21585/200/playlist.m3u8" # TV
    #play_url = "G:\\피자.mp4"
    player = VideoPlayer(stream_url)

    sys.exit(app.exec_())

 

위 코드를 실행하면 정상적으로 스트리밍이 화면이 플레이 됩니다.

 

 

라이브 스트림 URL 설정 주소를
    stream_url = "http://202.60.106.14:21585/200/playlist.m3u8" # TV

 

동영상 파일로 설정하면 동영상이 정상으로 플레이됩니다.

    play_url = "G:\\피자.mp4"

댓글

💲 추천 글