0

我想在不打开 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 个步骤:可以拍摄快照并在不打开屏幕的情况下进行拍摄。

4

1 回答 1

0

您可以在这种情况下使用 ffmpeg

例如:

ffmpeg -i rtsp://@... -acodec copy -vcodec copy c:/abc.mp4
于 2021-12-14T21:10:32.710 回答