Upload, embed, and manage WordPress video
Once the FastPix plugin is installed and connected, you can add videos, embed them in posts and pages, control who can watch, read analytics, and run live streams, all from the WordPress admin.
If you haven’t connected the plugin yet, start with Integrate FastPix with WordPress.
Upload videos
After you connect your FastPix account, you can add videos from three sources: a file, a URL, or your existing Media Library.
Upload a file
- In your WordPress admin panel, go to FastPix > Add media.
- Do one of the following:
- Drag one or more video or audio files into the upload area.
- Click Browse and select files from your computer.
- Click Next to name the batch and choose settings.
- Configure the following media settings:
- Title: An optional batch title. Leave it blank to use each file’s name.
- Who can watch: Anyone, Private (signed tokens), or DRM.
- Quality: Standard, Pro, or Premium. This is locked after upload.
- Top resolution: The highest rendition FastPix produces. Defaults to 1080p.
- Allow downloads: Off, Video (MP4), Audio only (M4A), or Video + audio.
- Even out volume: Normalizes audio loudness.
- Subtitles: On by default in your site language when FastPix supports it.
- Lock to this site: Restricts playback to your domain. Add other domains you own under Allow on, or switch to a block list under Sites not on the list.
- Click Upload.
Uploads are resumable and run in the browser in 5 MB chunks. You can leave the page after starting. If the browser is closed mid-upload, the library shows a Resume upload action that asks for the same file again and continues from where it stopped.
NOTE: Nothing uploads until you click Upload. If FastPix is not responding, the screen pauses uploads rather than queueing a file it cannot reliably send.
Upload from a URL
- On the Add media screen, paste a public video URL under Or upload using video URL.
- Click Upload.
FastPix fetches the file directly. See Supported platforms for the sources FastPix can ingest.
Move existing Media Library videos
The migration tool moves videos that already live in your WordPress Media Library to FastPix while keeping the originals.
- Go to FastPix > Videos and click Move existing video.
- Click Scan to find video attachments. The scan runs in the background.
- Review the list. Choose Migrate all or Choose which ones, then click Migrate. You can Pause and Resume at any time.
- Watch the progress as each video is submitted, processed, and made ready. When every item passes verification, Cleanup becomes available. It removes the local files.
Migration never edits post content. Existing embeds of a migrated attachment play from FastPix at render time. Until you run cleanup, any item can be reverted to its local file.
NOTE: Cleanup is only offered for a batch whose items passed verification. After cleanup, there is nothing to revert to.
Embed videos in posts and pages
You can add FastPix videos to any post or page with the Gutenberg block or the shortcode. Both use the same renderer and the same per-embed options. Nothing edits your post content: embeds render at view time.
Add a video with the block
- In the block editor, add the FastPix Video block from the Media category.
- Pick a video from your library, or upload one now.
- Adjust the player options in the block sidebar.
The block saves a static fallback (poster and link) in the post, so published pages degrade gracefully if the plugin is ever deactivated. Public videos show the poster and a link; private and DRM videos show a short message.
Add a video using the shortcode
Shortcode parameters
Booleans accept true or false. A bare flag also works: [fastpix id="…" autoplay muted].
Example
Find your video’s media ID
- In your WordPress admin panel, go to FastPix > Videos.
- Find the video in the table. The Media ID and Playback ID columns show both identifiers.
- Click the video to open its details and copy the ready-made shortcode.
When you publish your post or page, WordPress renders the FastPix player with your specified configuration. Public embeds are cached for an hour. Private and DRM embeds are signed on every render.
Manage videos
You can view and manage all uploaded videos from the Videos screen.
Browse the library
- In your WordPress admin panel, go to FastPix > Videos.
- Switch between Table and Grid view.
- Filter by Status (Ready, Processing, Failed), Access (Public, Private, DRM), and Source (Upload, URL, Migrated, Dashboard, Live).
- Search titles, transcripts, and chapters from the search box.
Authors see only the videos they uploaded. Editors and administrators see the whole workspace.
View and edit video details
Click a video to open its details. From there you can:
- Edit the title and description.
- Add, replace, or remove subtitle tracks.
- Copy the shortcode or the media ID.
- Re-run AI enrichment to regenerate chapters, a summary, and named entities.
Run bulk actions
Select several videos and choose an action from Bulk actions:
- Re-run AI
- Regenerate posters
- Delete
Bulk actions run in the background. You can leave the page.
NOTE: Deleting a video removes it from FastPix and tombstones it locally. Posts that embed it are never edited; they show the saved fallback instead.
Protect playback
Set access when you upload, or change it later from the video details.
- Anyone: Plays without restrictions. Public markup is cached and structured data is emitted for search engines.
- Private: The plugin mints a short-lived RS256 token at render time that authorizes the stream, thumbnail, and spritesheet. Tokens are never written to post content, transients, logs, or reports.
- DRM: Adds a second token for the license exchange. Requires a DRM configuration ID in Settings > Video setup. See Configure settings.
Access checks are tied to the posts that embed each video. A private video plays only on a page the visitor is allowed to read.
Private link lifetime in Settings controls how long a signed token stays valid, from 2 minutes to 24 hours. The default is 15 minutes.
WARNING: Pages with private or DRM video must be excluded from full-page caches. The plugin sends
DONOTCACHEPAGE, but edge caches configured outside WordPress cannot see that header. Site Health reports the page cache it detects.
View analytics
The Analytics screen reads a local daily rollup that the plugin pulls from FastPix Data in the background. Nothing on the screen calls FastPix at render time.
Read the dashboard
- In your WordPress admin panel, go to FastPix > Analytics.
- Choose a scope: Across the site, One video, or LMS.
- Pick a range from Last 60 mins to Last 30 days, or Custom.
- Filter by device: Mobile, Desktop, or Tablet.
The dashboard shows views, unique viewers, watch time, quality of experience scores, and playback errors. Switch to One video to see per-video engagement, including how far viewers get and where they drop off.
Export a CSV
- Click Export CSV.
- Choose the Date range and what to Include: every video, the per-day rows, and the device breakdown.
- Click Start export.
The export runs as a background job. The file appears on the screen when it is ready.
Watch progress and resume
The player records watch progress so a returning visitor resumes where they stopped. Progress is stored only in your WordPress database and only when the visitor’s consent platform allows it. The plugin recognizes the WP Consent API, Cookiebot, OneTrust, and CookieYes.
Add course features
Course features are off by default. Turn them on in Settings > Video setup > Course features when a supported LMS is detected: LearnDash, TutorLMS, LifterLMS, or LearnPress.
With course features on:
- Lesson videos gain a Completion panel in the block, or the
complete_atandtrack_viewershortcode attributes in classic editors. - Completion is skip-proof. The server re-reads the threshold from the lesson’s own markup and ignores beats for videos not embedded in that lesson.
- On completion, the plugin calls the LMS’s own completion function to credit the lesson. The
fastpix_video_completedaction fires first for custom rules, and thefastpix_lms_auto_completefilter turns automatic credit off. See Developer hooks. - The LMS tab in Analytics shows per-course student progress.
Per-learner data is stored as a salted hash, never a name, and is pruned after the Per-learner retention period in Settings (90 days by default). It is covered by the WordPress personal-data export and erasure tools.
Set up live streaming
Create a stream
- Go to FastPix > Videos > Live streams and click Create stream.
- Enter a Name, choose Who can watch, and select Record it to keep the broadcast.
- Click Create.
The stream row shows the RTMPS and SRT ingest addresses and the stream key. Paste them into your encoder, for example OBS:
Embed a stream
One embed handles all three states. Before the broadcast it shows a waiting card. When the stream goes live it switches to the live player. After the stream ends it serves the recording, which also lands in your library as an ordinary video.
NOTE: Live streaming is feature-flagged. If the Live streams screen is missing, turn it on with the
fastpix_feature_livefilter. See Developer hooks.
Frequently asked questions
What video formats and file size can I upload?
The upload area accepts common video formats (including MP4, MOV, MKV, WebM) and audio formats (MP3, WAV, AAC, M4A, OGG), up to 8 hours duration of video. Uploads are resumable in 5 MB chunks.
How do I embed a private or DRM-protected video?
Embed it the same way with the block or shortcode. For private videos, the plugin signs a short-lived token at render time. DRM also needs a DRM configuration ID in Settings. Keep pages with private or DRM video out of full-page caches.
Troubleshoot
Upload fails or stays paused. The Add media screen pauses when FastPix is not responding. Click Retry. Verify the credentials in Settings, check if the video file is under 8 hours of duration and in a supported format, and try a smaller file to test the connection.
A new video doesn’t appear in the library. Without webhooks, the sweep runs every few minutes. Run wp fastpix sync, or set up webhooks. See Set up webhooks.
A private video doesn’t play. Check that the page is served over HTTPS, the visitor can read the embedding post, and the page is excluded from any full-page cache. Site Health lists the page cache it found.
DRM shows the fallback message. Enter a DRM configuration ID in Settings > Video setup.
Transcript search is unavailable. The database lacks FULLTEXT support. Title search still works. Upgrade to MySQL 5.7 / MariaDB 10.3 or later with InnoDB.
Analytics show nothing yet. The rollup pulls in the background. Confirm the Workspace key is saved so player events reach the right workspace, then wait for the next pull.
Live streams don’t appear. Live is feature-flagged. Add add_filter('fastpix_feature_live', '__return_true'); to your site.
For setup and connection issues, see Troubleshoot setup. For anything else, copy the support report from Settings > Copy support report and send it to FastPix support.
What’s next
- WordPress plugin settings and reference for settings, roles, WP-CLI, and developer hooks.
- Upload videos from a URL
- Live streaming to broadcast and embed live streams that the plugin plays in WordPress.
- Video Data to understand the analytics the plugin surfaces.