Как это:
У меня есть 60-секундное видео
Я хочу иметь цикл для этого:
Я использую VLC Media Player.
Ха-ха, первый человек, который отвечает на этот вопрос, является человеком, который спросил это.
Я использую 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