python - 使用 python-vlc 播放视频时在指定的时间戳开始和结束
问题描述
我有一个使用 python 在 vlc 中播放的 youtube 视频列表。
我正在使用tafy
和python-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)
所以现在这会播放一个完整的视频。我想在特定范围内播放它。
解决方案
该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')
应该达到同样的结果。
推荐阅读
- spring - 弹簧多线程
- javascript - jqgrid无法读取未定义的属性“行”
- html - 如何水平居中网格元素
- c++ - 在 C++ STL 的映射中查询 .insert() 函数
- node.js - 创建反应应用程序时出错
- apache-nifi - 按顺序通过 CRON 执行 SQL CREATE 语句
- python - 计算熊猫df中每组的滚动平均值
- angular - Angular 无法在 DoCheck 挂钩上执行 setTimeout
- javascript - 在时间输入类型中插入 SubString
- spring-cloud - 在特定路由上禁用默认过滤器 - Spring Cloud Gateway