IPTV OTT Encoding & Streaming
RTMP Streaming Protocol
Understanding RTMP Streaming Protocol
What is RTMP?
RTMP (Real Time Messaging Protocol) is a standardized streaming protocol used for broadcasting video to live streaming platforms and content distribution networks. Originally developed by Adobe for Flash Media Server, RTMP has become the industry standard for delivering live video to YouTube, Twitch, Facebook Live, and many professional streaming services. RTMP provides low-latency broadcast capabilities with reliable video delivery.
RTMP Variants and Security
RTMP protocol supports multiple variants for different security and transport requirements: RTMP (unencrypted TCP), RTMPE (encrypted), RTMPS (secure/SSL), and RTMPT (tunneled over HTTP). Choose the variant supported by your streaming destination platform. Most modern platforms recommend RTMPS for secure authenticated streaming.
Why RTMP for Live Streaming
RTMP remains popular for live streaming despite its age because it offers proven reliability, low latency suitable for interactive broadcasting, widespread platform support (YouTube, Twitch, Facebook, OBS, Wowza), and excellent compatibility with legacy broadcast workflows. RTMP's persistent connection model ensures continuous stable streaming for scheduled broadcasts.
RTMP Source Configuration
Stream from RTMP Server
Select RTMP and enter the stream URL that is playable by an SWF player or VLC
player, for example: rtmp://192.168.0.1/vod/sample or
rtmp://192.168.0.1/live/stream. If you need to consume streams from an external
RTMP source, IPVTL can accept input from any standard RTMP server or streaming application.
RTMP Authentication and Credentials
If RTMP authentication is required on the source server, enter the username and password in
the following format:
rtmp://<username>:<password>@<server_address>:<port>/<app>/<stream_name>/<stream_key>
This format automatically embeds credentials in the connection URL for seamless
authentication without requiring separate credential management.
RTMP Protocol Variants
Secure RTMP URLs (rtmps, rtmpe, rtmpt) are fully supported if required by your source server. IPVTL automatically handles protocol negotiation and encryption based on the URL scheme you provide. For maximum compatibility with CDN servers and firewalls, RTMPT (tunneled over HTTP port 80) is recommended when standard RTMP connectivity fails.
Alternative Sources: yt-dlp for Web Video
Note you can't stream directly from YouTube or Twitch video pages using RTMP protocol. Instead, use yt-dlp to extract streaming URLs from those platforms and then re-stream them via RTMP.
RTMP Publishing to Live Streaming Platforms
Stream RTMP to YouTube, Twitch, or Facebook Live Channels
IPVTL works with third-party RTMP servers such as Nginx-rtmp, Adobe Flash Media Server, Wowza Streaming Engine, and all major live streaming platforms. Before configuring RTMP output, ensure you have obtained a valid RTMP publishing URL, either from an RTMP server you built yourself or from YouTube, Twitch, Facebook, and similar platforms. You can verify the URL using OBS Studio to confirm it works properly.
YouTube Live RTMP Setup
For YouTube Live streaming, your publishing URL will look like:
rtmp://a.rtmp.youtube.com/live2/1234-5678-9ABC-DEFG
Obtain this URL from YouTube Studio's Create > Go Live section. YouTube automatically
generates unique stream keys for each broadcast. You can reuse the same stream key across
multiple broadcast sessions or generate new keys for each session.
Twitch Live RTMP Configuration
Twitch uses the following RTMP publishing URL format:
rtmp://live.twitch.tv/app/12345678abcd
Where the suffix is your unique stream key from Twitch Creator Dashboard > Settings > Stream
Key. Never share your stream key publicly as it allows anyone to broadcast to your Twitch
channel.
Facebook Media RTMP Broadcasting
Facebook Live requires secure RTMPS publishing:
rtmps://rtmp-api.facebook.com:443/rtmp/1226334177416540?ds=1&s_l=1&a=AabUoS3yJSRhM2T
Get your unique URL from Facebook's Live Video Creation Tool. Facebook includes additional
parameters for stream configuration and security token validation.
RTMP Video Encoding Configuration
H.264 vs H.265/HEVC Encoding
H.264 is the traditional standard for RTMP streaming and is supported by all RTMP platforms and players. For maximum compatibility with older devices and legacy RTMP servers, H.264 is recommended. However, H.265/HEVC offers 40-50% better compression, reducing bandwidth requirements by the same proportion while maintaining quality.
HEVC Extended FLV Format
Since version 6.1.4.4, IPVTL supports H.265/HEVC in extended FLV format (type 12 in videoTag.codecId) that complies with newer CDNs. By leveraging advanced HEVC encoding technology, streaming bandwidth can be reduced significantly compared to H.264. Note that older RTMP servers and some legacy players may not support HEVC, so verify platform compatibility before selecting HEVC.
Bitrate and Quality Configuration
Configure RTMP output bitrate based on your source video resolution and target streaming platform: for 720p HD streaming use 2500-4000 kbps, for 1080p HD use 5000-8000 kbps, for 4K use 15000+ kbps. Most streaming platforms recommend starting at their suggested bitrate and adjusting based on audience quality feedback and network conditions.
Multi-bitrate RTMP streaming is also supported. To do that, configure multiple RTMP outputs with different addresses and video bitrates. See Multi-bitrate Streaming for more details.
Advanced RTMP Configuration
Go to Advanced Format Settings > RTMP Config to access additional RTMP parameters. These settings provide fine-grained control over RTMP protocol behavior and server compatibility.
- Flash Version String is a custom identification string for RTMP publishing clients. This identifies the encoder to the RTMP server, similar to a User-Agent header in HTTP. Leave it empty if you are unsure, or enter a standard value like "FME/3.0" for compatibility with legacy Adobe Flash Media Server instances.
- SWF URL Verify is used for server verification of the RTMP stream URL. Some RTMP servers (particularly older Adobe Flash Media Server versions) require SWF verification to confirm the publishing request originates from an authorized source. Leave it empty if you are unsure or if your RTMP server doesn't enforce SWF verification.
- Publish Username and Password are used for RTMP publishing when Adobe or Limelight authentication is enabled. Enter these credentials here if your custom RTMP server or streaming platform requires them. These are not required for YouTube, Twitch, or Facebook Live which use stream key-based authentication in the URL.
Custom RTMP Server Hosting
To build your own RTMP streaming server, configure Nginx-rtmp or Wowza Streaming Engine with appropriate publishing URLs and authentication. IPVTL can connect to these custom servers for internal content distribution, redundant backup streaming, or multi-platform simultaneous broadcasting.
RTMP Integration with IPVTL Features
RTMP output integrates with all IPVTL encoding and distribution capabilities:
- Professional video codecs selection for RTMP streaming
- Multi-bitrate RTMP streaming to multiple platforms simultaneously
- Seamless streaming transitions with reliable RTMP delivery
- Video overlay and graphics before RTMP encoding
- NVIDIA GPU acceleration for fast RTMP encoding
- Intel GPU integration for efficient RTMP transcoding
- NETINT VPU hardware for energy-efficient RTMP broadcasting
- HLS streaming alongside RTMP for multi-protocol delivery