youtube-dl загружает одну минуту каждые 5 минут (на видео с подергиванием, но у меня также сохранен локальный файл, если проще)

Я хотел бы сделать то, что говорит название

Это команда ffmpeg для загрузки с определенного момента в видео, в автономном режиме или в Интернете.

ffmpeg -ss (время остановки) -i (прямая ссылка на видео) -t (время начала) -c:v копия -c:a копия (название.mp4)

Я собираюсь загрузить это на OSX. Мне все равно, какое название.

Я думаю * есть команда bash, которая позволяет мне изменить тайминги в этой команде на определенную величину (+300 секунд за каждый, счетчик времени запуска и остановки указан в необработанных секундах)

Таким образом, сценарий bash, который запускает эту команду, но постепенно увеличивает время запуска и остановки на 300 (время остановки составляет более 60 секунд), загружается, а затем повторяется.


person Noble    schedule 18.05.2016    source источник
comment
Вы хотите, чтобы каждая минута в своем собственном файле?   -  person Gyan    schedule 18.05.2016
comment
Любой в порядке. Я честно не против. Кажется, этот парень понял.   -  person Noble    schedule 18.05.2016


Ответы (1)


вот:

содержимое youtube-dl:

#!/usr/bin/env bash

# set start to 0, 300, 600... up to 72000 (20 hours)
for start in `seq 0 300 72000`; do

  # set the outfile name
  file="$2.$start.60.mp4"

  ffmpeg -ss $start -i "$1" -t 60 -c:v copy -c:a copy "$file"

  # get the duration of the last outfile
  last_duration=`ffprobe -i "$file" -show_entries format=duration -v quiet -of csv="p=0"`
  # if last outfile's duration isn't greater than a second, delete it and stop
  [[ ! "$last_duration" -gt 1 ]] && rm -f $file && exit

done

затем выполните:

chmod +x youtube-dl

использование:

./youtube-dl "http://your/movie.flv" title

PS: я обнаружил, что ваша команда ffmpeg была немного нарушена: это -t (duration), а не -t (start time).

ссылки:

использование ffmpeg (slhck , 2012)

использование ffprobe (ivan -несон, 2014)

person webb    schedule 18.05.2016
comment
Спасибо! :) Я собираюсь проверить это прямо сейчас. Если у вас есть свободное время, интересно, насколько сложно было бы сделать скрипт, который позволял бы мне вводить ссылку, конкретное время, которое я хотел по этой ссылке/видео, и загружать его... В любом случае, вы были великолепны. помощь! :D - person Noble; 18.05.2016
comment
пожалуйста! определенно возможно сделать сценарий на основе этого, который позволит вам указать определенное время отсечения. это было бы проще, чем этот сценарий, так как ему потребуется только строка ffmpeg плюс одна новая строка для вычисления продолжительности на основе времени остановки - времени начала, например. используя expr stackoverflow.com/questions/8385627/. обратите также внимание на то, как $1 и $2 автоматически устанавливаются на первый и второй параметры, указанные вами в командной строке, например, "http://your/movie.flv" и title. То же самое касается $3 и т. д. - person webb; 19.05.2016
comment
Хорошо идеально! Включу это в свой список дел :) - person Noble; 19.05.2016