我有一个使用python在vlc中播放的youtube视频列表
我使用的是tafy
和python-vlc
库
我已经使用上述库按顺序播放了视频
但现在我想在特定的时间戳之间播放视频(每个视频不同(
那么,在tafy
或python-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_option
和add_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