简体   繁体   English

如何在python中更改vlc媒体播放器的视频宽高比

[英]How to change video aspect ratio of vlc media player in python

I want to know how to change video aspect ratio of vlc media player in python to 16:10. 我想知道如何将python中的vlc媒体播放器的视频宽高比更改为16:10。 Note that I am using vlc module. 请注意,我正在使用vlc模块。 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. 使用video_set_aspect_ratio("n:n")选项,其中"n:n"是任何常见的可疑对象“ 16:9”,“ 4:3”等,但可以是任何您想要的东西,例如“ 2:5” 。

You will also need to keep the script alive, I've included a simple loop in your play function, to do that. 您还需要使脚本保持活动状态,为此我在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')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM