Как объединить JPG-файл и MP3-файл в MP4-файл с помощью FileManager-Actions?

Я только что установил »FileManager-Actions«

Теперь я пытаюсь получить команду, работающую для объединения JPG-файла (его всегда 1920x1080px) с MP3-файлом в MP4-файл.

Обычно эта команда используется в терминале, чтобы сделать это:

ffmpeg -r 1 -loop 1 -i image.jpg -i audio.mp3 -acodec copy -r 1 -shortest -vf scale=1920:1080 video.mp4

Но я действительно не понимаю, как сделать возможным с FileManager-Actions, что я мог бы просто выбрать JPG-файл и MP3-файл и выполните команду для создания MP4-файла, как в моей команде ранее.

Я знаю, что мне придется изменить это »image.jpg« и »audio.mp3« в моей команде. Но во что ???

Спасибо!

1
задан 4 June 2019 в 00:43

1 ответ

В действиях Filemanager используются те же символы-заполнители , что и в файлах запуска .desktop. Это может ответить на ваш вопрос, какие символы-заполнители использовать.

%F - это заполнитель, который возвращает все выбранные файлы в отдельных строках. В самом простом, но не надежном способе вам потребуется дисциплина для выбора сначала аудиофайла, а затем файла изображения (или наоборот). Затем вы читаете первый файл из %F в переменную AUDIO, а второй файл - в переменную PICTURE. Наконец, вы выполняете команду, подставляя $ AUDIO "для аудиофайла и" $ PICTURE "для файла изображения. Используйте кавычки, чтобы пробелы в именах файлов обрабатывались правильно.

Чтобы сделать его более надежным, вы может потребоваться добавить еще немного кода для проверки и подготовки сценария перед выполнением действительной команды для присоединения файлов путем чтения и анализа списка файлов. Это также может иметь преимущество в том, что можно выбирать файлы аудио и изображений в любом порядке. и предотвратит непредвиденные проблемы, если будут выбраны неподходящие файлы.

Таким образом, ваш скрипт должен:

  • Проверить, выбраны ли точно два файла, или выйти с сообщением об ошибке (вы можете использовать zenity для этого), если это не так;
  • Определите, какой из них является видеофайлом, а какой - графическим (команда file здесь полезна), и назначьте каждое из имен файлов соответствующая переменная, т. е. AUDIO для музыкального файла и PICTURE для изображения. Сгенерируйте ошибку и выйдите, если (один из ) выбранные файлы недействительны.

Если все это хорошо, сценарий продолжает выполнение команды.

0
ответ дан 4 June 2019 в 00:43

Другие вопросы по тегам:

Похожие вопросы: