jb_alvarado
Lieutenant
- Registriert
- Sep. 2015
- Beiträge
- 608
Hallo Allerseits,
ich wollte mal eure Meinung lesen, wie ihr darüber denkt und was in diesem Bereich die gängige Praxis ist.
Zur Vorgeschichte:
Ich entwickle auf Github ein Streaming-Programm, mit dem man entweder Ordnerinhalte, oder Playlisten mittels ffmpeg streamen kann. Sprache ist Rust, aber das ist hier weniger relevant.
Ein Nutzer hatte den Wunsch, dass ich eine Möglichkeit einbaue ein Script zu startet wenn der Videoclip sich ändert. Er streamt zu Twitch und würde gerne mittels Script den Titel auf Twitch ändern.
Das ganze ist mir so zu speziell, aber ich könnte mir vorstellen ein Interface zu integrieren, welches dann vom Benutzer mittels Scripting genutzt werden kann.
Für Rust gibt es die Crate PyO3, mit der man zur Laufzeit Python Code ausführen kann. Daher dachte ich mir, könnte ich das so benutzen. Würde auch erst mal nur in eine Richtung planen, also dass meine Software Python Code ausführen kann, und nicht umgekehrt von Python aus die Software zu steuern.
Die Frage ist jetzt wie geht man hier am besten vor, so dass ich das in Zukunft gut pflegen und erweitern kann und auch für den Benutzer keine zu große Hürde ist.
Auf die Schnelle dachte ich, ich könnte einen festen Pfad definieren, z.B.:
In Rust würde ich nun an entsprechender Stelle diese Funktion ausführen.
Wie würdet ihr denn so was lösen? Macht es Sinn einen festen Pfad zu definieren, oder soll ich lieber in der Konfig eine anpassbare Variable einfügen? Lieber nur einen Script Ordner angeben und diesen einlesen, oder eine einzelne Datei?
ich wollte mal eure Meinung lesen, wie ihr darüber denkt und was in diesem Bereich die gängige Praxis ist.
Zur Vorgeschichte:
Ich entwickle auf Github ein Streaming-Programm, mit dem man entweder Ordnerinhalte, oder Playlisten mittels ffmpeg streamen kann. Sprache ist Rust, aber das ist hier weniger relevant.
Ein Nutzer hatte den Wunsch, dass ich eine Möglichkeit einbaue ein Script zu startet wenn der Videoclip sich ändert. Er streamt zu Twitch und würde gerne mittels Script den Titel auf Twitch ändern.
Das ganze ist mir so zu speziell, aber ich könnte mir vorstellen ein Interface zu integrieren, welches dann vom Benutzer mittels Scripting genutzt werden kann.
Für Rust gibt es die Crate PyO3, mit der man zur Laufzeit Python Code ausführen kann. Daher dachte ich mir, könnte ich das so benutzen. Würde auch erst mal nur in eine Richtung planen, also dass meine Software Python Code ausführen kann, und nicht umgekehrt von Python aus die Software zu steuern.
Die Frage ist jetzt wie geht man hier am besten vor, so dass ich das in Zukunft gut pflegen und erweitern kann und auch für den Benutzer keine zu große Hürde ist.
Auf die Schnelle dachte ich, ich könnte einen festen Pfad definieren, z.B.:
/usr/lib/ffplayout/ffevents.py
und in dieser Datei würde ich leere Funktionen definieren:
Python:
def next_clip_event(media_obj):
"""
add your code to do something with media_obj,
for example calling requests.post(url, json = media_obj)
"""
pass
In Rust würde ich nun an entsprechender Stelle diese Funktion ausführen.
Wie würdet ihr denn so was lösen? Macht es Sinn einen festen Pfad zu definieren, oder soll ich lieber in der Konfig eine anpassbare Variable einfügen? Lieber nur einen Script Ordner angeben und diesen einlesen, oder eine einzelne Datei?