使用python vlc播放视频时,在指定的时间戳开始和结束



我有一个使用python在vlc中播放的youtube视频列表
我使用的是tafypython-vlc
我已经使用上述库按顺序播放了视频
但现在我想在特定的时间戳之间播放视频(每个视频不同(
那么,在tafypython-vlc中是否存在API,使我能够从指定的开始时间戳到结束时间戳播放给定的视频?

更新:演示代码

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)

现在播放一个完整的视频。我想在一定范围内演奏。

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')

应该达到同样的结果。

您需要使用libvlc选项。对于python-vlc,用于将字符串传递到本机库的函数是libvlc_new,您必须对此进行研究。然后使用

Playback control:
--start-time=<float [-340282346638528859811704183484516925440.000000 .. 340282346638528859811704183484516925440.000000]> 
Start time
The stream will start at this position (in seconds).
--stop-time=<float [-340282346638528859811704183484516925440.000000 .. 340282346638528859811704183484516925440.000000]> 
Stop time
The stream will stop at this position (in seconds).
--run-time=<float [-340282346638528859811704183484516925440.000000 .. 340282346638528859811704183484516925440.000000]> 
Run time
The stream will run this duration (in seconds).

更多,来自https://wiki.videolan.org/VLC_command-line_help

最新更新