Technical How-To Guide
On-Demand Streaming Setup Guide
Technical instructions for uploading, encoding, and delivering on-demand video and audio content. Includes encoding presets, player configuration, and DVR setup.
Updated November 2025 • 10 min read
Prerequisites
- Shoutcast Net account with storage plan (or similar VOD hosting)
- FFmpeg installed locally for manual encoding (optional)
- Video files in MP4, MOV, or other standard formats
- Basic command line knowledge (optional for advanced workflows)
Upload Video Content
Using Shoutcast Net Control Panel:
- Log in to your Shoutcast Net control panel
- Navigate to Content Manager → Video Library
- Click Upload New Video
- Select files (up to 10GB per file) or drag & drop
- Add metadata: title, description, tags, thumbnail
- Choose encoding profile (automatic or custom)
- Click Upload & Process
Using FTP/SFTP (Bulk Upload):
# Connect to your Shoutcast Net server
sftp username@your-server.shoutcastnet.com
# Navigate to upload directory
cd /home/username/media/upload
# Upload multiple files
put *.mp4
# Disconnect
exit
Files uploaded via FTP are automatically detected and processed. Check the control panel for encoding status.
Encoding Presets & Quality Levels
Shoutcast Net automatically transcodes videos to multiple quality levels for adaptive streaming. You can also encode locally using FFmpeg.
Recommended Encoding Ladder:
| Quality | Resolution | Video Bitrate | Audio Bitrate | Use Case |
|---|---|---|---|---|
| Low | 640x360 | 800 kbps | 96 kbps | Mobile 3G |
| SD | 854x480 | 1400 kbps | 128 kbps | Mobile 4G |
| HD | 1280x720 | 2800 kbps | 128 kbps | Desktop/WiFi |
| Full HD | 1920x1080 | 5000 kbps | 192 kbps | High-end devices |
| 4K | 3840x2160 | 15000 kbps | 192 kbps | Premium content |
FFmpeg Encoding Commands:
720p HD Encoding:
ffmpeg -i input.mp4 -c:v libx264 -preset slow -crf 22 \
-vf scale=-2:720 -c:a aac -b:a 128k \
-movflags +faststart output_720p.mp4
HLS Adaptive Streaming (Multi-quality):
ffmpeg -i input.mp4 \
-filter_complex "[0:v]split=3[v1][v2][v3]; \
[v1]scale=-2:360[v1out]; [v2]scale=-2:720[v2out]; [v3]scale=-2:1080[v3out]" \
-map "[v1out]" -c:v:0 libx264 -b:v:0 800k \
-map "[v2out]" -c:v:1 libx264 -b:v:1 2800k \
-map "[v3out]" -c:v:2 libx264 -b:v:2 5000k \
-map a:0 -c:a:0 aac -b:a:0 96k \
-map a:0 -c:a:1 aac -b:a:1 128k \
-map a:0 -c:a:2 aac -b:a:2 192k \
-f hls -hls_time 6 -hls_playlist_type vod \
-master_pl_name master.m3u8 \
-var_stream_map "v:0,a:0 v:1,a:1 v:2,a:2" stream_%v.m3u8
Tip: Shoutcast Net performs all encoding automatically. These commands are provided for advanced users who want local control before uploading.
Organize Content Library
Structure your VOD library for easy management and discovery:
Categories & Collections
- Group by topic/genre
- Create series and seasons
- Tag with keywords
- Set content ratings
Thumbnails & Artwork
- 1920x1080 main thumbnail
- 16:9 aspect ratio
- High-quality JPG/PNG
- Auto-generate from video
Metadata Best Practices:
| Field | Recommendation | Example |
|---|---|---|
| Title | Clear, descriptive, keyword-rich | "Mastering Portrait Photography - Episode 5" |
| Description | 150-300 characters, includes keywords | "Learn advanced lighting techniques for professional portraits..." |
| Tags | 5-10 relevant keywords | photography, portrait, lighting, tutorial, beginner |
| Duration | Auto-detected from video | 00:24:35 |
Embed Video Player
Add VOD content to your website using Shoutcast Net's embeddable player:
Basic Embed Code:
<!-- Responsive Video Player -->
<div class="video-container" style="position: relative; padding-bottom: 56.25%; height: 0;">
<iframe src="https://player.shoutcastnet.com/embed/VIDEO_ID"
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"
frameborder="0" allowfullscreen></iframe>
</div>
Advanced Player Configuration:
<iframe src="https://player.shoutcastnet.com/embed/VIDEO_ID?
autoplay=0&
controls=1&
loop=0&
muted=0&
playbackRates=1&
quality=auto&
title=1&
brandingColor=007bff"
width="800" height="450" frameborder="0" allowfullscreen>
</iframe>
Player Parameters:
- autoplay: 0 (off) or 1 (on) - Auto-start video when loaded
- controls: 0 (hide) or 1 (show) - Display play/pause controls
- loop: 0 (off) or 1 (on) - Repeat video after it ends
- quality: auto | 360p | 480p | 720p | 1080p - Force quality level
- playbackRates: 0 (hide) or 1 (show) - Speed control (0.5x - 2x)
- brandingColor: Hex color code - Customize player theme
DVR & Live-to-VOD Setup
Convert live streams to on-demand content automatically:
Enable DVR Recording:
- Navigate to Control Panel → Live Streams
- Select your live stream
- Enable DVR Recording option
- Set retention period (7 days, 30 days, unlimited)
- Choose auto-upload to VOD library after stream ends
- Configure automatic thumbnail generation and metadata
Catch-Up TV Configuration
Allow viewers to watch recently aired content:
- Look-back window: 3-7 days typical
- Seek capabilities: Allow jumping to any timestamp
- Playback speed: Enable 1.5x and 2x for catch-up viewing
- Auto-deletion: Remove after retention period expires
Monetization & Access Control
Set Content Restrictions:
Access Levels
- Public: Anyone can watch
- Registered: Login required
- Subscribers: Active subscription needed
- Premium: Specific tier or PPV purchase
Geographic Restrictions
- Geo-blocking: Block specific countries
- Geo-fencing: Allow only certain regions
- Territory licensing: Rights management
- VPN detection: Prevent bypass attempts
Payment Integration:
Shoutcast Net supports major payment processors:
- Stripe: Credit cards, subscriptions, one-time payments
- PayPal: Global payment processing
- Authorize.net: Merchant accounts
- Webhook integration: Automatic access provisioning after payment
Analytics & Monitoring
Track video performance and viewer engagement:
| Metric | Description | Why It Matters |
|---|---|---|
| Views | Total video plays (unique & repeat) | Content popularity indicator |
| Watch Time | Total minutes viewed across all viewers | Engagement and retention quality |
| Completion Rate | % of viewers who finish video | Content quality and pacing |
| Avg. View Duration | How long typical viewer watches | Identifies drop-off points |
| Bandwidth Used | Total data transferred (GB) | Cost planning and optimization |
| Geographic Data | Where viewers are located | CDN optimization and localization |
Pro Tip: Videos with 60%+ completion rates perform best. If completion drops below 40%, consider editing content for pacing or splitting into shorter episodes.
Common Issues & Solutions
Causes: High bitrate for connection, CDN issues, server overload
Solutions:
- Ensure adaptive streaming is enabled (automatically switches quality)
- Check CDN cache hit ratio (should be 90%+)
- Add lower quality renditions (360p, 480p)
- Enable preloading for next video in series
Causes: Codec compatibility, browser restrictions, DRM issues
Solutions:
- Use H.264 video codec (universally supported)
- Use AAC audio codec (iOS/Android compatible)
- Enable HLS for iOS devices, DASH for Android
- Test on multiple devices before publishing
Causes: Unoptimized encoding, storing too many quality versions
Solutions:
- Use CRF 22-28 for quality/size balance
- Remove 4K renditions if viewership is low
- Implement automatic deletion for old/unpopular content
- Use cloud storage with lifecycle policies (move to cold storage after 90 days)
Next Steps
- Read the complete on-demand streaming guide for business strategies
- Explore FFmpeg encoding techniques for advanced workflows
- Start your free 14-day VOD platform trial
- Join the streaming technology course for comprehensive training