camera.startCapture

Avvia l'acquisizione video o l'acquisizione di immagini a intervalli, a seconda del valore di captureMode in Opzioni. Questo comando è stato aggiunto nel livello API 2.

Parametri

  • Questo comando non ha parametri nel corpo della richiesta. La scelta dell'acquisizione di immagini a intervalli o di video dipende dall'opzione captureMode. Per l'acquisizione a intervalli, il fatto che si tratti di acquisizione aperta o meno dipende dal fatto che captureNumber sia uguale o maggiore di 0. captureMode, captureInterval e captureNumber devono essere impostati prima dell'acquisizione a intervalli. Solo captureMode deve essere impostato su "video" prima dell'acquisizione video, che può essere interrotta solo con il comando camera.stopCapture.

Risultati

  • Acquisizione aperta (quando CaptureMode == "video" o CaptureNumber == 0)
    • Nessun risultato.
  • Acquisizione a intervalli non aperti:
    • fileUrls: un elenco di URL assoluti che rimandano a file immagine per l'acquisizione a intervalli. Tieni presente che questo comando non restituisce fileUrls immediatamente, poiché l'acquisizione richiede captureNumber per essere completata. L'avanzamento del comando può essere ottenuto eseguendo il polling periodico della videocamera. Ad esempio, esegui un sondaggio dopo una durata stimata (time = captureInterval * (captureNumber - 1)) utilizzando l'API /osc/commands/status e fileUrls è il risultato restituito al termine del comando. Se il comando non viene completato correttamente (ad esempio, sono state scattate solo 3 immagini prima che la fotocamera si scarichi) o la videocamera viene disconnessa dal telefono client al centro, ma il comando viene completato correttamente, il client dovrebbe essere in grado di ottenere le immagini utilizzando camera.listFiles in un secondo momento, quando viene stabilita una nuova connessione tra il client e la fotocamera.

Errori

  • disableCommand: il comando è attualmente disattivato; ad esempio, la fotocamera si trova nel bel mezzo di un'acquisizione video o di un'acquisizione a intervalli.
  • invalidParameterName: il nome del parametro non è riconosciuto, ad esempio sessionId non è riconosciuto.

I/O comando

Input dei comandi
none
Output comando
{
    "results": {
        "fileUrls":[
            "url1",
            "url2",
            "url3",
            ...
            "urln"
        ]
    }
}
Output comando (errore)
{
    "error": {
        "code": "disabledCommand",
        "message": "Command is currently disabled."
    }
}