ubuntuusers.de

LibreOffice Calc --> Hyperlink --> Terminal starten?

Status: Ungelöst | Ubuntu-Version: Ubuntu 22.04 (Jammy Jellyfish)
Antworten |

Stuttgart

Anmeldungsdatum:
15. Februar 2021

Beiträge: 9

Hallo,

ich nehme Calc um meine Videoaufzeichnungen zu schneiden. Dazu gebe ich in einer entsprechenden Tabelle Start- und Endzeit des Videos ein und lasse mir eine entsprechenden Befehl ausgeben, der bspw. so aussieht:

ffmpeg -ss 00:04:09 -i "Name ungeschnittene Videodatei"  -t 01:28:35 -c:a copy -c:v copy -metadata title="Video-Titel" "Video-Dateiname.m2t"

Geht extrem schnell und klappt wunderbar. Dann noch Rechtsklick –> Kopieren –> Terminal starten –> Rechtsklick –> Einfügen –>ENTER.

Aber klar frage ich mich jetzt, ob ich diese von Calc generierte ffmpeg.. Zeile nicht einfach anklicken könnte, das Terminal öffnet sich automatisch, der Befehl wird eingefügt und ich muss evt. maximal ENTER drücken. Das wäre optimal.

Alternativ stünde mir ein MS-Office 2021 zur Verfügung, Windows 10 Pro als Dual-Boot Option, aber das wäre ehrlich gesagt eher suboptimal.

micneu

Avatar von micneu

Anmeldungsdatum:
19. Januar 2021

Beiträge: 810

Wohnort: Hamburg

Warum baust du dir nicht einfach ein Script ohne Calc? Das geht noch schneller!

Stuttgart

(Themenstarter)

Anmeldungsdatum:
15. Februar 2021

Beiträge: 9

Darüber habe ich noch nicht nachgedacht, wahrscheinlich weil es mit Calc und/oder Excel bequem und schnell geht. Vier Daten eingeben (Videoquellname, Videozielname, Startzeit, Endezeit) und am Ende steht oben zitierte ffmpeg-Zeile, die ich bis dato kopiere und einfüge.

Achja und noch etwas: Ganz selten schneide ich auch Quelldateien von Privatsendern. Nur wirklich selten, da die Qualität (SD) einfach unterirdisch ist und Filme oft extrem gekürzt sind. Falls aber doch, dann arbeitet CALC automatisch den gesamten Stapel ab, sind in der Regel ca. 20-minütige Videoschnipsel, generiert daraus einen ffmpeg-Stapel, der genauso einfach kopiert und eingefügt werden kann. Und danach natürlich zusammengesetzt wird.

hakel2022

Anmeldungsdatum:
21. Februar 2022

Beiträge: 3177

In der Theorie sollte das kein Problem sein.

Du brauchst ein Makro, daß eine Shellfunktion ausführt.

Aber ob sich dieser Aufwand wirklich lohnt ... 😎

TNTMaster

Anmeldungsdatum:
30. Juli 2009

Beiträge: 879

micneu schrieb:

Warum baust du dir nicht einfach ein Script ohne Calc? Das geht noch schneller!

Seh ich auch so, Workflow wäre dann: Rechtsklick auf Video > Öffnen mit SKRIPT.sh > Terminal öffnet automatisch, da deine Zeiten, Dateinamen eingeben und los gehts

Gruß TNT

Stuttgart

(Themenstarter)

Anmeldungsdatum:
15. Februar 2021

Beiträge: 9

Nehm ich mal als Tipp, danke. Leider ist libreoffice-forum.de irgendwie derzeit nicht erreichbar. Dort könnte ich wahrscheinlich eher mal stöbern, lesen und ggf. fragen.

Gloster

Anmeldungsdatum:
9. April 2020

Beiträge: 417

Schau mal hier hin : https://help.libreoffice.org/6.3/de/text/sbasic/python/python_programming.html

Ich muss allerdings gestehen, so richtig verstehe ich es nicht wenn du sagst : "... klappt wunderbar...".

Du gibt nur die Zeiten vor, für die Schnittpunkte, aber berücksichtigst weder I-Frames, noch IDR-Frames (h.264, h.265).

Das heißt aber, dass der Schnittpunkt mit Video-Bild-Störungen versetzt ist.

hakel2022

Anmeldungsdatum:
21. Februar 2022

Beiträge: 3177

Ich verstehe das auch nicht richtig.

Sub ShellMakro
Dim oSheet as Object, oCell as Object
oSheet = ThisComponent.CurrentController.getActiveSheet()
oCell = oSheet.getCellRangeByName("A1")


Shell (oCell.getString (A1))

End Sub

Das auf eine Schaltfläche/Button würde doch reichen. Aber ist das wirklich eine Erleichterung? 😎

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1274

Alternativ stünde mir ein MS-Office 2021 zur Verfügung, Windows 10 Pro als Dual-Boot Option, ...

Es ist bekannt, dass LibreOffice Calc deutlich weniger kann als Excel. Dennoch kann man die fehlende Funktionalität von Calc etwas kompensieren. Eine Möglichkeit ist die von hakel2022 skizzierte Lösung über Macros.

Ich möchte hier eine weitere Lösung beschreiben. Sie basiert auf der Funktion "HYPERLINK(URL;Text)", die z.B. eine URL (über https:// oder file://) aufruft, wenn man die Zelle mit gleichzeitigem Drücken der "Strg" Taste anklickt. Abhängig vom File-Type der Datei wird das zugeordnete MIME Programm aufgerufen. Somit kann ein .jpg Bild angezeigt oder ein .mp4 Video abgespielt werden.

Das Ausführen eines Programms (z.B. ffmpeg) wird normalerweise über diesen Weg nicht unterstützt. Aus diesem Grund verwende ich die "telnet://" URL etwas zweckentfremdet.

Bei "firefox" wird bei der "telnet://user@host" URL das Programm "konsole" aufgerufen und einige Parameter übergeben. Ich habe daher das folgende bash-Script in den Ordner "~/bin" kopiert:

$ echo '#!/bin/bash
# in $4 ist der Befehl. Das erste "/" ist zu löschen. Das "@*" ist zu löschen
cmd=${4%@*}
xterm -hold -e "echo \$ ${cmd:1};${cmd:1}"
' >~/bin/konsole
$ chmod 755 ~/bin/konsole
$ 

Es wird praktisch der "Username" zweckentfremdet und hier die Befehlszeile eingefügt. Als Beispiel ist die Datei "Hyperlink.xlsx" beigefügt. Wie man sieht ist in der Spalte A eine Applikation eingetragen. In Spalte B das Directory und in Spalte C der Dateiname. In Spalte D ist die Formel z.B. in Zelle D2 eingetragen:

=WENN(A2="";HYPERLINK("file://"&B2&C2;"Teste");HYPERLINK("telnet:///"&A2&" "&B2&C2&"@x";"CMD"))

Falls man bereits eine "konsole" Applikation im "/bin" (o.Ä.) Verzeichnis hat, sollte das Script "konsole" über "$PATH" vorher aufgerufen werden können.

Hyperlink.xlsx (5.8 KiB)
Download Hyperlink.xlsx
Antworten |