【问题标题】:Saving multiple public domain livestreams to disk using ffmpeg/vlc some other resource?使用 ffmpeg/vlc 其他资源将多个公共域直播保存到磁盘?
【发布时间】:2021-03-19 18:00:58
【问题描述】:
我正在尝试将几天的视频从打开的网络摄像头保存到磁盘,以便对它们进行一些分析。 (例如这个机场的video。我有几百个这样的,加上带宽和存储不是问题,我该如何将流保存2-3天?
- 我尝试使用
pyav(ffmpeg 的包装器)编写一小段python 代码来打开流并保存关键帧。但似乎一个小时左右后连接断开了......
- 我查看了
ffmpeg -i <some video URL> output.mp4,但它突然退出,没有任何错误消息。
- 我可以在 vlc 中播放视频,但不确定如何继续保存视频。
有什么想法吗?
【问题讨论】:
标签:
ffmpeg
video-streaming
http-live-streaming
【解决方案1】:
好的,不知道为什么投票决定关闭,但我想为我遇到的任何其他人提供我想出的解决方案/解决方法:
def save_stream(url):
try:
cmd = "youtube-dl -f worst {} --retries infinite --continue --hls-use-mpegts".format(url)
# print(cmd)
ydl_process = subprocess.check_call(cmd.split(" "))
print("[*] launched: ",ydl_process)
except Exception as e2:
print("[!] e2: ",e2)
return
使用 youtube-dl 将流保存到磁盘保存到 .part 文件。 --hls-use-mpegts 标志很重要,因此您可以将.mp4.part 文件复制到其他位置并将其重命名为.mp4,它可以使用vlc 或其他方式播放。