IPTV OTT Encoding & Streaming
Webcam and Screen Sharing Capture
Webcam and Screen Capture Sources
Webcam Video Capture Devices on Windows
In IPVTL channel settings, select dshow as the source type and click ... to select and preview the available video and audio capture devices.
Tip: On some capture cards, video and audio are produced from the same device. In
this case, enter
"video=<device_name>:audio=<device_name>" in
the URL field.
If there are multiple cards with the same device name, append the
video_device_number and audio_device_number options (starting from
0) to the device address. For example:
video=<device_name>:audio=<device_name>?video_device_number=0&audio_device_number=1
(to select the 1st video and 2nd audio device)
Stream Screen or Desktop via Windows GDI
In the IPVTL interface, select file as the source type and enter
"desktop" in the Media Source field. Navigate to Advanced Format Settings >
Custom Options tab, and enter "-f gdigrab -framerate 5" in the Source
Options box.
GDI (Graphics Device Interface) screen capture on Windows provides a lightweight method for desktop and window recording without requiring specialized hardware. Adjust the framerate parameter based on your bandwidth and processing requirements. Lower frame rates (5-15 fps) reduce CPU and network load, while higher rates (24-30 fps) provide smoother motion but consume more bandwidth and processing power.
Windows Desktop Capture Alternative Methods
You can also stream screen with audio via NDI from third-party streaming applications such as vMix, XSplit, and OBS, see the Newtek NDI section. This approach offers better quality and lower CPU overhead compared to GDI capture, as professional streaming applications optimize screen encoding specifically for broadcast.
Linux Screen and Video Capture
Stream Screen on Linux via Video4Linux
In the IPVTL web administration interface, select v4l2 as the source type and enter
the device name in the Media Source field, such as /dev/video0.
Video4Linux (v4l2) is the standard video capture interface on Linux systems, providing unified access to webcams, capture cards, and video devices. Device names typically follow the pattern /dev/video0, /dev/video1, etc., depending on how many video capture devices are connected and loaded. Use the following command to enumerate all available video4linux devices on your Linux system.
# v4l2-ctl --list-devices
Verify Linux Video Device Capabilities
After selecting your v4l2 device, verify its capabilities and supported formats using Linux command-line tools. You can check resolution, frame rate, and codec support with command:
# v4l2-ctl -d /dev/video0 --list-formats-ext
to ensure your device supports the capture parameters you need. This verification step prevents configuration errors and ensures optimal quality before broadcasting.
Media Services and Stream Protocol Configuration
Stream from Microsoft Windows Media Services
Select mms (Media Stream over HTTP) as the source format and enter the URL that can
be played in Windows Media Player, for example:
mms://192.168.0.1/vod/playlist.wsx
Normally, MMS works in most cases. If issues occur, try mmst (MMS over TCP) instead.
Audio and Video Synchronization
When capturing both audio and video sources, timing synchronization is critical for quality streaming. Ensure audio and video devices are properly paired and that frame rate settings match between audio sample rate and video frame rate. Mismatched timing between audio and video creates synchronization problems where speech does not align with speaker movement, resulting in poor viewing experience.
Encoding Configuration for Webcam and Screen Sources
After source selection, configure appropriate video codec and bitrate settings. For webcam streaming, H.264 codec at 2-5 Mbps bitrate provides good quality for most applications. For screen sharing with text content, consider slightly higher bitrates (3-6 Mbps) or HEVC codec for efficient text clarity. Frame rate should match your broadcast requirements: 24-30 fps for smooth video, 10-15 fps for low-bandwidth scenarios.
Streaming Integration and Related Protocols
Webcam and screen capture sources are commonly output to standard streaming protocols for broadcast and distribution. Configure your captured video to output via:
- HLS for web browser compatibility
- RTMP for major streaming platforms
- MPEG-DASH for adaptive bitrate delivery
- SRT for low-latency real-time communication
For professional production workflows, consider:
- codec selection optimization
- adaptive bitrate streaming for multiple audience connection speeds
- integration with video overlay graphics enables real-time watermarks, titles, and visual enhancements
- seamless streaming transitions between sources ensures continuous broadcast without interruption