Основи роботи з Linux. / Команди bash. Работа в консоли / Пишемо команду склеювання відеофайлів.
Розберемо що є команда.
Будь-яка команда - це програма (файл), написана якоюсь мовою.
Зазвичай в Linux команди пишуть на bash, але вона може бути написана на будь-чому включаючи python.
Щоб команда стала доступною для виконання, потрібно виконати 2 умови.
-
Файл, що описує її програму, повинен мати права на виконання.
chmod +x myfile.py
-
Файл повинен знаходитися в одному зі шляхів, вказаних у $PATH.
Файл команди може бути текстовим (читабельним) або бінарним - результат компіляції мов як C++.
Файл .bash_aliases
Запускається щоразу під час запуску консолі й у нього записуються псевдоніми команд.
Наприклад
alias vjoin=’~/www/doc/shell/videojoin.sh’
У цьому випадку під час запуску команди vjoin у консолі буде виконано файл videojoin.sh у домашньому каталозі.
Файл videojoin.sh
rm ./output.mp4
echo '' > list.txt
for entry in ./*.mp4
do
echo "file $entry" | sed -e "s/.\///" -e "" >> list.txt
done
ffmpeg -f concat -i list.txt -codec copy output.mp4
Ця невелика програма відсортує та склеює відеоролики з каталогу в один файл.
1 - видаляємо файл output.mp4 у поточній папці
2 – створюємо порожній файл list.txt
3 - проходимо по всіх файлах відео з розширенням mp4
4 - записуємо ім’я кожного в тектовик
5 - запускаємо конвертацію за списком