覆盖录音文件中的数据

覆盖录音文件中的数据

我想通过 rtsp 录制来自 ip cam 的视频流。但是如果我的设备空间不足怎么办?ffmpeg 是否有可能覆盖文件?假设我将最大文件大小设置为 50GB,当文件达到此限制时,最旧的数据将被同一文件中的最新数据覆盖?

答案1

使用段复用器。例如,每 3600 秒(1 小时)分割一次视频,最多 24 个片段,然后从 1 重新开始片段索引。调整选项以满足您的需求。

ffmpeg -i -i rtsp://user:pass@ip -f segment -segment_time 3600 -segment_wrap 24 -reset_timestamps 1 -b:v 4000k output_%02d.mp4

如果需要,可以将文件无损地连接在一起连接解复用器. 请参阅-segment_list_type选项。

答案2

使用 HDD 或 SSD 等存储设备无法进行磁带循环式录制。流将填满空间,仅此而已。

你能做的就是低功率芯片建议,在多个文件中录制,当不需要时删除旧文件。原则上:

  1. 开始录制file A
  2. file A存满后开始录音file B
  3. file B它满了的时候,把它复制到长期存储中,并命名为date_time_file
  4. 重命名file Afile B
  5. 从 1 开始循环

添加步骤 3 是为了以防需要将视频保存更长时间。

您需要多少空间取决于视频的质量和您想要录制的时间。计算很简单 - 比特率 * 时间。这里Accusonus 的一篇关于视频比特率的好文章。

相关内容