Чего я пытаюсь достичь:
Расширение контекстного меню Nautilus путем простого выбора JPG-файла и файл MP3, чтобы объединить их в файл MP4, как я уже сделал в терминале, с помощью этой команды:
ffmpeg -r 1 -loop 1 -i image.jpg -i audio.mp3 -acodec copy -r 1 -shortest -vf scale=1920:1080 video.mp4
––––––––––––––––––––––––––– -
Вот что я сделал:
Я создал файл Composite_video.sh
и сохранил его в / opt / lampp / htdocs / git / nautilus-scripts
(чтобы синхронизировать его и с моим GitHub)
#!/bin/bash
if [ "$#" -ne 2 ]; then
echo "Call the script with ./$(basename "$0") (path to image) (path to video)"
else
ffmpeg -r 1 -loop 1 -i "$1" -i "$2" -acodec copy -r 1 -shortest -vf scale=1920:1080 video.mp4
fi
Затем я создал новый FileManager-Action, например:
–––––––––––––––––––––––––––
Это не работает. Если я выберу JPG и MP3 и выберу действие в контекстном меню Nautilus, ничего не произойдет. Что я сделал не так?
Во-первых... У вас нет передачи параметров. Вы не даете ему никаких файлов для обработки.
Я использую Ubuntu 20.04 в Flashback... так что могут быть какие-то другие отличия, на которые вам, возможно, придется обратить внимание... Но у меня это работает.
просто для заметок... В дополнение к filemanager-actions я также установил nautilus-actions и nautilus-extension-fma, так как я использую nautilus ... Я не знаю, какой эффект это имело, потому что я сначала думал, что это не работает для меня.
Я вообще не замечал, что он работает, пока не сделал nautilus -q
Затем, когда я это сделал, я обнаружил, что мне нужно запустить nautilus либо из терминала, либо на вкладке «Выполнение» выберите «Показать вывод». ", чтобы я мог посмотреть журналы, чтобы понять, почему он не выполнялся... запуск непрерывного хвоста в /var/log/syslog в отдельном терминале также дал тот же результат.
Основная проблема после того, как я выяснил, что мне пришлось (ну, во-первых, щелкнуть правой кнопкой мыши по значку) использовать тип параметра %F на вкладке команды (%F=список файлов... или %U=список uri), заключался в следующем. что он читает список параметров в алфавитном порядке... еще не придумал "правильное" исправление для этого. Итак, обходной путь: мне пришлось переименовать песню, чтобы она читалась последней... как вы можете видеть на картинке.