Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 8 additions & 6 deletions src/content/docs/images/upload-images/sourcing-kit/edit.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ The Sourcing Kit main page has a list of all the import jobs and sources you hav

You can learn more about your sources by selecting the **Sources** tab on the Sourcing Kit dashboard. Use this option to rename or delete your sources.

1. In the Cloudflare dashboard, go to the **Sourcing Kit** page.
1. In the Cloudflare dashboard, go to the **Sourcing Kit** page.

<DashButton url="/?to=/:account/images/sourcing-kit" />

Expand All @@ -24,8 +24,10 @@ You can learn more about your sources by selecting the **Sources** tab on the So

While Cloudflare Images is still running a job to import images into your account, you can abort it before it finishes.

1. Log in to the [ Cloudflare dashboard](https://dash.cloudflare.com/login), and select your account.
2. Go to **Images** > **Sourcing Kit**.
3. In **Imports** select the import job you want to abort.
4. The next page shows you a summary of the import. Select **Abort**.
5. Confirm that you want to abort your import job by selecting **Abort** on the dialog box.
1. In the Cloudflare dashboard, go to the **Sourcing Kit** page.

<DashButton url="/?to=/:account/images/sourcing-kit" />

2. In **Imports** select the import job you want to abort.
3. The next page shows you a summary of the import. Select **Abort**.
4. Confirm that you want to abort your import job by selecting **Abort** on the dialog box.
7 changes: 6 additions & 1 deletion src/content/docs/stream/edit-videos/video-clipping.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ pcx_content_type: how-to
title: Clip videos

---
import { DashButton } from "~/components";

With video clipping, also referred to as "trimming" or changing the length of the video, you can change the start and end points of a video so viewers only see a specific "clip" of the video. For example, if you have a 20 minute video but only want to share a five minute clip from the middle of the video, you can clip the video to remove the content before and after the five minute clip.

Expand Down Expand Up @@ -55,7 +56,11 @@ curl --location --request POST 'https://api.cloudflare.com/client/v4/accounts/<Y
}'
```

You can check whether your video is ready to play after selecting your account from the [Cloudflare dashboard](https://dash.cloudflare.com/?to=/:account/stream). While the clipped video processes, the video status response displays **Queued**. When the clipping process is complete, the video status changes to **Ready** and displays the new name of the clipped video and the new duration.
You can check whether your video is ready to play on the **Stream** page of the Cloudflare dashboard.

<DashButton url="/?to=/:account/stream" />

While the clipped video processes, the video status response displays **Queued**. When the clipping process is complete, the video status changes to **Ready** and displays the new name of the clipped video and the new duration.

To receive a notification when your video is done processing and ready to play, you can [subscribe to webhook notifications](/stream/manage-video-library/using-webhooks/).

Expand Down
11 changes: 9 additions & 2 deletions src/content/docs/stream/examples/rtmps_playback.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,18 @@ sidebar:
description: Example of sub 1s latency video playback using RTMPS and ffplay
---

import { Render } from "~/components";
import { Render, DashButton } from "~/components";

<Render file="prereqs_first_start_live_streaming" product="stream" />

Copy the RTMPS _playback_ key for your live input from the [Stream Dashboard](https://dash.cloudflare.com/?to=/:account/stream/inputs) or the [Stream API](/stream/stream-live/start-stream-live/#use-the-api), and paste it into the URL below, replacing `<RTMPS_PLAYBACK_KEY>`:
Copy the RTMPS _playback_ key for your live input from either:
- The **Live inputs** page of the Cloudflare dashboard.

<DashButton url="/?to=/:account/stream/inputs" />

- The [Stream API](/stream/stream-live/start-stream-live/#use-the-api)

Paste it into the URL below, replacing `<RTMPS_PLAYBACK_KEY>`:

```sh title="RTMPS playback with ffplay"
ffplay -analyzeduration 1 -fflags -nobuffer -sync ext 'rtmps://live.cloudflare.com:443/live/<RTMPS_PLAYBACK_KEY>'
Expand Down
11 changes: 9 additions & 2 deletions src/content/docs/stream/examples/srt_playback.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,18 @@ sidebar:
description: Example of sub 1s latency video playback using SRT and ffplay
---

import { Render } from "~/components";
import { Render, DashButton } from "~/components";

<Render file="prereqs_first_start_live_streaming" product="stream" />

Copy the **SRT Playback URL** for your live input from the [Stream Dashboard](https://dash.cloudflare.com/?to=/:account/stream/inputs) or the [Stream API](/stream/stream-live/start-stream-live/#use-the-api), and paste it into the URL below, replacing `<SRT_PLAYBACK_URL>`:
Copy the SRT Playback URL for your live input from either:
- The **Live inputs** page of the Cloudflare dashboard.

<DashButton url="/?to=/:account/stream/inputs" />

- The [Stream API](/stream/stream-live/start-stream-live/#use-the-api)

Paste it into the URL below, replacing `<SRT_PLAYBACK_URL>`:

```sh title="SRT playback with ffplay"
ffplay -analyzeduration 1 -fflags -nobuffer -probesize 32 -sync ext '<SRT_PLAYBACK_URL>'
Expand Down
8 changes: 6 additions & 2 deletions src/content/docs/stream/faq.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ head:

---

import { GlossaryTooltip } from "~/components"
import { GlossaryTooltip, DashButton } from "~/components"

## Stream

Expand Down Expand Up @@ -147,7 +147,11 @@ If you allow users to upload their own videos directly to Cloudflare Stream, add
Content-Security-Policy: connect-src 'self' *.videodelivery.net *.cloudflarestream.com
```

To ensure **only** videos from **your** Cloudflare Stream account can be played on your website, replace `*` in `*.cloudflarestream.com` and `*.videodelivery.net` in the examples above with `customer-<CODE>`, replacing `<CODE>` with your unique customer code, which can be found in the [Stream Dashboard](https://dash.cloudflare.com/?to=/:account/stream). This code is unique to your Cloudflare Account.
To ensure **only** videos from **your** Cloudflare Stream account can be played on your website, replace `*` in `*.cloudflarestream.com` and `*.videodelivery.net` in the examples above with `customer-<CODE>`, replacing `<CODE>` with your unique customer code. To find your unique customer code in the Cloudflare dashboard, go to the **Stream** page.

<DashButton url="/?to=/:account/stream" />

This code is unique to your Cloudflare Account.

### Why is PageSpeed Insights giving a bad score when using the Stream Player?

Expand Down
17 changes: 13 additions & 4 deletions src/content/docs/stream/get-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ sidebar:
order: 2

---
import { DashButton } from "~/components";

:::note[Before you get started:]

Expand All @@ -21,7 +22,9 @@ You must first [create a Cloudflare account](/fundamentals/account/create-accoun

### Step 1: Upload an example video from a public URL

You can upload videos directly from the [Cloudflare dashboard](https://dash.cloudflare.com/?to=/:account/stream) or using the API.
You can upload videos using the API or directly on the **Stream** page of the Cloudflare dashboard.

<DashButton url="/?to=/:account/stream" />

To use the API, replace the `API_TOKEN` and `ACCOUNT_ID` values with your credentials in the example below.

Expand Down Expand Up @@ -85,7 +88,9 @@ To play video on your website with the [Stream Player](/stream/viewing-videos/us
</iframe>
```

The embed code above can also be found in the [Cloudflare dashboard](https://dash.cloudflare.com/?to=/:account/stream).
The embed code above can also be found on the **Stream** page of the Cloudflare dashboard.

<DashButton url="/?to=/:account/stream" />

<figure data-type="stream">
<div class="AspectRatio" style="--aspect-ratio: calc(16 / 9)">
Expand All @@ -107,7 +112,9 @@ The embed code above can also be found in the [Cloudflare dashboard](https://das

### Step 1: Create a live input

You can create a live input via the [Cloudflare dashboard](https://dash.cloudflare.com/?to=/:account/stream/inputs/create) or using the API.
You can create a live input using the API or the **Live inputs** page of the Cloudflare dashboard.

<DashButton url="/?to=/:account/stream/inputs" />

To use the API, replace the `API_TOKEN` and `ACCOUNT_ID` values with your credentials in the example below.

Expand Down Expand Up @@ -159,7 +166,9 @@ To play the live stream you just started on your website with the [Stream Player
</iframe>
```

The embed code above can also be found in the [Cloudflare dashboard](https://dash.cloudflare.com/?to=/:account/stream).
The embed code above can also be found on the **Stream** page of the Cloudflare dashboard.

<DashButton url="/?to=/:account/stream" />

### Next steps

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,22 @@ title: GraphQL Analytics API
sidebar:
order: 1
---
import { DashButton } from "~/components";

Stream provides analytics about both live video and video uploaded to Stream, via the GraphQL API described below, as well as in the [Stream dashboard](https://dash.cloudflare.com/?to=/:account/stream/analytics).
Stream provides analytics about both live video and video uploaded to Stream, via the GraphQL API described below, as well as on the Stream **Analytics** page of the Cloudflare dashboard.

<DashButton url="/?to=/:account/stream/analytics" />

The Stream Analytics API uses the Cloudflare GraphQL Analytics API, which can be used across many Cloudflare products. For more about GraphQL, rate limits, filters, and sorting, refer to the [Cloudflare GraphQL Analytics API docs](/analytics/graphql-api).

## Getting started

1. [Generate a Cloudflare API token](https://dash.cloudflare.com/profile/api-tokens) with the **Account Analytics** permission.
2. Use a GraphQL client of your choice to make your first query. [Postman](https://www.postman.com/) has a built-in GraphQL client which can help you run your first query and introspect the GraphQL schema to understand what is possible.
1. In the Cloudflare dashboard, go to the **Account API tokens** page.

<DashButton url="/?to=/:account/api-tokens" />

2. Generate an API token with the **Account Analytics** permission.
3. Use a GraphQL client of your choice to make your first query. [Postman](https://www.postman.com/) has a built-in GraphQL client which can help you run your first query and introspect the GraphQL schema to understand what is possible.

Refer to the sections below for available metrics, dimensions, fields, and example queries.

Expand Down
8 changes: 7 additions & 1 deletion src/content/docs/stream/getting-analytics/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,19 @@ sidebar:
order: 8

---
import { DashButton } from "~/components";

Stream provides server-side analytics that can be used to:

* Identify most viewed video content in your app or platform.
* Identify where content is viewed from and when it is viewed.
* Understand which creators on your platform are publishing the most viewed content, and analyze trends.

You can access data via the [Stream dashboard](https://dash.cloudflare.com/?to=/:account/stream/analytics) or via the [GraphQL Analytics API](/stream/getting-analytics/fetching-bulk-analytics).
You can access data on either:
- The Stream **Analytics** page of the Cloudflare dashboard.

<DashButton url="/?to=/:account/stream/analytics" />

- The [GraphQL Analytics API](/stream/getting-analytics/fetching-bulk-analytics).

Users will need the **Analytics** permission to access analytics via Dash or GraphQL.
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,15 @@ sidebar:

---

import { Details } from "~/components"
import { Details, DashButton } from "~/components"

Webhooks notify your service when videos successfully finish processing and are ready to stream or if your video enters an error state.

## Subscribe to webhook notifications

To subscribe to receive webhook notifications on your service or modify an existing subscription, you will need a [Cloudflare API token](https://dash.cloudflare.com/profile/api-tokens).
To subscribe to receive webhook notifications on your service or modify an existing subscription, generate an API token on the **Account API tokens** page of the Cloudflare dashboard.

<DashButton url="/?to=/:account/api-tokens" />

The webhook notification URL must include the protocol. Only `http://` or `https://` is supported.

Expand Down
9 changes: 7 additions & 2 deletions src/content/docs/stream/pricing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ title: Pricing
sidebar:
order: 30
---
import { DashButton } from "~/components";

Cloudflare Stream lets you broadcast, store, and deliver video using a simple, unified API and simple pricing. Stream bills on two dimensions only:

Expand All @@ -16,7 +17,9 @@ Ingress (sending your content to us) and encoding are always free. Bandwidth is

## Minutes of video stored

Storage is a prepaid pricing dimension purchased in increments of $5 per 1,000 minutes stored, regardless of file size. You can check how much storage you have and how much you have used on the [Stream](https://dash.cloudflare.com/?to=/:account/stream) page in Dash.
Storage is a prepaid pricing dimension purchased in increments of $5 per 1,000 minutes stored, regardless of file size. You can check how much storage you have and how much you have used on the **Stream** page of the Cloudflare dashboard.

<DashButton url="/?to=/:account/stream" />

Storage is consumed by:

Expand All @@ -42,7 +45,9 @@ Enterprise customers _may_ continue to upload new content beyond their contracte

## Minutes of video delivered

Delivery is a post-paid, usage-based pricing dimension billed at $1 per 1,000 minutes delivered. You can check how much delivery you have used on the [Billable Usage](https://dash.cloudflare.com/?to=/:account/billing/billable-usage) page in Dash or the [Stream Analytics](https://dash.cloudflare.com/?to=/:account/stream/analytics) page under Stream.
Delivery is a post-paid, usage-based pricing dimension billed at $1 per 1,000 minutes delivered. You can check how much delivery you have used on the **Billing** page or the Stream **Analytics** page of the Cloudflare dashboard.
<DashButton url="/?to=/:account/billing" />
<DashButton url="/?to=/:account/stream/analytics" />

Delivery is counted for the following uses:

Expand Down
17 changes: 14 additions & 3 deletions src/content/docs/stream/stream-live/simulcasting.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ sidebar:
order: 5

---
import { DashButton } from "~/components";

Simulcasting lets you forward your live stream to third-party platforms such as Twitch, YouTube, Facebook, Twitter, and more. You can simulcast to up to 50 concurrent destinations from each live input. To begin simulcasting, select an input and add one or more Outputs.

Expand Down Expand Up @@ -37,7 +38,13 @@ https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/stream/live_inputs/<I

## Control when you start and stop simulcasting

You can enable and disable individual live outputs via the [API](/api/resources/stream/subresources/live_inputs/subresources/outputs/methods/update/) or [Stream dashboard](https://dash.cloudflare.com/?to=/:account/stream/inputs), allowing you to:
You can enable and disable individual live outputs with either:
- The **Live inputs** page of the Cloudflare dashboard.

<DashButton url="/?to=/:account/stream/inputs" />
- [The API](/api/resources/stream/subresources/live_inputs/subresources/outputs/methods/update/)

This allows you to:

* Start a live stream, but wait to start simulcasting to YouTube and Twitch until right before the content begins.
* Stop simulcasting before the live stream ends, to encourage viewers to transition from a third-party service like YouTube or Twitch to a direct live stream.
Expand All @@ -49,8 +56,12 @@ By default, all live outputs are enabled.

### Enable outputs from the dashboard:

1. From Live Inputs in the [Cloudflare dashboard](https://dash.cloudflare.com/?to=/:account/stream/inputs), select an input from the list.
2. Under **Outputs** > **Enabled**, set the toggle to enabled or disabled.
1. In the Cloudflare dashboard, go to the **Live inputs** page.

<DashButton url="/?to=/:account/stream/inputs" />

2. Select an input from the list.
3. Under **Outputs** > **Enabled**, set the toggle to enabled or disabled.

## Manage outputs

Expand Down
5 changes: 3 additions & 2 deletions src/content/docs/stream/stream-live/start-stream-live.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ sidebar:
order: 1
---

import { InlineBadge, Render, Badge } from "~/components";
import { InlineBadge, Render, Badge, DashButton } from "~/components";

After you subscribe to Stream, you can create Live Inputs in Dash or via the API. Broadcast to your new Live Input using RTMPS or SRT. SRT supports newer video codecs and makes using accessibility features, such as captions and multiple audio tracks, easier.

Expand All @@ -18,7 +18,8 @@ After you subscribe to Stream, you can create Live Inputs in Dash or via the API

## Use the dashboard

**Step 1:** [Create a live input via the Stream Dashboard](https://dash.cloudflare.com/?to=/:account/stream/inputs/create).
**Step 1:** In the Cloudflare dashboard, go to the **Live inputs** page and create a live input.
<DashButton url="/?to=/:account/stream/inputs" />

![Create live input field from dashboard](~/assets/images/stream/create-live-input-from-stream-dashboard.png)

Expand Down
10 changes: 7 additions & 3 deletions src/content/docs/stream/stream-live/troubleshooting.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ sidebar:
order: 12

---
import { Steps, Details } from "~/components"
import { Steps, Details, DashButton } from "~/components"

In addition to following the live stream troubleshooting steps in this guide, make sure that your video settings align with [Cloudflare live stream recommendations](/stream/stream-live/start-stream-live/#recommendations-requirements-and-limitations). If you use OBS, you can also check these [OBS-specific recommendations](/stream/examples/obs-from-scratch/#6-optional-optimize-settings).

Expand All @@ -14,9 +14,13 @@ In addition to following the live stream troubleshooting steps in this guide, ma
If your live stream is buffering, freezing, experiencing latency issues, or having other similar issues, try these troubleshooting steps:

<Steps>
1. Go to the [Cloudflare dashboard](https://dash.cloudflare.com) > **Stream** > **Live Inputs** > the Live Input in use > **Metrics** tab.
1. In the Cloudflare dashboard, go to the **Live inputs** page.

2. Look at your **Keyframe Interval** chart.
<DashButton url="/?to=/:account/stream/inputs" />

2. For the live input in use, select the **Metrics** tab.

3. Look at your **Keyframe Interval** chart.

It should be a consistent flat line that stays between 2s and 8s. If you see an inconsistent or wavy line, or a line that is consistently below 2s or above 8s, adjust the keyframe interval (also called GOP size) in your software or service used to send the stream to Cloudflare. The exact steps for editing those settings will depend on your platform.
* Start by setting the keyframe interval to 4s. If playback is stable but latency is still too high, lower it to 2s. If you are experiencing buffering or freezing in playback, increase it to 8s.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ sidebar:
order: 1
---

import { Render, Badge } from "~/components";
import { Render, Badge, DashButton } from "~/components";

Cloudflare Stream is compatible with all video players that support HLS and DASH, which are standard formats for streaming media with broad support across all web browsers, mobile operating systems and media streaming devices.

Expand Down Expand Up @@ -39,7 +39,10 @@ https://customer-<CODE>.cloudflarestream.com/<UID>/manifest/video.m3u8?protocol=

### Dashboard

1. Log into the [Stream Dashboard](https://dash.cloudflare.com/?to=/:account/stream).
1. In the Cloudflare dashboard, go to the **Stream** page.

<DashButton url="/?to=/:account/stream" />

2. From the list of videos, locate your video and select it.
3. From the **Settings** tab, locate the **HLS Manifest URL** and **Dash Manifest URL**.
4. Select **Click to copy** under the option you want to use.
Expand Down
Loading
Loading