【问题标题】:How to change video aspect ratio of vlc media player in python如何在python中更改vlc媒体播放器的视频纵横比
【发布时间】:2019-01-18 04:36:16
【问题描述】:
我想知道如何将 python 中的 vlc 媒体播放器的视频纵横比更改为 16:10。请注意,我正在使用 vlc 模块。我的代码如下:
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')
【问题讨论】:
标签:
python
vlc
aspect-ratio
【解决方案1】:
使用video_set_aspect_ratio("n:n") 选项,其中"n:n" 是任何常见的嫌疑人“16:9”、“4:3”等,但可以是您想要的任何东西,例如“2:5”。
您还需要使脚本保持活动状态,我在您的 play 函数中包含了一个简单的循环来做到这一点。
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')