在 FFMPEG 上是否可以将 RAW 帧从 RTSP 传递到管道并按时间将视频文件片段写入磁盘?

问题描述 投票:0回答:0

我正在尝试使用 python 通过 ffmpeg 接收要由 OpenCV 处理的 RTSP 帧。这没关系。

但是我还需要将这段视频写入磁盘每分钟一个视频。最后一部分是问题所在。

这没问题,但只能写入单个文件“OUTPUT.TS”:

command = ['C:/ffmpeg/bin/ffmpeg.exe',
           '-rtsp_transport', 'tcp',   # Force TCP (for testing)
           '-max_delay', '30000000',   # 30 seconds (sometimes needed because the stream is from the web).
           '-i', STREAM_ADDRESS,
           '-f', 'rawvideo',           # Video format is raw video
           '-pix_fmt', 'bgr24',        # bgr24 pixel format matches OpenCV default pixels format.
           '-an', 'pipe:',
           '-vcodec', 'copy', '-y', 'OUTPUT.TS']

ffmpeg_process = subprocess.Popen(command, stdout=subprocess.PIPE)

但是因为我使用的是 -f RAW,所以我不能添加像

这样的东西
'-f segment -segment_time 1800 -strftime 1 "%Y-%m-%d_%H-%M-%S.ts'

我尝试使用一些 ffmpeg 组合但没有成功。

有什么方法可以在 FFMPEG 上执行此操作而无需启动/停止 ffmpeg 进程?

python ffmpeg rtsp
© www.soinside.com 2019 - 2024. All rights reserved.