Docs / SDK / Go / Video

Go — módulo Video

🚧 En proceso de liberación  El paquete video ya existe en el SDK de Go, pero el servidor real de /v1/video todavía no está desplegado. El código y los ejemplos de esta página siguen el spec publicado como borrador adelantado — los paths y payloads pueden cambiar cuando se construya la API real.

Importar y crear el objeto

import (
    "github.com/webability/webability-go/wa"
    "github.com/webability/webability-go/video"
)

api := wa.New("tu-client-id", "tu-token-secreto")
v := video.New(api)

Jobs de transcodificación

job, err := v.CreateJob(video.CreateJobRequest{
    SourceURL: "https://tusitio.com/video.mp4",
    Profile:   "hls_1080_720_480",
    Output:    video.JobOutput{Type: "hls", Path: "videos/abc123/"},
})
// job.ID, job.Status ("queued" | "processing" | "finished" | "failed")

got, err := v.GetJob(job.ID)
// got.Outputs["hls_master"]

list, err := v.ListJobs()
// list.Jobs, list.Count

err = v.CancelJob(job.ID)

Perfiles (renditions)

profile, err := v.CreateProfile(video.Profile{
    Name: "hls_720", Type: "hls",
    Renditions: []video.Rendition{
        {Name: "720p", Width: 1280, Height: 720, VideoBitrate: 3000, AudioBitrate: 128, FPS: 30},
    },
})

list, err := v.ListProfiles()
got, err := v.GetProfile("hls_720")
err = v.DeleteProfile("hls_720")

Especificación funcional completa (conceptos, quickstart, webhooks): /documentacion/video.