【问题标题】: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')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-03
      • 2013-03-07
      • 1970-01-01
      • 1970-01-01
      • 2015-02-09
      • 2012-05-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多