我想在不打开 Ubuntu 20.04 屏幕的情况下从 RSTP 链接拍摄快照,我遵循了一些 Stack Overflow 用户提示,但没有一个有效。
今天我可以在 VLC 窗口上显示 RSTP 链接,但无法拍摄快照。
正如您在代码中看到的那样,我正在尝试以多种方式使用 video_take_snapshot,但它们都没有将文件保存在任何地方。我试图在视频播放和暂停模式下拍摄快照。还尝试保存在默认目录和特定目录中。还尝试了很多其他解决方案,但都没有奏效
ps:我尝试了我公司今天使用的openCV,但我们需要更改,因为它与特定的onvif RSTP cams不兼容
url = 'rtsp://labs:yBtYHJ35Hk@mediastreaming.grupoavantia.com.br/Operacional/avantia_frente_sede.stream'
media_player = vlc.MediaPlayer()
Instance = vlc.Instance()
p = Instance.media_player_new()
p.set_mrl(url)
p.play()
# wait so the video can be played
time.sleep(25)
print("######## SCRENSHOT1 ############ ")
media_player.video_take_snapshot(0, "foobar.png", 400, 300)
media_player.pause()
print("######## SCRENSHOT2 ############ ")
media_player.video_take_snapshot(0, "/home/mariocardoso/Pictures/tests/foobar2.png", 400, 300)
time.sleep(5)
print("######## SCRENSHOT3 ############ ")
media_player.video_take_snapshot(0, "//home//mariocardoso//Pictures//tests//foobar3.png", 0, 0)
time.sleep(10)
因此,我的解决方案需要 2 个步骤:可以拍摄快照并在不打开屏幕的情况下进行拍摄。