FFmpeg - 使用包含时区偏移的文件名写入视频片段

FFmpeg - 使用包含时区偏移的文件名写入视频片段

我需要编写一个 FFmpeg 命令,以 x 秒为单位记录一段视频流。这些片段应使用 UTC 日期和时间 (UTC+0) 命名,而不是我本地 PC 时间。或者,我希望+hhmm在文件名中添加时区偏移量,文件名目前包含我 PC 的日期和时间。

我尝试使用z和大写Z选项,但它们输出时区缩写而不是时区偏移量。

这是我一直在使用的 FFmpeg 命令:

ffmpeg -i udp://127.0.0.1:8032 -c:v libx264 -f segment -segment_time 3600 -strftime 1 mpegts %Y%m%d_%H:%M:%s%z.ts

关于如何将文件名写为 UTC 时间或写时区偏移量,有什么建议吗?

答案1

strftime选项依赖于系统对同名 C 函数的实现。在 ffmpeg 本身中你对此无能为力。

参考:

您只能通过脚本(例如使用 PowerShell)以静态插值形式实现此目的。例如:

$offset = Get-Date -Format " K"

将以空格开头的偏移量存储为一个变量,您可以将其插入为"%Y%m%d_%H:%M:%s$offset.ts"

相关内容