Verwenden der JSON-Schnittstelle zum Empfangen von Benachrichtigungen und Senden von Befehlen an Dragonframe über UDP.
Utilizzo dell'interfaccia JSON per ricevere notifiche e inviare comandi a Dragonframe tramite UDP.
Die JSON-Schnittstelle ist ein UDP-basiertes Protokoll in Dragonframe, das das JSON-Format für Nachrichten verwendet.
Sie können Befehle an Dragonframe senden und Benachrichtigungen davon erhalten. Es kann ein nützlicher Integrationspunkt für die Verwendung von Dragonframe mit anderen Geräten oder Anwendungen sein. Nachdem Sie ein Gerät erstellt haben, das diese Nachrichten sendet/empfängt, verwenden Sie das Programm Szene | Verbindungen und fügen Sie eine Verbindung vom Typ hinzu JSON. Hinweis: Die optionale Funktion „View Frame Updates“ kann mit command = „viewFrameUpdates“ aktiviert werden. Dies weist Dragonframe an, jedes Mal, wenn der Benutzer zu einem anderen Frame umschaltet, eine 'viewFrame'-Nachricht zu senden. Wir stellen eine Qt-Beispielanwendung bereit, die diese Schnittstelle implementiert. Sie können finden das Beispiel-JSON-Projekt hier. Sie müssen es mit Qt 5.3 oder neuer kompilieren.
Nachrichten zur Steuerung von Dragonframe
Schießen{ "Befehl" : "Aufnahme", "Frames" : 1 } Löschen{ "Befehl": "Löschen" } Abspielen/Stopp{ "Befehl": "Spielen" } Gehen Sie zu Live{ "Befehl": "Live" } Stumm{ "Befehl": "stumm" } Schalten Sie Wiedergabe auf Schwarz um{ "Befehl": "schwarz" } Schleife umschalten{ "Befehl": "Schleife" } Deckkraft nach unten{ "Befehl" : "opacityDown" } Deckkraft nach oben{ "Befehl" : "opacityUp" } Schritt vorwärts{ "command" : "stepForward" } Schritt zurück{ "command" : "stepBackward" } Kurzes Spiel{ "Befehl": "shortPlay" } Live umschalten (drücken){ "Befehl" : "liveToggle", "state" : "gedrückt" } Live-Toggle (Veröffentlichung){ "Befehl" : "liveToggle", "state" : "freigegeben" } Automatisch umschalten{ "Befehl" : "autoToggle" } High-Res/Video-Assist umschalten{ "Befehl": "highResToggle" } Stellen Sie Aktualisierungen des Ansichtsrahmens ein{ "Befehl" : "viewFrameUpdates", "aktiv" : wahr|falsch }
Nachrichten von Dragonframe
Aufnahmerahmen{ „event“ : „shooting“, „production“ : „[PRODUCTION]“, „scene“ : „[SCENE]“, „take“ : „[TAKE]“, „frame“ : [FRAME], „exposure“ : [BELICHTUNG], "Belichtung" : "[BELICHTUNGSNAME]", "stereoIndex" : [INDEX] } Rahmen löschen{ „event“ : „delete“, „production“ : „[PRODUCTION]“, „scene“ : „[SCENE]“, „take“ : „[TAKE]“ } Rahmen positionieren (Zum Rahmen verschieben){ „event“ : „position“, „production“ : „[PRODUCTION]“, „scene“ : „[SCENE]“, „take“ : „[TAKE]“, „frame“ : [FRAME], „mocoFrame“ : [MOCO FRAME], „Belichtung“ : [BELICHTUNG], „Belichtung“ : „[BELICHTUNGSNAME]“, „stereoIndex“ : [INDEX] } Erfassung abgeschlossen{ „event“ : „captureComplete“, „production“ : „[PRODUCTION]“, „scene“ : „[SCENE]“, „take“ : „[TAKE]“, „frame“ : [FRAME], „exposure“ : [BELICHTUNG], "Belichtung" : "[BELICHTUNGSNAME]", "stereoIndex" : [INDEX], "Bilddateiname" : "[NAME DER BILDDATEI]" } Rahmen komplett{ „event“ : „frameComplete“, „production“ : „[PRODUCTION]“, „scene“ : „[SCENE]“, „take“ : „[TAKE]“, „frame“ : [FRAME], „exposure“ : [BELICHTUNG], "Belichtung" : "[BELICHTUNGSNAME]", "stereoIndex" : [INDEX], "Bilddateiname" : "[NAME DER BILDDATEI]" } Rahmen anzeigen{ „Ereignis“ : „ViewFrame“, „Frame“ : [FRAME], „Belichtung“ : [BELICHTUNG] }
L'interfaccia JSON è un protocollo basato su UDP in Dragonframe, che utilizza il formato JSON per i messaggi.
È possibile inviare comandi a Dragonframe e ricevere notifiche da esso. Può essere un utile punto di integrazione per utilizzare Dragonframe con altri dispositivi o applicazioni. Dopo aver creato un dispositivo che invia/riceve questi messaggi, usa il file del programma Scena | Connessioni e aggiungi una connessione di tipo JSON. Nota: la funzione facoltativa "Visualizza aggiornamenti frame" può essere attivata con command = "viewFrameUpdates". Questo indica a Dragonframe di inviare un messaggio 'viewFrame' ogni volta che l'utente passa a un frame diverso. Forniamo un'applicazione Qt di esempio che implementa questa interfaccia. Potete trovare il progetto JSON di esempio qui. Devi compilarlo con Qt 5.3 o successivo.
Messaggi per controllare Dragonframe
Sparare{ "command" : "shoot", "frames" : 1 } Elimina{ "comando" : "cancella" } Riproduci/Interrompi{ "comando" : "riproduci" } Vai a Vivere{ "comando" : "live" } Muto{ "comando" : "muto" } Passa a Riproduci in nero{ "comando" : "nero" } Attiva / disattiva loop{ "comando" : "loop" } Opacità giù{ "comando" : "opacitàGiù" } Opacità su{ "comando" : "opacityUp" } Passo in avanti{ "comando" : "passoAvanti" } Passo indietro{ "command" : "stepBackward" } Gioco breve{ "comando" : "shortPlay" } Attiva/disattiva live (premere){ "comando" : "liveToggle", "stato" : "premuto" } Attiva/disattiva live (rilascio){ "command" : "liveToggle", "state" : "released" } Commutazione automatica{ "comando" : "commutazione automatica" } Attiva/disattiva alta risoluzione/assistenza video{ "command" : "highResToggle" } Imposta gli aggiornamenti della cornice della vista{ "comando" : "viewFrameUpdates", "attivo" : vero|falso }
Messaggi da Dragonframe
Cornice di tiro{ "event" : "shoot", "production" : "[PRODUCTION]", "scene" : "[SCENE]", "take" : "[TAKE]", "frame" : [FRAME], "exposure" : [ESPOSIZIONE], "esposizione" : "[NOME ESPOSIZIONE]", "indice stereo" : [INDICE] } Cancellazione cornice{ "event" : "delete", "production" : "[PRODUCTION]", "scene" : "[SCENE]", "take" : "[TAKE]" } Posizione cornice (Sposta su cornice){ "event" : "position", "production" : "[PRODUCTION]", "scene" : "[SCENE]", "take" : "[TAKE]", "frame" : [FRAME], "mocoFrame" : [MOCO FRAME], "esposizione" : [ESPOSIZIONE], "esposizione" : "[NOME ESPOSIZIONE]", "stereoIndex" : [INDICE] } Cattura completata{ "event" : "captureComplete", "production" : "[PRODUCTION]", "scene" : "[SCENE]", "take" : "[TAKE]", "frame" : [FRAME], "exposure" : [ESPOSIZIONE], "esposizione" : "[NOME ESPOSIZIONE]", "stereoIndex" : [INDICE], "imageFileName" : "[NOME FILE IMMAGINE]" } Cornice completa{ "event" : "frameComplete", "production" : "[PRODUCTION]", "scene" : "[SCENE]", "take" : "[TAKE]", "frame" : [FRAME], "exposure" : [ESPOSIZIONE], "esposizione" : "[NOME ESPOSIZIONE]", "stereoIndex" : [INDICE], "imageFileName" : "[NOME FILE IMMAGINE]" } Visualizza cornice{ "event" : "viewFrame", "frame" : [FRAME], "exposure" : [EXPOSURE] }