{"name":"mux-video","url":"https://skills.sh/muxinc/skills/mux-video","install":"npx skills add muxinc/skills","sdk":"mux","key":"mux/mux-video","description":"Comprehensive guide to building video applications with Mux, the developer-first video infrastructure platform. This skill covers video streaming, live streaming, player integrations, analytics with Mux Data, and AI-powered workflows. Whether you are building a video-on-demand platform, live streaming application, or integrating video into an existing product, this documentation provides the patterns and code examples needed to ship quickly.","hasContent":true,"content":"---\nname: mux-video\ndescription: Comprehensive guide to building video applications with Mux, the developer-first video infrastructure platform. This skill covers video streaming, live streaming, player integrations, analytics with Mux Data, and AI-powered workflows. Whether you are building a video-on-demand platform, live streaming application, or integrating video into an existing product, this documentation provides the patterns and code examples needed to ship quickly.\n---\n\n# Mux Video Platform\n\nComprehensive guide to building video applications with Mux, the developer-first video infrastructure platform. This skill covers video streaming, live streaming, player integrations, analytics with Mux Data, and AI-powered workflows. Whether you are building a video-on-demand platform, live streaming application, or integrating video into an existing product, this documentation provides the patterns and code examples needed to ship quickly.\n\n## Key Capabilities\n\n- **Video Hosting and Streaming**: Upload, transcode, and deliver video content globally via adaptive bitrate streaming (HLS)\n- **Live Streaming**: Real-time video broadcasting with RTMP/SRT ingest, low-latency options, and automatic recording\n- **Mux Player**: Drop-in video player components for web (React, vanilla JS), iOS, and Android with built-in analytics\n- **Mux Data**: Quality of experience analytics, engagement metrics, and real-time monitoring\n- **Content Security**: Signed playback URLs, DRM protection (Widevine/FairPlay), and domain restrictions\n- **AI Workflows**: Automatic chapter generation, video summarization, content moderation, and audio dubbing\n\n---\n\n## Quick Start\n\nGet streaming in five minutes:\n\n1. **Create an API Access Token** in the [Mux Dashboard](https://dashboard.mux.com/settings/access-tokens) with Video Read and Write permissions\n\n2. **Create a video asset** from a URL:\n```bash\ncurl https://api.mux.com/video/v1/assets \\\n  -H \"Content-Type: application/json\" \\\n  -X POST \\\n  -d '{ \"input\": [{ \"url\": \"https://muxed.s3.amazonaws.com/leds.mp4\" }], \"playback_policy\": [\"public\"] }' \\\n  -u ${MUX_TOKEN_ID}:${MUX_TOKEN_SECRET}\n```\n\n3. **Play the video** using the returned playback ID:\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/@mux/mux-player\"></script>\n<mux-player playback-id=\"YOUR_PLAYBACK_ID\"></mux-player>\n```\n\nSee [examples/quickstart-stream-video.md](examples/quickstart-stream-video.md) for the complete walkthrough with SDK examples in Node.js, Python, Ruby, Go, and PHP.\n\n---\n\n## Reference Documentation\n\n### Core Concepts\n\nFoundational knowledge for working with Mux APIs and infrastructure.\n\n| File | Description |\n|------|-------------|\n| [reference/mux-fundamentals.md](reference/mux-fundamentals.md) | Organizations, environments, assets, playback IDs, and API structure |\n| [reference/api-authentication.md](reference/api-authentication.md) | Access tokens, permissions, and secure API request patterns |\n| [reference/webhooks.md](reference/webhooks.md) | Webhook events, signature verification, and event handling |\n| [reference/content-security-policy.md](reference/content-security-policy.md) | CSP configuration for Mux Player and streaming domains |\n\n### Mux Player\n\nDrop-in video player components with built-in analytics and adaptive controls.\n\n| File | Description |\n|------|-------------|\n| [reference/mux-player-overview.md](reference/mux-player-overview.md) | Platform support (web, iOS, Android), installation, and core features |\n| [reference/player-setup-integration.md](reference/player-setup-integration.md) | HTML, React, iframe embed, and native mobile integration |\n| [reference/player-customization.md](reference/player-customization.md) | Theming, CSS variables, custom controls, and branding |\n| [reference/player-advanced-features.md](reference/player-advanced-features.md) | Chromecast, AirPlay, DVR mode, picture-in-picture, and quality selection |\n| [reference/playback-security.md](reference/playback-security.md) | Signed URLs, JWT token generation, and playback restrictions |\n| [reference/playback-modifiers-resolution.md](reference/playback-modifiers-resolution.md) | Resolution capping, bandwidth hints, and playback URL parameters |\n\n### Video Upload and Asset Management\n\nMethods for getting video content into Mux and configuring assets.\n\n| File | Description |\n|------|-------------|\n| [reference/upload-methods.md](reference/upload-methods.md) | URL ingestion, direct uploads, and resumable upload protocols |\n| [reference/mux-uploader.md](reference/mux-uploader.md) | Drop-in upload components for web with progress and error handling |\n| [reference/mobile-upload-sdks.md](reference/mobile-upload-sdks.md) | iOS and Android upload SDKs for native applications |\n| [reference/asset-configuration.md](reference/asset-configuration.md) | Video quality tiers, MP4 support, master access, and encoding settings |\n| [reference/text-tracks-and-audio.md](reference/text-tracks-and-audio.md) | Captions, subtitles, audio tracks, and language configuration |\n\n### Live Streaming\n\nReal-time video broadcasting with global ingest and low-latency delivery.\n\n| File | Description |\n|------|-------------|\n| [reference/live-streaming-getting-started.md](reference/live-streaming-getting-started.md) | Creating live streams, stream keys, and basic broadcasting |\n| [reference/live-stream-configuration.md](reference/live-stream-configuration.md) | Latency modes, reconnect windows, and recording settings |\n| [reference/streaming-protocols-encoder-setup.md](reference/streaming-protocols-encoder-setup.md) | RTMP, RTMPS, SRT protocols and encoder configuration |\n| [reference/live-stream-features.md](reference/live-stream-features.md) | Simulcasting, live clipping, DVR mode, and embedded captions |\n| [reference/live-stream-troubleshooting.md](reference/live-stream-troubleshooting.md) | Common issues, debugging, and encoder compatibility |\n\n### Mux Data and Analytics\n\nQuality of experience metrics, engagement tracking, and performance monitoring.\n\n| File | Description |\n|------|-------------|\n| [reference/metrics-overview.md](reference/metrics-overview.md) | Views, watch time, QoE scores, and metric definitions |\n| [reference/dashboards-and-filtering.md](reference/dashboards-and-filtering.md) | Dashboard navigation, filters, and data exploration |\n| [reference/custom-metadata-and-dimensions.md](reference/custom-metadata-and-dimensions.md) | Custom dimensions, video metadata, and viewer identification |\n| [reference/data-exports.md](reference/data-exports.md) | CSV exports, S3 delivery, and raw data access |\n| [reference/alerts-and-monitoring.md](reference/alerts-and-monitoring.md) | Alert configuration, thresholds, and notification channels |\n| [reference/privacy-and-configuration.md](reference/privacy-and-configuration.md) | Data retention, GDPR compliance, and privacy settings |\n\n### Player Monitoring Integrations\n\nIntegrating Mux Data with third-party video players.\n\n| File | Description |\n|------|-------------|\n| [reference/web-player-integrations.md](reference/web-player-integrations.md) | Video.js, HLS.js, Shaka Player, JW Player, and Bitmovin |\n| [reference/mobile-player-integrations.md](reference/mobile-player-integrations.md) | AVPlayer (iOS), ExoPlayer (Android), and native SDKs |\n| [reference/smart-tv-device-integrations.md](reference/smart-tv-device-integrations.md) | Roku, Fire TV, Apple TV, and smart TV platforms |\n| [reference/custom-player-integrations.md](reference/custom-player-integrations.md) | Building custom player integrations with Mux Data SDK |\n\n### Video Features and Tools\n\nAdditional video capabilities beyond basic playback.\n\n| File | Description |\n|------|-------------|\n| [reference/video-clipping.md](reference/video-clipping.md) | Creating clips from assets, URL-based clipping, and clip management |\n| [reference/images-and-thumbnails.md](reference/images-and-thumbnails.md) | Thumbnail generation, animated GIFs, and timeline previews |\n| [reference/custom-domains-and-security.md](reference/custom-domains-and-security.md) | CNAME setup, SSL certificates, and branded delivery domains |\n| [reference/social-sharing-and-special-features.md](reference/social-sharing-and-special-features.md) | OG tags, Twitter cards, and social media optimization |\n\n### Framework Integrations\n\nPlatform-specific guides for popular web and mobile frameworks.\n\n| File | Description |\n|------|-------------|\n| [reference/web-framework-integrations.md](reference/web-framework-integrations.md) | Next.js, Remix, SvelteKit, Nuxt, and other web frameworks |\n| [reference/react-native-getting-started.md](reference/react-native-getting-started.md) | Setting up Mux in React Native applications |\n| [reference/react-native-video-features.md](reference/react-native-video-features.md) | Video playback, uploads, and analytics in React Native |\n| [reference/react-native-ui-patterns.md](reference/react-native-ui-patterns.md) | Common UI patterns for video apps (feeds, stories, full-screen) |\n| [reference/react-native-advanced-topics.md](reference/react-native-advanced-topics.md) | Performance optimization, offline playback, and background audio |\n\n### CMS Integrations and SDKs\n\nConnecting Mux with content management systems and backend services.\n\n| File | Description |\n|------|-------------|\n| [reference/cms-integrations.md](reference/cms-integrations.md) | Sanity, Contentful, WordPress, Strapi, and other CMS platforms |\n| [reference/server-side-sdks.md](reference/server-side-sdks.md) | Node.js, Python, Ruby, PHP, Go, Java, and .NET SDKs |\n| [reference/mcp-server.md](reference/mcp-server.md) | Mux MCP server for AI assistant integrations |\n\n### Pricing and Cost Management\n\nUnderstanding and optimizing Mux costs.\n\n| File | Description |\n|------|-------------|\n| [reference/pricing-overview.md](reference/pricing-overview.md) | Pricing model, billable metrics, and cost calculations |\n| [reference/cost-optimization.md](reference/cost-optimization.md) | Strategies for reducing encoding, storage, and delivery costs |\n\n---\n\n## Examples\n\n### Getting Started\n\n| File | Description |\n|------|-------------|\n| [examples/quickstart-stream-video.md](examples/quickstart-stream-video.md) | Complete guide to uploading and playing your first video |\n| [examples/webhook-signature-verification.md](examples/webhook-signature-verification.md) | Verifying webhook signatures in Node.js, Python, and Ruby |\n\n### Player Integration\n\n| File | Description |\n|------|-------------|\n| [examples/mux-player-web-setup.md](examples/mux-player-web-setup.md) | Setting up Mux Player in HTML, React, and Vue applications |\n| [examples/signed-url-playback.md](examples/signed-url-playback.md) | Generating and using signed playback URLs with JWTs |\n| [examples/drm-protected-playback.md](examples/drm-protected-playback.md) | Configuring DRM-protected content with Widevine and FairPlay |\n\n### Video Upload\n\n| File | Description |\n|------|-------------|\n| [examples/direct-upload-with-webhooks.md](examples/direct-upload-with-webhooks.md) | Client-side uploads with server webhook handling |\n| [examples/video-with-captions-and-metadata.md](examples/video-with-captions-and-metadata.md) | Uploading videos with subtitle tracks and custom metadata |\n\n### Live Streaming\n\n| File | Description |\n|------|-------------|\n| [examples/live-streaming-complete-setup.md](examples/live-streaming-complete-setup.md) | End-to-end live streaming implementation |\n| [examples/live-captions-and-simulcasting.md](examples/live-captions-and-simulcasting.md) | Adding live captions and streaming to multiple platforms |\n\n### Analytics\n\n| File | Description |\n|------|-------------|\n| [examples/custom-analytics-integration.md](examples/custom-analytics-integration.md) | Advanced Mux Data integration with custom dimensions |\n| [examples/web-player-integration-example.md](examples/web-player-integration-example.md) | Integrating Mux Data with Video.js and HLS.js |\n| [examples/mobile-player-integration-example.md](examples/mobile-player-integration-example.md) | iOS and Android analytics SDK integration |\n\n### Video Features\n\n| File | Description |\n|------|-------------|\n| [examples/video-clipping-workflows.md](examples/video-clipping-workflows.md) | Creating clips for social sharing and highlights |\n| [examples/thumbnail-and-preview-integration.md](examples/thumbnail-and-preview-integration.md) | Dynamic thumbnails and timeline hover previews |\n\n### React Native\n\n| File | Description |\n|------|-------------|\n| [examples/react-native-stories-app.md](examples/react-native-stories-app.md) | Building an Instagram-style stories feature |\n| [examples/react-native-video-upload-workflow.md](examples/react-native-video-upload-workflow.md) | Complete upload flow with progress and background handling |\n\n### CMS Integration\n\n| File | Description |\n|------|-------------|\n| [examples/cms-setup-sanity.md](examples/cms-setup-sanity.md) | Integrating Mux with Sanity CMS |\n\n### AI Workflows\n\n| File | Description |\n|------|-------------|\n| [examples/ai-video-workflows.md](examples/ai-video-workflows.md) | Automatic chapters, summarization, and tagging with @mux/ai |\n| [examples/content-moderation-strategies.md](examples/content-moderation-strategies.md) | AI-powered content moderation for user-generated video |\n| [examples/video-synchronization.md](examples/video-synchronization.md) | Syncing video playback across multiple viewers |\n\n---\n\n## Important Notes\n\n### API Authentication\n\nAll Mux API requests require authentication using a Token ID and Token Secret. API requests must be made from a server environment - the API does not support CORS and credentials should never be exposed in client-side code.\n\n### Playback IDs vs Asset IDs\n\n- **Asset IDs** are used to manage content via the API (`api.mux.com`)\n- **Playback IDs** are used to stream content to viewers (`stream.mux.com`)\n- An asset can have multiple playback IDs with different policies (public vs signed)\n\n### Webhooks vs Polling\n\nAlways prefer webhooks over polling to track asset status. Webhooks provide real-time notifications when assets are ready, live streams change state, or uploads complete. Configure webhooks per environment in the Mux Dashboard.\n\n### Video Quality Tiers\n\nMux offers different video quality tiers (basic, plus, premium) that affect encoding quality and pricing. Choose the appropriate tier based on your content type and quality requirements.\n\n### Stream Key Security\n\nLive stream keys should be treated as secrets. Anyone with the stream key can broadcast to your live stream. Reset keys immediately if compromised.\n","contentSource":"skills.sh/api/download/muxinc/skills/mux-video","contentFetchedAt":"2026-07-27T08:59:32.991Z"}