Я хотел бы иметь возможность загружать только часть видео. Например, возможность указать время начала и / или окончания загрузки. Таким образом, когда пользователь вводит время начала и окончания видео, он должен загружать только часть клипа в пределах отметок времени. Возможно ли это?
Существует действительно множество методов, доступных онлайн для выполнения этого. Одна довольно основная техника является следующим одним лайнером, который работает достаточно хорошо над моей системой с клипом YouTube:
ffmpeg -i $(youtube-dl -f 22 --get-url https://www.youtube.com/watch?v=ZbZSe6N_BXs) \
-ss 00:00:10 -t 00:00:30 -c:v copy -c:a copy \
happy.mp4
2 раздела, которые управляют клипом, запускаются и заканчиваются в этом примере:
Я протестировал это экстенсивно с YouTube и всеми работами хорошо над моей собственной системой...
Ссылки:
Используйте --postprocessor-args
параметр для передачи аудио/видеовыхода ffmpeg
быть отредактированным (процессор). По-видимому, ffmpeg
необходим, чтобы быть установленным.
--postprocessor-args
берет 3 аргумента и значения (это - просто пример, проверьте страницу руководства ffmpeg
с man ffmpeg
для больше):
-ss HH:MM:SS
: время начала для взятия-to HH:MM:SS
: время окончания-t HH:MM:SS
: продолжительность для взятияПримеры:
Начните кодировать в 15 секунд и остановку в 1 минуту 20 секунд:
$ youtube-dl --postprocessor-args "-ss 0:0:15 -to 0:1:20" '[video_URL]'
Начните кодировать в 15 секунд и займите только следующие 3 минуты 5 секунд:
$ youtube-dl --postprocessor-args "-ss 0:0:15 -t 0:3:5" '[video_URL]'
PS: youtube-dl
загрузит все медиа прежде, чем обработать его и удалит его после.
Инструмент сантехник позволяет легко это сделать. Установите приложение с помощью:
snap install plumber
После установки оно появится в меню ваших приложений.
При запуске приложения вставьте нужную ссылку на YouTube в поле (выделено красным на снимке экрана ниже) или воспользуйтесь встроенной функцией поиска YouTube, нажав на значок YouTube (выделено желтым цветом).
Выберите начальную и конечную точки. Вы можете сохранить результат в виде видео или GIF.
Я следил за ответом andrew.46. Однако вы хотели бы поставить -ss
и -t
или -to
перед -i
для правильного поиска. В противном случае вы загрузите больше, чем хотите.
(-t
указывает продолжительность, а -to
указывает точку вывода; будьте осторожны, поскольку они разные)
В руководстве ffmpeg нам говорят использовать -t
или -to
после -i
. Однако, исходя из моего опыта работы с ffmpeg, -to
не работает после -i
; он будет распознан как -t
.
Мой пример команды: (загрузить скользящую часть корзины «Coffee Run»)
ffmpeg -ss 00:00:37 -to 00:00:44 -i "$(youtube-dl -f best --get-url 'https://youtu.be/PVGeM40dABA')" -c:v copy -c:a copy coffee_sliding.mp4