首页 > 解决方案 > 使用 python-vlc 播放视频时在指定的时间戳开始和结束

问题描述

我有一个使用 python 在 vlc 中播放的 youtube 视频列表。
我正在使用tafypython-vlc库。
我已经设法使用上述库按顺序播放视频。
但现在我想在某些时间戳之间播放视频(每个视频不同)。
那么 API 中是否存在tafy或者python-vlc可以让我从指定的开始时间戳到结束时间戳播放给定的视频?

更新:演示代码

import pafy
import vlc

url = "https://www.youtube.com/watch?v=bMt47wvK6u0"
video = pafy.new(url)
best = video.getbest()
playurl = best.url


Instance = vlc.Instance()
player = Instance.media_player_new()
Media = Instance.media_new(playurl)
Media.get_mrl()
player.set_media(Media)
player.play()
sleep(10)
while player.is_playing():
    sleep(1)

所以现在这会播放一个完整的视频。我想在特定范围内播放它。

标签: pythonvlcpython-vlc

解决方案


Media对象同时具有add_optionadd_options功能。
pafy在 Linux 上为我摔倒了,所以我无法测试它,但是

Media.add_option('start-time=120.0')
Media.add_option('run-time=60.0')

应该从 2 分钟开始并运行 1 分钟

Media.add_option('start-time=120.0')
Media.add_option('stop-time=180.0')

应该达到同样的结果。


推荐阅读