在视频中搜索随机点并播放几秒钟

在视频中搜索随机点并播放几秒钟

像这样:

我有一个 60 秒的视频

我想要一个循环来实现这一点:

  1. 对于变量 A 来说,它是一个介于 0 到 58 之间的随机整数。
  2. 转到视频的第 A 秒。
  3. 播放2秒并返回步骤1。

我使用 VLC 媒体播放器。

答案1

哈哈,第一个回答这个问题的人就是问这个问题的人。

我使用 VLC,我的视频是 MP4 文件。这对我来说有效:

$ DIS=$( ffmpeg -i "the_path_of_your_video" 2>&1 | grep Duration | cut -d ' ' -f 4 | sed s/,// | awk -F: '{ print ($1 * 3600) + ($2 * 60) + $3 }' | cut -f1 -d. ) # get video Duration In Seconds
$ COS=  # a integer: the Count Of Seconds to play every time
$ RTP=$( expr $DIS - $COS ) # Range To Play is from 0 to $RTP
$ while true; do cvlc --start-time $(( ( RANDOM % $RTP )  + 0 )) "the_path_of_your_video" --run-time $COS vlc://quit; done

假设有以下问题:

$ DIS=60
$ COS=2
$ RTP=58 # 60 - 2
$ while true; do cvlc --start-time $(( ( RANDOM % 58 )  + 0 )) "the_path_of_my_video" --run-time 2 vlc://quit; done
$ # A in the question is $(( ( RANDOM % 58 )  + 0 ))
$ # Close  terminal window to kill this proccess

相关内容