首页 > 解决方案 > 有没有办法让 python-vlc 窗口承认裁剪?

问题描述

我想使用 播放视频python-vlc。我已经完成了所有工作,并且视频播放没有任何技术问题。不过,这里有一个美学问题。我只想播放视频的一部分。如,我想在底部剪掉一点,在右边剪掉一点。我知道我可以通过调用来做到这一点MediaPlayer.video_set_crop_geometry(),而且我已经成功地做到了。但是,实际打开的窗口是为整个视频调整的窗口,我想要的部分位于中间,周围有黑条。(如果我调用MediaPlayer.video_set_scale(),那么裁剪出来的位与我不裁剪时的大小相同。如果我不调用video_set_scale(),裁剪出的位会被拉伸,保持纵横比,直到它到达边缘窗口。无论如何,有黑条)。

我可以让窗口适应这个新的、更小的视频吗?最好是自动的,但是如果我必须传递我想要的大小,那也很好。

我曾尝试在不同调用之间调整顺序,但无济于事。显然python-vlc有能力在某处调整它正在播放的窗口,因为它可以打开一个正确大小的窗口以播放常规视频,并且在调用后自动调整video_set_scale(),但只适合原始视频,而不是裁剪的视频。

标签: pythonvlcpython-vlc

解决方案


您可能应该分享更多详细信息,例如您使用的完整代码和平台。

话虽如此,libvlc 不提供 API 来调整它所绘制的本机 Window 的大小,但您可以轻松地自己完成(例如,在 Windows 上使用用于 HWND 的 win32 API)。


推荐阅读