# Gcore Video Streaming > Gcore Video Streaming is a high-load video streaming PaaS. Scale to 1M+ viewers and beyond - [Gcore Video Streaming](https://docs.gcore.com/streaming.md): Gcore Video Streaming is a high-load video streaming PaaS. Scale to 1M+ viewers and beyond ## Getting started - [Start working with Gcore Streaming](https://docs.gcore.com/streaming/getting-started/start-work.md): Choose the right Streaming guide for live streaming, VOD upload, environment planning, CDN delivery, billing, API usage, and troubleshooting. - [Plan development and production environments](https://docs.gcore.com/streaming/getting-started/dev_environment.md): Choose a Streaming environment model for small, medium, and enterprise projects using one account, separate accounts, or custom plans. ## AI video services - [AI video services](https://docs.gcore.com/streaming/video-hosting/ai-video-service.md): Configure AI video services for Video Streaming including AI ASR subtitle generation and translation, content moderation tasks (nsfw, soft_nudity, sports, weapons detection), and API integration for VOD and live streaming workflows. ## Content moderation - [Content moderation](https://docs.gcore.com/streaming/ai-video-service/content-moderation.md): Detect NSFW materials, hard nudity, soft nudity, and sport activities in video and image content using Gcore AI content moderation with real-time keyframe analysis and configurable probability thresholds for age-appropriate filtering. - [Not safe for work (NSFW) detection](https://docs.gcore.com/streaming/ai-video-service/content-moderation/nsfw-detection.md): Configure NSFW detection in Gcore Streaming AI to identify and filter inappropriate workplace content in MP4 videos via the Customer Portal, specifying Origin URL or uploaded video source, selecting Content moderation task type, and receiving confidence scores for detected sensitive material. - [Hard nudity detection](https://docs.gcore.com/streaming/ai-video-service/ai-nudity-detection.md): Configure hard nudity detection in Gcore Streaming AI to identify explicit nudity involving genitals in MP4 videos via portal task creation, returning confidence scores and detected body part locations by frame number. - [Soft nudity detection](https://docs.gcore.com/streaming/ai-video-service/content-moderation/soft-nudity-detection.md): Configure soft nudity detection in Gcore Streaming AI to identify explicit and partial nudity including male and female faces and uncovered body parts in MP4 videos via the portal, with detection results including object type, frame number, and confidence probability threshold of 30%. - [Sport detection](https://docs.gcore.com/streaming/ai-video-service/content-moderation/sport-detection.md): Configure sport detection content moderation tasks in Gcore Streaming AI to identify sporting activities, actions, and events in MP4 videos via portal or API, returning detected objects with frame numbers and confidence probability scores above 30%. ## Generate and translate captions - [Generate and translate captions](https://docs.gcore.com/streaming/video-hosting/ai-for-video/generate-ai-subtitles-and-add-them-to-video.md): Generate video captions and subtitles using Gcore AI automated speech recognition (ASR) with Whisper models to transcribe audio in 100+ languages and translate captions for multilingual audiences via Customer Portal or API. - [Generate and translate AI captions in the customer portal](https://docs.gcore.com/streaming/ai-video-service/generate-ai-subtitles-and-add-them-to-video/generate-captions-in-customer-portal.md): Create AI caption generation and translation tasks in Gcore Streaming portal by specifying Origin URL (external HTTP/HTTPS MP4 or hosted video), selecting Transcribe & Translate Captions task type, configuring Audio language (Auto-detect or manual), and Subtitles language for transcription or multi-language translation. - [Generate and translate AI captions for VOD](https://docs.gcore.com/streaming/ai-video-service/generate-ai-subtitles-and-add-them-to-video/generate-captions-via-api.md): Generate AI captions and translate subtitles for VOD videos in Gcore Video Streaming using transcribe and translate parameters in video upload or subtitle post-processing APIs, or process external MP4 files via direct HTTPS links with the native AI API. ## Billing - [Overview of Streaming tariffs](https://docs.gcore.com/streaming/billing/overview-of-tariffs.md): Configure Gcore Streaming PAYG trial activation, active limits, custom tariff plans, and billing terms. - [Streaming usage and billing reports](https://docs.gcore.com/streaming/billing/usage-and-billing-reports.md): Monitor Gcore Streaming usage reports for AI services, delivery, live stream concurrency, transcoding, and video hosting billing metrics. ## Codecs and protocols - [Accepted input parameters for live streams and videos](https://docs.gcore.com/streaming/live-streams-and-videos-protocols-and-codecs/input-parameters-and-codecs.md): Configure live stream input parameters including ingest protocols (RTMP, RTMPS, SRT, RTSP, HLS PULL, WebRTC), video codec (H.264), audio codec (AAC), frame rate (up to 60 fps), keyframe interval (1-2 seconds), bitrate mode (CBR), chroma subsampling (4 -2 -0), and audio sample rate (44.1 or 48 kHz) for Gcore Streaming transcoding; upload VOD files up to 30 GB with consistent codec, resolution, and frame rate parameters to avoid transcoding errors. - [Output parameters after transcoding: codecs, bitrate, frame rate](https://docs.gcore.com/streaming/live-streams-and-videos-protocols-and-codecs/output-parameters-and-codecs.md): Configure HLS MPEG-TS, HLS CMAF, MPEG-DASH, and MP4 output protocols for Gcore Video Streaming with codec support (H.264, HEVC, AV1, VP9), segment formats (MPEG-TS, fragmented MP4, WebM), and adaptive bitrate transcoding for Live and VOD delivery. - [RTMP](https://docs.gcore.com/streaming/live-streaming/protocols/rtmp.md): Configure RTMP and RTMPS ingest for live streaming encoders using server URLs, stream keys, and H.264 video plus AAC audio codec on ports 1935 (RTMP/TCP) and 443 (RTMPS/TCP). - [SRT](https://docs.gcore.com/streaming/live-streaming/protocols/srt.md): Configure SRT (Secure Reliable Transport) UDP-based protocol for live streaming ingestion with encoder settings including video codec, bitrate, latency window, keyframe interval, CPU preset, profile, tune, and x264/x265 options; obtain ingest URLs with server location, port 5001, stream key, and backup URL via portal or API; configure optional passphrase protection via API for SRT PUSH workflows. - [WebRTC WHIP to HLS/DASH](https://docs.gcore.com/streaming/live-streaming/protocols/webrtc.md): Convert WebRTC WHIP ingest streams to HLS/DASH playback using Gcore Video Streaming platform with H.264 video and OPUS audio encoding, adaptive bitrate streaming, and regional WHIP servers for low-latency browser-based ingestion. - [RTMP vs SRT: protocol comparison](https://docs.gcore.com/streaming/live-streaming/protocols/rtmp-srt.md): Compare RTMP (TCP-based) and SRT (UDP-based) streaming protocols for packet loss, jitter, latency, bandwidth limitations, and encoder buffering behavior on unstable networks. ## Player - [Built-in web player](https://docs.gcore.com/streaming/player/customize-appearance-of-the-built-in-player.md): Embed HTML5 video player via iframe with customization options for branding, colors, logo, autoplay, mute, playback speed controls, and view statistics for VOD and Live streams. - [JS Video Player & SDK](https://docs.gcore.com/streaming/player/player-api-tutorial.md): Configure Gcore JS Video Player (@gcorevideo/player) to support HLS, LL-HLS, MPEG-DASH, LL-DASH, and MP4 playback with low-latency adaptive streaming, plugins, SDK methods, events, and error handling via hls.js, dash.js, and native video element. ## Extra features - [Video streaming API tutorial](https://docs.gcore.com/streaming/api/streaming-platform-api-tutorial.md): Create streams and broadcasts using Video Streaming API endpoints post_streams_id and post_broadcasts, activate streams with patch_streams_id, update broadcast status to live with patch_broadcasts_id, and handle webhooks with live status notifications for video streaming integration. - [Webhooks on system state changes](https://docs.gcore.com/streaming/extra-features/get-webhooks-from-the-streaming-platform.md): Configure webhooks for Video Streaming system state changes on Live streams, VOD videos, VOD deletes, and Restreamings entities via HTTP POST callbacks with payload fields including stream id, live status, backup_live, recording, transcoding readiness, pull origin type, uri, and stream_source_type. ## Interaction with CDN - [Get started with CDN for video streaming](https://docs.gcore.com/streaming/interaction-with-cdn/get-started-streaming-cdn.md): Configure automatic CDN delivery for video streaming with integrated caching at 210+ edge locations, adaptive bitrate delivery, and per-minute billing based on total content minutes delivered to viewers. - [Use custom CDN resources with video streaming](https://docs.gcore.com/streaming/interaction-with-cdn/custom-cdn-resource.md): Create dedicated custom CDN resources for Video Streaming with advanced security policies including geo-blocking, referrer validation, IP allowlists/blocklists, custom domains, secure tokens, and granular caching control billed per-GB instead of per-minute. - [Protect content with video secure tokens](https://docs.gcore.com/streaming/interaction-with-cdn/video-secure-token.md): Configure video secure tokens to restrict content access by user authentication, expiration time, and per-user token generation for paid subscriptions, private videos, time-limited previews, and anti-hotlinking protection. - [Auto-refresh video secure tokens](https://docs.gcore.com/streaming/interaction-with-cdn/token-auto-refresh.md): Configure auto-refresh video secure tokens with short TTL (60 seconds) and IP-bound mode to prevent link sharing in HLS/DASH streams; refresh tokens automatically in the player before expiry to invalidate copied URLs while maintaining uninterrupted playback. ## Live streaming - [Getting started with live streaming](https://docs.gcore.com/streaming/live-streaming/getting-started-with-live-streaming.md): Start live streaming with RTMP, SRT, or WebRTC WHIP ingest, HLS and DASH delivery, low-latency modes, trial limits, and activation guidance. ## Manage live streams - [Create and manage a live stream](https://docs.gcore.com/streaming/live-streaming/create-a-live-stream.md): Create and manage live streams by checking active stream limits, selecting ingest, configuring playback, and embedding a player. - [Delete or disable a live stream](https://docs.gcore.com/streaming/live-streaming/delete-live-stream.md): Delete or disable live streams via Customer Portal or REST API, including active state behavior and irreversible removal. - [Live stream screenshots](https://docs.gcore.com/streaming/live-streaming/live-stream-screenshots.md): Manage live stream screenshots used as player placeholders and API JPEG previews updated every 10 seconds while a stream is live. - [Stream metrics](https://docs.gcore.com/streaming/statistics/view-your-live-stream-metrics.md): Monitor live stream performance metrics including video bitrate, FPS, and key frame interval via Live Stream Monitoring in Gcore Streaming platform, with 1-minute resolution data stored for one year. ## Broadcasting software - [FFmpeg](https://docs.gcore.com/streaming/live-streaming/broadcasting-software/ffmpeg.md): Configure FFmpeg command-line parameters for RTMP live streaming to Gcore Video Streaming, including video bitrate (2000Kbps for 720p, 4000Kbps for 1080p), audio bitrate (128Kbps), H.264 encoder, keyframe interval (2s), CPU preset (veryfast), and resolution downscaling via bicubic filter. - [GStreamer](https://docs.gcore.com/streaming/live-streaming/broadcasting-software/gstreamer.md): Configure GStreamer pipelines with videotestsrc, audiotestsrc, x264enc, and container multiplexers (FLV, MPEG-TS) to encode and push live streams to Gcore RTMP or SRT ingest endpoints using H.264 video, AAC audio, and protocol-specific sink elements (rtmpsink, srtsink). - [Larix](https://docs.gcore.com/streaming/live-streaming/broadcasting-software/larix.md): Configure Larix mobile encoder to stream to Gcore Video Streaming via RTMP URL and stream key, using Larix Grove to generate QR code configurations with camera resolution, frame rate, video bitrate, keyframe interval, and audio bitrate parameters. - [Open Broadcaster Software](https://docs.gcore.com/streaming/live-streaming/broadcasting-software/obs.md): Configure OBS encoder settings for Gcore Video Streaming by entering RTMP Server URL and Stream Key from Live stream settings, then adjust Video Bitrate (2000Kbps for 720p, 4000Kbps for 1080p), Audio Bitrate (128), and Encoder parameters in Output, Audio, and Video tabs. - [Instant clips](https://docs.gcore.com/streaming/live-streaming/clips.md): Create instant clips from ongoing live streams in HLS (.m3u8) or MP4 formats with configurable expiration (1 minute to 4 hours), stored in server memory until expiration or conversion to permanent VOD. - [Pause and rewind the live streams](https://docs.gcore.com/streaming/live-streaming/pause-and-rewind-the-live-streams.md): Enable DVR (Digital Video Recorder) feature on live streams to cache and allow viewers to pause and rewind broadcasts within a 1-hour window by default, configurable up to 4 hours via API PATCH /streaming/streams/{id} with dvr-duration parameter. - [How low-latency streaming works](https://docs.gcore.com/streaming/live-streaming/how-low-latency-streaming-works.md): Configure low-latency live streaming with LL-HLS and LL-DASH protocols using CMAF and fMP4 containers to achieve 2–5 seconds latency; ingest RTMP or SRT streams, transcode to adaptive bitrate, and deliver via CDN with manifest blocking and chunked downloads. - [Combine multiple live streams](https://docs.gcore.com/streaming/live-streaming/combine-multiple-live-streams.md): Configure Multicamera to combine multiple live streams into a single player with stream status selection, custom player assignment, stream ordering, and screensaver upload for multi-angle or multi-language broadcasts. - [Insert an overlay (HTML widgets) in your live stream](https://docs.gcore.com/streaming/live-streaming/insert-html-overlays-in-live-streams.md): Configure HTML overlays embedded into live streams via API with support for multiple overlays per stream, transparent areas, 1 FPS update frequency, automatic scaling across adaptive bitrate qualities, and positioning in any screen area. - [Understanding of PTS and DTS in RTMP/SRT master streams](https://docs.gcore.com/streaming/live-streaming/pts-dts.md): Configure PTS (Presentation Timestamp) and DTS (Decoding Timestamp) in RTMP and SRT master streams to ensure monotonic, non-gapped frame timelines; incorrect timestamps cause decoder frame drops, segment misalignment in HLS/DASH, audio/video desynchronization, and transcoder failures in Gcore Cloud. - [Primary, Backup, and Global Ingest Points for PUSH and PULL](https://docs.gcore.com/streaming/live-streaming/primary-backup.md): Configure PUSH and PULL ingest points for Gcore Streaming Platform using RTMP, RTMPS, SRT, or WebRTC WHIP protocols with stream keys and push tokens for live video ingestion from encoders or origin servers. - [Record your live streams and save them as videos](https://docs.gcore.com/streaming/live-streaming/record-your-live-streams-and-save-them-as-videos.md): Enable manual or automatic recording of live streams via Gcore Streaming portal or API using the record feature to save stream fragments or entire sessions to Streaming Storage, with automatic splitting for interruptions over one minute and recordings exceeding four hours. - [Create and configure a restream](https://docs.gcore.com/streaming/live-streaming/create-and-configure-a-restream-to-social-media.md): Broadcast live streams to multiple social media platforms (YouTube, Facebook, Twitch) via RTMP/RTMPS restreaming by configuring credentials and selecting tar... - [WebRTC to HLS/DASH](https://docs.gcore.com/streaming/live-streaming/webrtc-to-hls-dash.md): Start WebRTC live streams from a browser and publish HLS and DASH playback via Customer Portal. ## Q&A and Use cases - [Streaming FAQs](https://docs.gcore.com/streaming/faq/streaming-faq.md): Configure Gcore Video Streaming for live and on-demand delivery with LL-HLS, LL-DASH, HLS MPEG-TS, CMAF, and MP4 protocols; manage transcoding up to Full HD, CDN billing per minute or GB, storage for VOD and recorded streams, and usage estimation via pricing calculator. - [Case Study: Mastering 24/7 Live Streaming with Hot-Swapping](https://docs.gcore.com/streaming/faq/case-study-hot-swapping-elemental.md): Configure 24/7 live streaming with hot-swapping between primary and backup encoders using AWS Elemental Live, Nimble Streamer SRT gateway, and Gcore Video Streaming Global Ingest points; implement cross-pull redundancy via SRT protocol to prevent head-of-line blocking and maintain absolute timing synchronization during encoder failover. - [Video streaming HTTP status codes](https://docs.gcore.com/streaming/faq/http-status-codes.md): Reference HTTP status codes 200, 403, 404, 422, 500, 502, 503, 504 returned by Gcore Video Streaming API when requesting manifests (.m3u8, .mpd) and chunks (.ts, .mp4), including geo-restriction, token authentication, CMAF format X-Err-Code headers, and transcoding error diagnostics. - [Live Streaming issues](https://docs.gcore.com/streaming/faq/live-streaming-issues.md): Troubleshoot Live Streaming issues including DVR chunk retention, low-latency HLS buffering, empty manifests, packet loss via SRT, and restream failures by checking encoder settings, bitrate stability, key frame intervals, network latency, and manifest generation. - [VOD issues](https://docs.gcore.com/streaming/faq/vod-issues.md): Troubleshoot VOD upload failures, transcoding errors, and playback issues including 503 errors, interrupted uploads, session timeouts, processing queue delays, inconsistent video parameters causing Error status, HTTP 404 responses, and high segment latency or TTFB. ## WebRTC issues - [Fix the camera or microphone if they do not work](https://docs.gcore.com/streaming/faq/real-time-video-issues/fix-the-camera-or-microphone-if-they-do-not-work.md): Troubleshoot camera and microphone failures in video calls by verifying browser version compatibility (Chrome 70+, Firefox 70+, Safari 12+, Edge 79+, Opera 60+) and enabling Camera and Microphone permissions in browser settings for Chrome, Firefox, and other supported browsers. - [Audio quality is reduced when using bluetooth headsets in video call apps](https://docs.gcore.com/streaming/faq/real-time-video-issues/audio-quality-is-reduced-when-using-bluetooth-headsets-in-video-call-apps.md): Troubleshoot Bluetooth audio quality degradation in video call applications caused by profile switching from A2DP (Advanced Audio Distribution Profile) to HSP/HFP (Headset Profile/Hands-Free Profile) when microphone input is required. ## Statistics - [Video player metrics](https://docs.gcore.com/streaming/statistics/statistics-of-built-in-player.md): Monitor Video Hosting player metrics including average view duration, viewer geography, browsers, operating systems, hosts, and viewer count via the Player metrics tab in Gcore Customer Portal with UTC or local timezone filtering and auto-refresh intervals. - [Video views and delivered minutes](https://docs.gcore.com/streaming/statistics/statistics-of-views.md): Monitor video views and delivered minutes through Gcore Video Hosting Statistics tab in the Customer Portal, tracking unique viewers counted once per session and total CDN delivery minutes by time period filters. - [View statistics of live streams and videos](https://docs.gcore.com/streaming/statistics/view-statistics-of-live-streams-videos-and-billing.md): View statistics for videos and live streams in Gcore Streaming via Reports page, filtering by Viewers, Browsers, OS, Geography, Hosts, and Popular videos parameters with configurable time intervals and date ranges. ## Video hosting - [Getting started with video hosting](https://docs.gcore.com/streaming/video-hosting/getting-started-with-video-hosting.md): Start using Gcore Video Hosting for video-on-demand workflows - upload and transcode videos, deliver HLS, MPEG-DASH, and MP4 playback through the Gcore player or your own player, organize a VOD library, add subtitles and multiple audio tracks, protect videos, and analyze viewer engagement. ## Manage library - [Upload a video and embed it into your app](https://docs.gcore.com/streaming/video-hosting/upload-a-video-and-embed-it-to-your-app.md): Configure Gcore Video Hosting to upload videos via direct upload, Google Drive import, TUS protocol resumable uploads, or remote URL fetch, then deliver adaptive bitrate HLS MPEG-TS, HLS CMAF, MPEG-DASH CMAF, MP4, HEVC, AV1, VP9, and 8K resolution renditions with multi-audio tracks, subtitles, custom thumbnails, and analytics. - [Organize uploaded videos](https://docs.gcore.com/streaming/video-hosting/organize-uploaded-videos.md): Organize videos in Gcore Streaming with directories and tags for portal workflows and tag filtering. - [Delete uploaded videos](https://docs.gcore.com/streaming/video-hosting/delete-videos.md): Delete uploaded videos from Gcore Video Hosting via Customer Portal or DELETE /videos API endpoint; permanently removes all transcoded versions, subtitles, screenshots, and associated data from cloud storage. - [Download files](https://docs.gcore.com/streaming/video-hosting/original-files.md): Download transcoded video files in multiple codecs and resolutions from Gcore Video Streaming via Customer Portal after original files are deleted post-transcoding. - [Protect your videos with the AES-128 encryption](https://docs.gcore.com/streaming/video-hosting/protect-your-videos-with-the-aes-128-encryption.md): Enable AES-128 encryption for HLS video delivery by configuring a keyserver to retrieve decryption keys via Gcore API, with EXT-X-KEY tags added to m3u8 playlists and optional country or domain access policies for additional security. - [HEVC, AV1, and VP9 multi-codec VOD](https://docs.gcore.com/streaming/video-hosting/multi-codec.md): Create HEVC, AV1, and VP9 video renditions from H.264 source videos using premium transcoding to reduce CDN bandwidth costs, with adaptive bitrate selection across multiple resolutions and codec priorities via HLS manifests. - [HLS, MPEG-DASH, and MP4](https://docs.gcore.com/streaming/video-hosting/hls-and-mp4.md): Configure HLS MPEG-TS, HLS CMAF, MPEG-DASH, and MP4 video formats in Gcore Video Streaming for VOD delivery with adaptive bitrate, codec support (H264, H265, AV1), manifest generation (.m3u8, master-cmaf.m3u8), and DRM encryption. - [Create an illusion of a live broadcast with uploaded videos](https://docs.gcore.com/streaming/video-hosting/create-an-illusion-of-a-live-broadcast-with-uploaded-videos.md): Configure Live imitation in Gcore Video Streaming to broadcast uploaded videos at scheduled start dates and times with automatic timezone detection, iframe player embedding, and sequential video playback from playlists up to 512 videos. - [Videos with multiple audio tracks](https://docs.gcore.com/streaming/video-hosting/multi-audio.md): Deploy VOD assets with multiple embedded audio tracks in HLS and DASH manifests, with automatic language metadata extraction, audio codec transcoding across ABR qualities, and player UI language selection for multilingual content distribution. - [Create and configure playlists for videos](https://docs.gcore.com/streaming/video-hosting/create-and-configure-playlists-for-videos.md): Create and configure video playlists in Gcore Streaming Platform by enabling the feature, adding up to 512 videos to a playlist via the portal Editor, reordering videos by drag-and-drop, and exporting embed code for website integration. - [Video Lifecycle and Statuses](https://docs.gcore.com/streaming/video-hosting/vod-status.md): Track video and rendition statuses throughout the VOD lifecycle - empty, uploading, processing, ready, and failed states; renditions transition from transcoding to finished or failed with mp4_url availability and HLS/DASH manifest updates via the videos API. - [Subtitles and closed captions for VOD](https://docs.gcore.com/streaming/video-hosting/subtitles-and-closed-captions-for-vod.md): Configure subtitles and closed captions for VOD videos using SRT and WebVTT timed text track formats in Gcore Player, with support for AI-generated subtitles, automatic translation, and third-party caption file attachment. - [Timeline hover previews: use with players and Roku devices](https://docs.gcore.com/streaming/video-hosting/timeline-hover-previews-use-in-players-and-roku-devices.md): Enable timeline hover previews (trick play) in Gcore Streaming Platform using WebVTT format via Get video API with storyboard tiles and VTT coordinates, or embed tiles in HLS .m3u8 manifests for Roku trick play specification compliance. - [Upload video via API to VOD storage](https://docs.gcore.com/streaming/video-hosting/upload-video-via-api.md): Upload videos to Gcore Video Hosting via API using three methods - copy from external storage, upload from local device, or batch upload for migration; specify input parameters, codecs, protocols, video/audio profiles, GOP structure, bitrate constraints, and set account-level priority for transcoding queue scheduling.