INTEGRITY Dokumentace

Nahrání pomocí odkazu

Pokud máte videa uložená v cloudovém úložišti (R2, S3, GCS) nebo je hostuje služba, která poskytuje odkaz ke stažení, můžete předat jeho URL adresu. Stream soubor stáhne za vás.

Vytvořte POST požadavek na Stream API pomocí odkazu na vaše video.

		curl \
		--data '{"url":"https://pub-2da57dbfcf5f4369863991d59747d686.r2.dev/acadia.mp4","meta":{"name":"My First Stream Video"}}' \
		--header "Authorization: Bearer <API_TOKEN>" \
		https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/copy
const client = new Cloudflare({
	apiEmail: process.env['CLOUDFLARE_EMAIL'], // This is the default and can be omitted
	apiKey: process.env['CLOUDFLARE_API_KEY'], // This is the default and can be omitted
});

const video = await client.stream.copy.create({
	account_id: '<ACCOUNT_ID>',
	url: 'https://pub-2da57dbfcf5f4369863991d59747d686.r2.dev/acadia.mp4',
});

Podívejte se na celý Stream Referenční dokumentace REST API a SDK kde najdete podrobnosti o používání REST API z externích aplikací, včetně předpřipravených SDK pro externí aplikace v TypeScriptu, Pythonu nebo Go.

export default {
	async fetch(request, env, ctx): Promise<Response> {
		// upload a video with a link
		const videoDetails = await env.STREAM.upload(
			"https://pub-2da57dbfcf5f4369863991d59747d686.r2.dev/acadia.mp4",
			// (optional) attach metadata
			{ meta: { name: "My First Stream Video" } }
		);

		// return a Workers response
		return new Response(
			JSON.stringify(videoDetails),
		);
	},

} satisfies ExportedHandler<{ STREAM: StreamBinding }>;
{
	"$schema": "node_modules/wrangler/config-schema.json",
	"name": "<ENTER_WORKER_NAME>",
	"main": "src/index.ts",
	"compatibility_date": "2026-04-14",
	"observability": {
		"enabled": true
	},
	"stream": {
		"binding": "STREAM"
	}
}

Podívejte se na celý Referenční dokumentace API pro Workers Stream binding.

Pokud máte videa uložená v cloudovém úložišti, můžete předat HTTP odkaz na soubor a Stream jej stáhne za vás.

Kontrola stavu videa

Stream musí video stáhnout a zakódovat, což může trvat několik sekund až několik minut podle délky videa.

Když readyToStream vrátí hodnotu true, vaše video je připraveno ke streamování.

Volitelně můžete použít webhooky který vás upozorní, jakmile bude video připraveno ke streamování, nebo pokud dojde k chybě.

{
  "result": {
    "uid": "6b9e68b07dfee8cc2d116e4c51d6a957",
    "thumbnail": "https://customer-f33zs165nr7gyfy4.cloudflarestream.com/6b9e68b07dfee8cc2d116e4c51d6a957/thumbnails/thumbnail.jpg",
    "thumbnailTimestampPct": 0,
    "readyToStream": false,
    "status": {
      "state": "downloading"
    },
    "meta": {
      "downloaded-from": "https://pub-2da57dbfcf5f4369863991d59747d686.r2.dev/acadia.mp4",
      "name": "My First Stream Video"
    },
    "created": "2020-10-16T20:20:17.872170843Z",
    "modified": "2020-10-16T20:20:17.872170843Z",
    "size": 9032701,
    "preview": "https://customer-f33zs165nr7gyfy4.cloudflarestream.com/6b9e68b07dfee8cc2d116e4c51d6a957/watch",
    "allowedOrigins": [],
    "requireSignedURLs": false,
    "uploaded": "2020-10-16T20:20:17.872170843Z",
    "uploadExpiry": null,
    "maxSizeBytes": 0,
    "maxDurationSeconds": 0,
    "duration": -1,
    "input": {
      "width": -1,
      "height": -1
    },
    "playback": {
      "hls": "https://customer-f33zs165nr7gyfy4.cloudflarestream.com/6b9e68b07dfee8cc2d116e4c51d6a957/manifest/video.m3u8",
      "dash": "https://customer-f33zs165nr7gyfy4.cloudflarestream.com/6b9e68b07dfee8cc2d116e4c51d6a957/manifest/video.mpd"
    },
    "watermark": null
  },
  "success": true,
  "errors": [],
  "messages": []
}

Po nahrání videa můžete použít video uid uvedené ve výše uvedené příkladové odpovědi k přehrání videa pomocí Přehrávač videa Stream.

Pokud používáte vlastní přehrávač nebo video vykreslujete v mobilní aplikaci, přečtěte si použití vlastního přehrávače.