Last Updated or created 2023-10-05
I didn’t find an easy and working movie player for wide screen setups.
Like double/triple monitor setups.
I’ve got 3x 1920×1080 monitors connected to my battlestation.
With a resolution of 5760×1080
Simple Python code to play a movie fullscreen
# importing vlc module
import vlc
# creating vlc media player object
media_player = vlc.MediaPlayer()
# media object
media = vlc.Media("movie.mp4")
# setting media to the media player
media_player.set_media(media)
media_player.toggle_fullscreen()
# start playing video
media_player.play()
But trying to get this stable working, I resorted to pysimplegui
#!/usr/bin/env python3
import PySimpleGUI as sg
import vlc
import sys
from sys import platform as PLATFORM
try:
movie=sys.argv[1]
except:
print(sys.argv[0] + " filename")
exit()
sg.theme('DarkBlue')
layout = [[sg.Image('', size=(5760, 1080), key='-VID_OUT-')]]
window = sg.Window('Triple movie player', layout, no_titlebar=True, margins=(0,0),location=(0,0), size=(5760,1080), keep_on_top=True, finalize=True,resizable=False)
window.bring_to_front()
window.Maximize()
window.bind("<Escape>", "-ESCAPE-")
window.bind("<Return>", "-ENTER-")
window['-VID_OUT-'].expand(True, True)
inst = vlc.Instance()
list_player = inst.media_list_player_new()
media_list = inst.media_list_new([])
list_player.set_media_list(media_list)
player = list_player.get_media_player()
if PLATFORM.startswith('linux'):
player.set_xwindow(window['-VID_OUT-'].Widget.winfo_id())
else:
player.set_hwnd(window['-VID_OUT-'].Widget.winfo_id())
media_list.add_media(movie)
list_player.set_media_list(media_list)
list_player.play()
while True:
event, values = window.read(timeout=1000)
if event == sg.WIN_CLOSED:
break
if event == '-ENTER-':
list_player.play()
if event == '-ESCAPE-':
list_player.stop()
window.close()
window.close()
I’ve converted some of my Vuze media to the correct resolution using kdenlive.
Kdenlive howto
