О! А хотите научу как "по хакерски" через командную строку видос с ютуба скачать и что-то эдакое с ним сделать, например перевернуть. Задача чисто для примера. Допустим вам попался видос на ютубе, который кто-то запостил боком:
Не знаю кто этот "воин", что так запостил, но, допустим, загорелось вам эту даму поставить надлежащим образом из лежачего положения.
Для начала видос нужно скачать.
Да, для .того есть много разных способов, например дописать в адресной строке к ссылке перед словом youtube две буквы 's'. Получится так.
Было: "www.youtube.com/watch?v=ri297N6ruJM"
Стало: "www.SSyoutube.com/watch?v=ri297N6ruJM"
Я дописал две заглавные S, но это не важно какие именно они. Просто чтобы было заметнее.
Но есть и "хакерский" (а на мой вкус и более удобный способ). Через командную строку (беслпатно, без подписок и СМС).
Для этого идём по ссылке: https://github.com/yt-dlp/yt-dlp, Мотаем до раздела Installation и качаем дистрибутив, который предназначен для вашей операционки:
Это утилита командной строки. Ага, её из командной строки запускают. Командная строка - это... ух ща будет для кого-то кроличья нора. В общем, это такой, типа, "чат" с вашей операционной системой. Она малость тупая, и понимает только специальные команды, а не что угодно.
Фактически, команда (в большинстве случаев) - это имя программы, а дальше через пробел после команды пишутся параметры. Обычно их так и называют "параметры (или аргументы) командной строки". Что надо знать о командной строке:
Вы всегда находитесь в каком-то конкретном пути в вашей файловой системе.
Файловая система - это каталоги и файлы на вашем компьютере. Они формируют, как бы, дерево. У линукса и макоси корень у этого дерева один: "/". А у винды каждый логический диск на компуктере имеет своё дерево: "C:\", "D:\" - это два корня ваших дисков. Но текущий каталог всегда указывает в какое-то одно конкретное место, например, вот так можно обычно выяснить текущий каталог:
trapwalker@MacBook-Pro-Of-Trapwalker ~ % pwd
/Users/trapwalker
Это на маке так. Тут "trapwalker" - это моё имя пользователя, через собаку указано имя моего компа, а тильда ("~") - это такой значок, который обозначет домашний каталог. Ну и знак процента - это приглашение командной строки. Мне всё это писать не пришлось, потому что это и так есть в терминале. На других компах и системах это будет выглядеть, наверняка как-то иначе. Важно понимать, что "pwd" здесь - это команда и написал её я сам. В ответ на эту команду вага операционная система в этот "чат" (терминал) ответит какой сейчас путь до текущего каталога. Вон он ответ во второй строке. Давайте прочитаем: первый символ "/" - это корень файловой системы; "Users" - это каталог где собраны домашние папки (каталоги) пользователей; "trapwalker" - это имя моего пользователя в системе и за одно так назван мой домашний каталог. Так будет на любом маке или компе с линуксом. На винде чуть иначе, но суть та же.
Давайте в этом домашнем каталоге сделаем подкаталог, где будем делать эксперименты:
trapwalker@MacBook-Pro-Of-Trapwalker ~ % mkdir my_example_folder
trapwalker@MacBook-Pro-Of-Trapwalker ~ % cd my_example_folder
trapwalker@MacBook-Pro-Of-Trapwalker my_example_folder % pwd
/Users/trapwalker/my_example_folder
Тут в первой строчке я скомандовал ("mkdir") сделать каталог. В качестве параметра команде передал имя нового каталога: "my_example_folder". Можете написать любое, но если хотите, чтобы в нём были пробелы или какие-то особые символы, то придётся мудохаться с "экранированием" этих символов кавычками. Ну чтобы операционная система не запуталась. Она не шибко сообразительна в этом вопросе и действует строго по алгоритму. Не думаю, что имеет смысл тут распространяться подробнее про экранирование, иначе... да я уже чувствую, что меня прокляли, и не раз.
Во второй строчке я выполнил команду перехода во вновь созданный каталог.
В третьей выполнил уже знакомую вам команду "pwd", а терминал ответил путём к текущему каталогу. Вон он теперь указывает на новую директорию.
Вот пишу эту всю ересь и думаю... а оно вам надо? Ну в смысле кто и так знает и умеет - им точно не надо. А кто не умеет и не знает, то как-то они ж обходились до сих пор же! Короче, у самурая нет цели, только путь.
У винды кажись другая команда для создания каталога. "md" вроде. Не помню. А есть у винды "pwd"? Забыл уже.
Следующее что нужно знать о командной строке, - это...
Нет, так дело не пойдёт. Это тянет на целую серию статей, а не понятно же надо оно тем кому это может быть полезным, или не надо.
Качаем нужный дистрибутив в отдельный каталог. Устанавливаем его как текущий в терминале. Запускаем команду:
Тут "yt-dlp" - имя скачанной вами утилиты; дальше в кавычках ссылка на видеоролик, дальше "-o" английская - это "ключ", именованный параметр командной строки, а "vidos.mp4" - значение этого параметра. По сути этот параметр говорит утилите под каким именем нужно сохранить скачанный файл в текущем каталоге. Иначе имя будет состоять из названия, прописанного в ютубе, а там дичь, иероглифы, пробелы и что угодно. Будет трудно работать с таким именем с непривычки.
После запуска такой команды при наличии VPN (если в РФ) начнётся закачка. Она не быстрая, для примера взятое видео размером метров 600.
В конце концов, если всё хорошо, то команда завершится (перестанет писать всякое в терминал) и у вас в текущем каталоге будет файл "vidos.mp4".
Так... половина дела сделана.
Теперь по плану надо видос перевернуть.
Идём на https://www.ffmpeg.org/download.html и качаем для своей операционки ffmpeg.
Это утилита, которая дохрена чего умеет делать с видеопотоком. Она умеет и звук отделать от видео, и прилеплять звук к видео. и... ой, да что ттолько она не умеет. Даже таймлапсы из фоточек в видеоролик собрать. Если хотите - расскажу как такое сделать. Спрашивайте. Таких постов и статей и так в инете не меряно, но если вот вам для понимания не хватало моего словоблудия, то... Я уже пожалел, что затеял этот пост. Чесслово.
Короче, вы скачали и поставили каким-то чудом ffmpeg.
Теперь если это волшебное слово сказать терминалу, он не скажет, что это неизвестная команда, а скажет что-то непонятное и полезное для понимающих людей.
Нам же нужно выполнить вот такую вот команду:
ffmpeg -i vidos.mp4 -vf "transpose=1" my_rotated_vidos.mp4
Буквально тут предписывается утилите ffmpeg взять видос с именем "vidos.mp4" на вход (ключ "-i", как бы, намекает). Потом применить к нему операцию транспонирования с параметром 1 (по часовой стрелке) и результат запхать в файл с именем "my_rotated_vidos.mp4" (тут можно уже любое имя).
FFMPEG начнёт долго пыхтеть и работать, а потом у вас появится нужный перевёрнутый файл в этом каталоге с указанным именем.
Вуа, блин, ля! Нет ничего проще, нахрен!
Кстати, пикабушка наша не позволяет загружать видеоролики длинее 3 минут или больше 500 мегабайт. А ещё можно по ширине не более 720px. В общем, пришлось обрезать ролик. Это я сделал тоже с помощью ffmpeg:
ffmpeg -i my_rotated_vidos.mp4 -t 170 -vf scale=720:-1 pika_vidos.mp4
Если че - спрашивайте. А я пошел думать нахрена я всё это тут понаписал. Прокрастинирую, походу. Ломает разбираться почему не запускаются исходники roaddogs (вот тут писал про эту игру) в докере.