Ищите на случайную точку и играйте в течение нескольких секунд в видео

Как это:

У меня есть 60-секундное видео

Я хочу иметь цикл для этого:

  1. Для переменной A является случайным целым числом в диапазоне от 0 до 58.
  2. Перейдите к секундам A-th в видео.
  3. Играйте 2 секунды и возвратитесь шаг 1.

Я использую VLC Media Player.

1
задан 13 August 2019 в 17:57

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
1
ответ дан 7 December 2019 в 14:59

Другие вопросы по тегам:

Похожие вопросы: