I want to know how to change video aspect ratio of vlc media player in python to 16:10. Note that I am using vlc module. my code is as below:
import vlc
class Player():
def __init__(self):
self._instance = vlc.Instance(['--video-on-top'])
self._player = self._instance.media_player_new()
self._player.set_fullscreen(True)
def play(self, path):
media = self._instance.media_new(path)
self._player.set_media(media)
self._player.play()
def stop(self):
self._player.stop()
p=Player()
p.play('C:\\Users\\Keshavarz\\Desktop\\a.mp4')
Use the video_set_aspect_ratio("n:n")
option where "n:n"
is any of the usual suspects "16:9", "4:3" etc but can be anything you want such as "2:5" for example.
You will also need to keep the script alive, I've included a simple loop in your play
function, to do that.
import vlc
import time
class Player():
def __init__(self):
self._instance = vlc.Instance(['--video-on-top'])
self._player = self._instance.media_player_new()
#self._player.set_fullscreen(True)
self._player.video_set_aspect_ratio("16:9")
def play(self, path):
media = self._instance.media_new(path)
self._player.set_media(media)
self._player.play()
playing = set([1,2,3,4])
time.sleep(0.1)
while True:
state = self._player.get_state()
if state not in playing:
break
time.sleep(1)
def stop(self):
self._player.stop()
p=Player()
p.play('C:\\Users\\Keshavarz\\Desktop\\a.mp4')