Cloudflare Docs
Stream
Visit Stream on GitHub
Set theme to dark (⇧+D)

Frequently asked questions about Cloudflare Stream

​​ Stream

​​ What formats and quality levels are delivered through Cloudflare Stream?

Cloudflare decides on which bitrate, resolution, and codec is best for you. We deliver all videos to industry standard H264 codec. We use a few different adaptive streaming levels from 360p to 1080p to ensure smooth streaming for your audience watching on different devices and bandwidth constraints.

​​ Does Stream support multi-audio tracks?

Stream does not currently support multi-audio tracks. For files with multiple audio tracks, Stream uses the first available audio track.

​​ Can I download original video files from Stream?

You cannot download the exact input file that you uploaded. However, depending on your use case, you can use the Downloadable Videos feature to get encoded MP4s for use cases like offline viewing.

​​ Is there a limit to the amount of videos I can upload?

  • By default, a video upload can be at most 30 GB.

  • By default, you can have up to 120 videos in the inprogress, queued or downloading state at the same time. Videos in the error, ready or pendingupload state do not count toward this limit. If you need the concurrency limit raised, please contact Cloudflare support explaining your use case and why you would like the limit raised.

  • An account cannot upload videos if the total video duration exceeds the video storage capacity purchased.

Limits apply to Direct Creator Uploads at the time of upload URL creation.

Uploads over these limits will receive a 429 (Too Many Requests) or 413 (Payload too large) HTTP status codes with more information in the response body. Please write to Cloudflare support or your customer success manager for higher limits.

​​ Can I embed videos on Stream even if my domain is not on Cloudflare?

Yes. Stream videos can be embedded on any domain, even domains not on Cloudflare.

​​ What input file formats are supported?

Users can upload video in the following file formats:

MP4, MKV, MOV, AVI, FLV, MPEG-2 TS, MPEG-2 PS, MXF, LXF, GXF, 3GP, WebM, MPG, QuickTime

​​ What frame rates (FPS) are supported?

Cloudflare Stream supports video file uploads for any FPS, however videos will be re-encoded for 70 FPS playback. If the original video file has a frame rate lower than 70 FPS, Stream will re-encode at the original frame rate.

If the frame rate is variable we will drop frames (e.g. if there are more than 1 frames within 1/30 seconds, we will drop the extra frames within that period).

​​ What browsers does Stream work on?

You can embed the Stream player on the following platforms:

BrowserVersion
ChromeSupported since Chrome version 88+
FirefoxSupported since Firefox version 87+
EdgeSupported since Edge 89+
SafariSupported since Safari version 14+
OperaSupported since Opera version 75+
Mobile PlatformVersion
Chrome on AndroidSupported on Chrome 90
UC Browser on AndroidSupported on version 12.12+
Samsung InternetSupported on 13+
Safari on iOSSupported on iOS 13.4+. Speed selector supported when not in fullscreen.

If you are producing a brand new file for Cloudflare Stream, we recommend you use the following settings:

  • MP4 containers, AAC audio codec, H264 video codec, 30 or below frames per second
  • moov atom should be at the front of the file (Fast Start)
  • H264 progressive scan (no interlacing)
  • H264 high profile
  • Closed GOP
  • Content should be encoded and uploaded in the same frame rate it was recorded
  • Mono or Stereo audio (Stream will mix audio tracks with more than 2 channels down to stereo)

Below are bitrate recommendations for encoding new videos for Stream:

ResolutionRecommended bitrate
1080p8 Mbps
720p4.8 Mbps
480p2.4 Mbps
360p1 Mbps

​​ If I cancel my stream subscription, are the videos deleted?

Videos are removed if the subscription is not renewed within 30 days.

​​ I use Content Security Policy (CSP) on my website. What domains do I need to add to which directives?

If your website uses Content Security Policy (CSP) directives, depending on your configuration, you may need to add Cloudflare Stream’s domains to particular directives, in order to allow videos to be viewed or uploaded by your users.

If you use the provided Stream Player, videodelivery.net and *.cloudflarestream.com must be included in the frame-src or default-src directive to allow the player’s <iframe> element to load.

Content-Security-Policy: frame-src 'self' videodelivery.net *.cloudflarestream.com

If you use your own Player, add *.videodelivery.net and *.cloudflarestream.com to the media-src, img-src and connect-src CSP directives to allow video files and thumbnail images to load.

Content-Security-Policy: media-src 'self' videodelivery.net *.cloudflarestream.com; img-src 'self' *.videodelivery.net *.cloudflarestream.com; connect-src 'self' *.videodelivery.net *.cloudflarestream.com

If you allow users to upload their own videos directly to Cloudflare Stream, add *.videodelivery.net and *.cloudflarestream.com to the connect-src CSP directive.

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 here. This code is unique to your Cloudflare Account.

​​ Stream Live

​​ Do I need a separate Stream Live subscription to use Stream Live?

As long as you have a Cloudflare Stream subscription, you can use all the features of Stream Live. You do not need to add another subscription.

​​ How does billing work for Stream Live?

Stream Live billing works the same way as Stream On-demand:

  • You pay $5 per 1000 minutes of recorded video.
  • You pay $1 per 1000 minutes of delivered video.

All Stream Live videos are automatically recorded. There is no additional cost for encoding and packaging live videos.

​​ How many live inputs can I create? Are there any other limits?

Some limits apply to the Stream Live Beta:

  • You can create up to 1000 live inputs per account.
  • You can configure up to 50 outputs per live input.
  • You should use a maximum recommended bitrate of 12000 kbps.

If your use case requires the limits to be increased, please contact support.

​​ How does Stream Live handle RTMP reconnections?

As long as your streaming software reconnects, Stream Live will continue to ingest and stream your live video. Make sure the streaming software you use to push RTMP feeds automatically reconnects if the connection breaks. Some apps like OBS reconnect automatically while other apps like FFmpeg require custom configuration.