You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FFmpeg录制RTSP流:自定义文件名重复时自动重命名方案咨询

解决方案:自动重命名的RTSP流定时录制脚本

我之前帮同事处理过类似的定时录制RTSP流的需求,刚好可以给你一套完整的可落地方案——核心是用Shell脚本处理自动重命名逻辑,搭配FFmpeg完成录制,最后通过crontab定时执行。

1. 编写自动重命名的录制脚本

先创建一个bash脚本(比如record_rtsp.sh),这个脚本会自动检测目标文件是否存在,生成不重复的文件名,再调用FFmpeg开始录制。

#!/bin/bash

# 配置参数
RTSP_URL="rtsp://your-rtsp-stream-url"  # 替换成你的RTSP流地址
BASE_DIR="/path/to/save/videos"         # 替换成你的视频保存目录
BASE_FILENAME="video-$(date +%m%d%Y)"   # 基础文件名,格式:video-月日年
EXTENSION=".mp4"
DURATION=3600                           # 录制时长:1小时=3600秒

# 创建保存目录(如果不存在)
mkdir -p "$BASE_DIR"

# 生成不重复的文件名
TARGET_FILE="$BASE_DIR/$BASE_FILENAME$EXTENSION"
COUNTER=1

while [ -f "$TARGET_FILE" ]; do
    TARGET_FILE="$BASE_DIR/$BASE_FILENAME-$COUNTER$EXTENSION"
    COUNTER=$((COUNTER + 1))
done

# 调用FFmpeg录制视频
echo "开始录制,保存至:$TARGET_FILE"
ffmpeg -i "$RTSP_URL" -t "$DURATION" -c:v copy -c:a copy -y "$TARGET_FILE"

# 可选:添加日志记录,方便排查问题
# echo "$(date +%Y-%m-%d_%H:%M:%S) 录制完成:$TARGET_FILE" >> "$BASE_DIR/record_logs.txt"

脚本说明:

  • 自动重命名逻辑:先尝试使用基础文件名(比如video-02222018.mp4),如果文件已存在,就依次添加-01、-02后缀,直到找到一个不存在的文件名。
  • FFmpeg参数:
    • -i "$RTSP_URL":指定输入的RTSP流地址
    • -t "$DURATION":设置录制时长(3600秒=1小时)
    • -c:v copy -c:a copy:直接复制流的音视频编码,避免重新编码,节省CPU资源(如果你的RTSP流编码不兼容MP4,可能需要改成-c:v h264 -c:a aac)
    • -y:这里其实我们已经确保文件名唯一,保留该参数可防止意外情况导致的录制中断

2. 给脚本赋予执行权限

保存脚本后,记得给它加可执行权限:

chmod +x /path/to/record_rtsp.sh

3. 设置crontab定时任务

现在把脚本加入crontab,让它定时运行。

首先打开crontab编辑界面:

crontab -e

然后添加定时规则,比如每天凌晨0点自动录制1小时,就加这一行:

0 0 * * * /path/to/record_rtsp.sh >> /path/to/record_rtsp.log 2>&1

crontab规则说明:

  • 0 0 * * *:代表每天0点0分执行(格式:分 时 日 月 周),你可以根据需求修改,比如想每天中午12点录制,就改成0 12 * * *
  • >> /path/to/record_rtsp.log 2>&1:把脚本的输出和错误信息都写入日志文件,方便后续排查问题

4. 测试脚本

在正式定时运行前,建议手动运行一次脚本,验证是否能正常录制并生成正确的文件名:

/path/to/record_rtsp.sh

如果一切正常,你会在指定目录看到生成的视频文件,重复运行脚本的话,会自动生成带递增序号的文件名。


内容的提问来源于stack exchange,提问作者Xeno Boss

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:48:58