Kvs Player Downloader [exclusive] -
// 2️⃣ Create the media client mediaClient := kvmedia.NewFromConfig(mediaCfg)
// Create a media client bound to that endpoint const mediaClient = new KinesisVideoMediaClient( region: REGION, endpoint: DataEndpoint, ); kvs player downloader
// 1️⃣ Get data endpoint for GET_MEDIA kvClient := kv.NewFromConfig(cfg) epOut, err := kvClient.GetDataEndpoint(ctx, &kv.GetDataEndpointInput APIName: kv.APINameGetMedia, StreamARN: aws.String(streamARN), ) if err != nil panic(err) mediaCfg := cfg.Copy() mediaCfg.EndpointResolver = aws.EndpointResolverFromURL(*epOut.DataEndpoint) // 2️⃣ Create the media client mediaClient := kvmedia
| Scenario | Why a downloader is needed | |----------|----------------------------| | | Capture footage for forensic review, machine‑learning pipelines, or compliance audits. | | Edge‑to‑cloud backup | Pull archived video from a stream that was only temporarily stored in the cloud. | | Custom playback | Bypass the standard KVS Player SDK (WebRTC or HLS) to embed video in non‑browser environments (e.g., desktop apps, embedded devices). | | Integration with third‑party tools | Feed raw fragments into FFmpeg, GStreamer, or video‑analytics frameworks. | | | Integration with third‑party tools | Feed
// 3️⃣ Pipe the payload directly to a file (or to FFmpeg for re‑muxing) const outFile = createWriteStream("downloaded-stream.mp4"); await pipeline(resp.Payload, outFile);
async def download(): endpoint = await get_data_endpoint() url = f"endpoint/getMedia?StreamARN=STREAM_ARN&StartSelector.Type=NOW" headers = sign_request(url)
