Die Idee kam mir wegen dieser Frage im Forum:
Da dachte ich mir ein KDE Servicemenü wäre doch ganz praktisch, was das dann aus dem KDE Dateimanager Dolphin heraus direkt bequem per Rechtsklick erledigen kann. Hier ist es nun.
Folgende Voraussetzungen braucht es: KDE, smtube (nur für das Icon, kann man selbst ändern), ffmpeg, libnotfy-bin (für die Benachrichtigung Pop-ups)
Unter der Voraussetzung das KDE bereits installiert ist, wie etwa bei Kubuntu:
sudo apt-get install smtube ffmpeg ibnotify-bin
Sollte eines der Pakete bereits installiert sein, wird apt-get das melden und das Paket dann nicht noch einmal installieren.
Hier nun der Inhalt vom KDE Servicemenü "pic_with_audio":
Bitte weitergehen, neue erweiterte Version im weiteren Verlauf vom Thread.
[Desktop Entry] Type=Service ServiceTypes=KonqPopupMenu/Plugin MimeType=image/bmp;image/jpeg;image/png;image/gif;image/webp;image/tiff;image/svg+xml;image/vnd.microsoft.icon;audio/mpeg;audio/mp4;video/mp4;audio/webm;video/webm; Actions=pic_with_audio; X-KDE-Submenu=Picture with Audio ==> X-KDE-Submenu[de]=Bild mit Audio ==> Icon=smtube [Desktop Action pic_with_audio] Icon=smtube Name=Picture with Audo Name[de]=Bild mit Audio Exec=[ -f "`echo "%f" | grep -E " "`" ] && notify-send -i window-close.png "STOP! `echo "Dont use blanks in Filenames!"`" ; [ -f "`ls -1 output.mp4`" ] && notify-send -i window-close.png "STOP! `echo "output.mp4"` File exists!" ; [ ! -f "`echo "%f" | grep -E " "`" ] && [ ! -f "`ls output.mp4`" ] && `echo "%f" | xargs basename >> input_list.tmp` && ffmpeg -loop 1 -i `cat input_list.tmp | grep -Ei ".jpg|.jpeg|.png"` -i `cat input_list.tmp | grep -Ei ".mp3|.webm"` -filter:v "scale=1280:720:force_original_aspect_ratio=increase,crop=1280:720":-1 -c:v libx264 -crf 28 -preset veryslow -tune stillimage -c:a copy -pix_fmt yuv420p -shortest output.mp4 && rm input_list.tmp && notify-send -i dialog-ok-apply.png "Ready! :-)" "Picture with Audio: `echo output.mp4` Ready!"
Das kommt dann in eine Datei
/home/USERNAME/.local/share/kservices5/ServiceMenus/pic_with_audio.desktop
Wobei USERNAME der eigene jeweilige Username sein muss. Anschließend noch im Terminal (KDE Konsole) laufen lassen:
kbuildsycoca5 --noincremental
Das liest nicht nur die *.desktop Dateien neu ein, es überprüft auch auf grobe Syntax Fehler.
Um zu funktionieren muss eine Bilddatei *.jpg oder *.jpeg oder *.png markiert sein, und eine Audiodatei *.mp3 oder *.webm, die Ausgabe ist immer output.mp4. STRG Taste drücken beim markieren, um die zwei benötigten Dateien herauszupicken. Es stoppt, wenn die output.mp4 Datei bereits vorhanden ist, um Unheil zu verhindern. Keine Leerzeichen in der Bild- und Audiodatei bitte.