以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
要获取Nginx + Rtmp录像模块生成的文件的开始时间和结束时间,您可以通过检查on_record_done
回调函数中的日期信息来实现。
首先,在您的Rtmp录像模块配置中添加一个on_record_done
回调:
on_record_done {
//...
}
在您的脚本中,您可以使用date
命令来获取当前的时间戳,并将其转换为日期格式(例如%Y-%m-%d-%H_%M_%S
)。然后,您可以根据这些信息来确定文件的开始时间和结束时间。
例如,如果您想要获取录像文件的开始时间,可以使用以下代码:
# 获取当前时间戳
timestamp=$(date +%s)
# 转换时间为字符串格式
timestamp_str=$(date -u +"%Y-%m-%d-%H_%M_%S")
# 根据时间戳计算开始时间
start_time=$(echo "2024-09-04" | date -d "$timestamp_str" +%s)
end_time=$((timestamp - start_time))
# 将时间戳转换回字符串格式
start_time_str=$(date -d "@$start_time" +%Y-%m-%d-%H_%M_%S)
end_time_str=$(date -d "@$end_time" +%Y-%m-%d-%H_%M_%S)
# 打印结果
echo "Start Time: $start_time_str"
echo "End Time: $end_time_str"
这段代码将打印出录像文件的开始时间和结束时间。
请注意,这只是一个基本示例,实际操作可能需要根据您的具体需求进行调整。例如,您可能需要处理时区差异、年份和月份的差异等。