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:

  1. Log in to your Shoutcast Net control panel
  2. Navigate to Content Manager → Video Library
  3. Click Upload New Video
  4. Select files (up to 10GB per file) or drag & drop
  5. Add metadata: title, description, tags, thumbnail
  6. Choose encoding profile (automatic or custom)
  7. 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:

  1. Navigate to Control Panel → Live Streams
  2. Select your live stream
  3. Enable DVR Recording option
  4. Set retention period (7 days, 30 days, unlimited)
  5. Choose auto-upload to VOD library after stream ends
  6. 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