Overview
Episodes (also called chapters in the codebase) are the individual video content pieces within a season. MediaStream provides a comprehensive system for managing episodes with video playback, metadata, and organization.Create Episodes
Add new episodes to any season
Video Playback
Stream episodes with Mediastream player
Edit Metadata
Update episode titles and descriptions
Manage Content
Organize episodes within seasons
Episode Structure
Episodes exist within the following hierarchy:Creating Episodes
Episodes are created within a specific season of a series.Episode Data Structure
Required Information
The episode title (e.g., “Episode 1: Pilot”, “Introduction to Laravel”)
A description of what happens in this episode
The video content associated with this episode
Episode Display
Episodes are displayed in a list format within the series detail view.Episode List Component
Features
- Thumbnail Preview: Shows episode thumbnail image
- Title and Description: Clear episode information
- Clickable: Opens the episode player view
- Responsive Layout: Adapts to different screen sizes
Video Playback
When you click on an episode, MediaStream provides two playback options:Native HTML5 Player
Browser’s built-in video player with HLS support
Mediastream Player
Advanced player with analytics and features
Episode Player View
The Mediastream Player SDK is dynamically loaded only when needed, improving initial page load performance.
Player Features
Native HTML5 Player
Native HTML5 Player
- Standard browser video controls
- HLS (HTTP Live Streaming) support
- Auto-play capability
- Full-screen mode
- Picture-in-picture support (browser dependent)
Mediastream Player
Mediastream Player
- Advanced analytics tracking
- Custom player controls
- Multiple quality options
- Adaptive bitrate streaming
- Player event callbacks
- Custom branding options
API Integration
TheChapterController (Episode Controller) manages all episode operations.
Backend Controller
API Endpoints
Episode endpoints are nested under series and seasons:Video Streaming URLs
MediaStream uses HLS (HTTP Live Streaming) for video delivery:Best Practices
Episode Naming
Episode Naming
Use clear, descriptive episode titles:
- Include episode numbers: “Episode 1: Getting Started”
- Use descriptive names: “Introduction to Components”
- Keep titles concise but informative
- Maintain consistent naming across the season
Episode Descriptions
Episode Descriptions
Write compelling descriptions that:
- Summarize the episode content
- Highlight key topics covered
- Avoid spoilers for narrative content
- Use keywords for better searchability
Video Content
Video Content
Ensure your video content:
- Has been uploaded to Mediastream
- Is properly encoded and processed
- Has appropriate thumbnail images
- Is tested for playback before publishing
Content Organization
Content Organization
Organize episodes effectively:
- Maintain logical episode order
- Group related content in the same season
- Keep episode lengths consistent
- Plan the full season before creating episodes
Troubleshooting
Video Not Playing
Video Not Playing
If an episode won’t play:
- Verify the video ID is correct
- Check that the video is published in Mediastream
- Test the HLS URL directly in a browser
- Clear browser cache and cookies
- Try a different browser
- Check browser console for errors
Player Not Loading
Player Not Loading
If the Mediastream player doesn’t load:
- Check that the SDK script loaded successfully
- Verify no JavaScript errors in console
- Ensure the player container element exists
- Check for conflicting JavaScript libraries
- Verify your Mediastream API access
Thumbnails Not Showing
Thumbnails Not Showing
If episode thumbnails don’t appear:
- Verify images were uploaded to Mediastream
- Check the image URL path is correct
- Ensure the CDN is accessible
- Look for CORS errors in console
- Try the fallback image URL
Next Steps
VOD Upload
Learn how to upload video content
Series Management
Go back to series management