小编MJi*_*ler的帖子

在 00:00:20 和 10:10:00 之间生成一个随机时间

我想使用变量在 bash 脚本中生成一个有点随机的时间签名。我有一个长达 11 小时的视频文件,我将使用ffmpeg's -shortest 选项(这会将视频修剪为较短的音频)。因此,我希望每天在视频结束前不迟于 50 分钟的随机点将音频插入视频中。

到目前为止,我提出的方法是使用dateshuf命令。使用shufI 在 36305 和 72850 之间生成一个随机的 5 位字符串,并将其输入date如下:

date --date="$(shuf -i 36305-72850 -n 1) sec ago" +%T
Run Code Online (Sandbox Code Playgroud)

(5 位字符串在范围内,以秒为单位,一方面是上午 10:10 之间,另一方面是前一个午夜,另一方面 - 上午 10 点是 36305 秒,午夜是我的脚本运行前的 72805 秒) . 这似乎可以很好地生成所需的时间戳,但我怀疑有其他方法可以生成更优雅和/或最佳的时间戳。

有什么建议?

澄清

我试图生成的半随机时间戳是ffmpeg使用-ssswitch 的东西,并且必须采用由冒号分隔的 3 个数字对联的形式,并符合时间跟踪约定(出于与此查询相关的实际目的对联的限制是第一个对联为 0-24,第二个为 0-60--尽管对于我的用法,第一个对联应该是 0-10,如果第一个对联是 10,则第二个应该是 0-10,否则为 0- 60,最后对联0-60)。该date实用程序的设计符合这些时间跟踪约束,这就是为什么我首先考虑使用一些变体date +%T

ffmpeg我正在运行的命令类似于以下内容

ffmpeg -ss 02:54:32 -i 11-hr_video.mp4 -i …

bash date random

5
推荐指数
1
解决办法
703
查看次数

标签 统计

bash ×1

date ×1

random ×1