gpt4 book ai didi

python - 如何从VLC媒体播放器获取帧

转载 作者:行者123 更新时间:2023-12-02 17:07:54 24 4
gpt4 key购买 nike

我目前正在使用适用于python的vlc库(python-vlc)从使用sdp文件描述的sdp流中获取视频流。我正在使用此代码:

import vlc
import time

instance = vlc.Instance()
player = instance.media_player_new()
media = instance.media_new("./bebop.sdp")
player.set_media(media)

player.play()
time.sleep(10)

可以很好地显示视频。但是我不想只显示它,我想使用视频中的每个帧对它进行一些图像处理,然后显示修改后的帧。

我已经阅读了论坛上几乎所有的文档和各种文章,但是我找不到解决方法。

我使用vlc来获取视频流,因为由于某些ffmpeg错误,open cv无法打开它。

最佳答案

# -*- coding: utf-8 -*-

import vlc
import time

def mspf(mp):
"""Milliseconds per frame"""
return int(1000 // (mp.get_fps() or 25))


if __name__ == "__main__":
instance = vlc.Instance()
player = instance.media_player_new()
media = instance.media_new("1.m4v")
player.set_media(media)

player.play()

"""Play 800th frames"""
new_time = 800 * mspf(player)
player.set_time(new_time)

time.sleep(10)

关于python - 如何从VLC媒体播放器获取帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50591068/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com