Python 在命令行中捕获RTSP

Python 在命令行中捕获RTSP,python,opencv,ubuntu,video,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:1

我想在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流,并每4秒创建output000.mp4、output001.mp4等。

使用
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流,并每隔4秒创建output000.mp4、output001.mp4等。

感谢您的回复。这只是另存为视频吗?如果我想捕捉它的帧,比如5帧/秒,怎么办?为什么要投反对票?至少写下原因,这样我可以改进答案。谢谢你的回复。这只是另存为视频吗?如果我想捕捉它的帧,比如5帧/秒,怎么办?为什么要投反对票?至少写下原因,这样我可以改进答案。