Verwenden der JSON-Schnittstelle zum Empfangen von Benachrichtigungen und Senden von Befehlen an Dragonframe über UDP.
Uso de la interfaz JSON para recibir notificaciones y enviar comandos a Dragonframe a través de 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] }
La interfaz JSON es un protocolo basado en UDP en Dragonframe, que utiliza el formato JSON para los mensajes.
Puede enviar comandos a Dragonframe y recibir notificaciones de él. Puede ser un punto de integración útil para usar Dragonframe con otros dispositivos o aplicaciones. Después de crear un dispositivo que envíe/reciba estos mensajes, use el programa Escena | Conexiones y agregue una conexión de tipo JSON. Nota: La característica opcional 'ver actualizaciones de marcos' se puede activar con command = 'viewFrameUpdates'. Esto le indica a Dragonframe que envíe un mensaje 'viewFrame' cada vez que el usuario cambia a un marco diferente. Proporcionamos una aplicación Qt de muestra que implementa esta interfaz. Puedes encontrar el proyecto JSON de muestra aquí. Debe compilarlo con Qt 5.3 o posterior.
Mensajes al Control Dragonframe
Disparo{ "comando": "disparar", "fotogramas": 1} Borrar{ "comando" : "eliminar" } Reproducir/Detener{ "comando" : "reproducir" } Ir a vivir{ "comando": "en vivo"} Silenciar{ "comando" : "silencio" } Cambiar Reproducir a negro{ "comando" : "negro" } Alternar bucle{ "comando" : "bucle" } Opacidad hacia abajo{ "comando" : "opacityDown" } Opacidad arriba{ "comando" : "opacityUp" } Un paso adelante{ "comando" : "paso Adelante" } Paso atrás{ "comando": "paso atrás"} Juego corto{ "comando" : "reproducción corta" } Alternar en vivo (Presionar){ "comando": "liveToggle", "estado": "presionado"} Alternar en vivo (liberar){ "comando": "liveToggle", "estado": "liberado"} Cambio automático{ "comando" : "cambio automático" } Alternar alta resolución/asistencia de video{ "comando" : "altoResAlternar" } Establecer actualizaciones de marcos de vista{ "comando": "viewFrameUpdates", "activo": verdadero|falso}
Mensajes de Dragonframe
Marco de disparo{ "evento": "rodaje", "producción": "[PRODUCCIÓN]", "escena": "[ESCENA]", "toma": "[TOMA]", "fotograma": [FOTO], "exposición" : [EXPOSICIÓN], "exposición" : "[NOMBRE DE LA EXPOSICIÓN]", "stereoIndex" : [ÍNDICE] } Eliminación de marco{ "evento" : "eliminar", "producción" : "[PRODUCCIÓN]", "escena" : "[ESCENA]", "tomar" : "[TOMAR]" } Cuadro de posición (Mover a cuadro){ "evento": "posición", "producción": "[PRODUCCIÓN]", "escena": "[ESCENA]", "toma": "[TOMA]", "fotograma": [FOTO], "mocoFrame" : [FOTO MOCO], "exposición" : [EXPOSICIÓN], "exposición" : "[NOMBRE DE LA EXPOSICIÓN]", "stereoIndex" : [ÍNDICE] } Captura completa{ "evento": "captura completa", "producción": "[PRODUCCIÓN]", "escena": "[ESCENA]", "toma": "[TOMA]", "fotograma": [FOTO], "exposición" : [EXPOSICIÓN], "exposición" : "[NOMBRE DE LA EXPOSICIÓN]", "stereoIndex" : [ÍNDICE], "imageFileName" : "[NOMBRE DEL ARCHIVO DE IMAGEN]" } Marco completo{ "evento": "fotograma completo", "producción": "[PRODUCCIÓN]", "escena": "[ESCENA]", "toma": "[TOMA]", "fotograma": [FOTO], "exposición" : [EXPOSICIÓN], "exposición" : "[NOMBRE DE LA EXPOSICIÓN]", "stereoIndex" : [ÍNDICE], "imageFileName" : "[NOMBRE DEL ARCHIVO DE IMAGEN]" } Ver marco{ "evento" : "viewFrame", "fotograma" : [FOTOGRAMA], "exposición" : [EXPOSICIÓN] }