Основи роботи з Linux. / Команди bash. Работа в консоли / Пишемо команду склеювання відеофайлів.

Розберемо що є команда.

Будь-яка команда - це програма (файл), написана якоюсь мовою.

Зазвичай в Linux команди пишуть на bash, але вона може бути написана на будь-чому включаючи python.

Щоб команда стала доступною для виконання, потрібно виконати 2 умови.

  1. Файл, що описує її програму, повинен мати права на виконання.

    chmod +x myfile.py

  2. Файл повинен знаходитися в одному зі шляхів, вказаних у $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 - запускаємо конвертацію за списком