python - 在命令行中捕获 RTSP

标签 python opencv ubuntu video rtsp

我想在ubuntu中连续捕获rtsp视频(CCTV)。 (在腻子中)

我尝试在Python中使用OpenCV打开rtsp,但是程序会突然终止。

video_capture = cv2.VideoCapture("rtsp://stream_link/")
while True:
    ret, frame = video_capture.read()
    cv2.imwrite(name,frame)

然后,我转向使用vlc。

vlc -vvv rtsp://192.168.1.128:1554/11 --sout=file/ts:/media/path/to/save/location/recording-$(date +"%Y%m%d%H%M%S").ts -I dummy --stop-time=480 vlc://quit

此外,还有一个巨大的错误。

我正在寻求帮助,如何在命令行中捕获 ubuntu 中的 rtsp。谢谢。

最佳答案

使用ffmpeg几乎总是最好的主意:

ffmpeg -i rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov test.mp4

要仅捕获前 5 秒,您可以使用 -t 00:00:05,如下所示:

ffmpeg -i rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov -t 00:00:05 test.mp4

更新:我想到的唯一有人否决这个答案的原因可能是因为我没有写如何连续分段接收到的流,所以这里是如何做到这一点:

ffmpeg -i rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov -c copy -map 0 -segment_time 4 -f segment output%03d.mp4

这将接收 rtsp 流并创建 output000.mp4、output001.mp4 等,每 4 秒长一次。

关于python - 在命令行中捕获 RTSP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37652976/

相关文章:

python - "ImportError: No module named Tkinter"即使我昨天才使用 Tkinter 程序并且没有进行实质性更改?

python - 没有名为 '_pywrap_tensorflow_internal' 的模块(仍然没有工作解决方案)

python - 使用python更改图像中的颜色范围

c++ - 位图到 mat/2d 数组

node.js - 在 Ubuntu 上通过 NPM 安装 LESS 时出错

python - 何时在 Gevent 中使用线程池

python正则表达式不正确匹配

python - Windows 10 Bash 中的 py-opencv 导入错误

c++ - Gnuplot 和 std::filesystem::remove

c++ - 带有boost的Visual Studio 2017跨平台Linux项目