IPTV Live Video Encoding & Streaming MPEG-TS
Stream from MPEG-TS from Dreambox-like DVB-S devices
MPEG-TS can be encapsulated in udp unicast/multicast, rtp or http format. Enter the source URL like
udp://0.0.0.0:1234
(mpeg-ts over udp unicast)
udp://224.0.0.1:1234
(mpeg-ts over udp multicast)
rtp://224.0.0.1:1234
(mpeg-ts over rtp multicast)
http://192.168.0.1/mpeg-ts
(mpeg-ts over http)
MPEG-TS Source Stream Selection
If you are streaming from Multi Program Transport Stream (MPTS), it is possible to choose program / stream in the source you prefer to output. To do that, go to IPVTL advanced channel settings -> MPEG-TS Input and pick program ID, stream ID or both.
Stream ID can be used to choose audio, video or subtitle streams. The index starts from 1. The following example selects the 1st and 2nd stream in the source (usually video and audio streams).
Stream MPEG-TS with subtitles
IPVTL is able to pass through the following subtitles in MPEG-TS format:
- DVB/DVD subtitle
- DVB teletext
- Closed Captioning (CEA/EIA-608, CEA/EIA-708)
Closed caption is passed through automatically during transcoding. No extra steps required.
Default DVB subtitle / teletext stream is also passed through if Source Stream Selection above is left empty. Otherwise, make sure to select the proper subtitle stream ID you want to output.
Stream MPEG-TS over UDP/RTP to OTT STB
Choose MPEG-TS over UDP in Target Format, and enter target UDP/RTP
address (IP:Port) on receiver side. Both muticast and unicast addresses are
allowed, for example
udp://192.168.0.1:1234
(udp unicast), or
rtp://224.0.0.1:1234
(rtp multicast).
OTT / STB devices usually require strict compliance to MPEG-TS standard, like constant bit rate and accurate PCR period. To stream to those devices, make sure to use IPVTL version 6.1.4.4 or higher, with Mux Bitrate and CBR enabled. See Constant Bitrate Settings below.
Please understand UDP/RTP streaming works in local network only. It is not supposed to serve over the internet, as UDP transportation is not reliable. For distant stream delivery, consider SRT instead.
Tip: If there are multiple network interfaces on the host, you can
choose which one to stream in a udp multicast address, by appending "localaddr"
option. For example udp://224.0.0.1:1234?localaddr=192.168.0.1
.
For MPTS output instructions, see Advanced MPTS Config below.
Stream MPEG-TS over HTTP on local host interface
First configure HTTP Port to be bound to your local network interface in Global Settings. The default port number is 9527. Change it if the port is occupied by other applications on your machine.
Then Choose MPEG-TS over HTTP in Target Format. The output URL format
is http://host_IP:http_port/ipvt/###,
for example http://192.168.1.1:9527/ipvt_ch1
.
The URL can then be fed to streaming servers, or played in streaming players
like VLC.
Different http output channels run on different TCP ports (starting from base port 9527). Please make sure the ports are available for listening.
Note: Although MPEG-TS over HTTP streaming can work over internet, it is not designed to provide stream distribution to large scale end users directly. If you have such requirements, consider using a 3rd party media streaming servers, like Wowza server or Nginx (see below).
To secure HTTP output streams from being exposed to unexpected streamers, go to Global Settings and enter IP address ACL (access control list) rules. The ACL syntax supports both blacklist and whitelist, which is very like syntax in nginx:
# whitelist deny all allow 127.0.0.1/8 # blacklist allow all deny 1.2.3.4
Note: Use ACL rules with caution, as it affects web console interface as well.
Variable or Constant Bitrate
IPVTL outputs video stream in variable bitrate (VBR) by default. If you want to limit video output bitrate, choose it carefully as bitrate restraint could lower video quality. Creating artifacts during playback for example. Setting both video bitrate and video quality is NOT recommended.
Legacy DVB IRDs usually requires constant bitrate (CBR) stream and accurate PCR period. To accomplish that, enter proper values for both Video Bitrate and Mux Bitrate in channel settings. That will produce CBR stream compliant with DVB ETSI TR 101 290. Note Mux Bitrate must be some higher than <Video bitrate> + <Audio bitrate>. In example below, video bitrate = 1600kbps, audio bitrate = 128kbps, while Mux bitrate = 2000kbps.
Mux Multiple Sources into Single MPTS
MPEG-TS output metadatas are configurable in IPVTL advanced channel settings -> MPEG-TS Output, including Program/Service ID, Program Name, First PID, PMT PID and Provider Name.
To create MPTS (multi-program ts) output, first set up several channels, which will work as MPTS sources and share a same output address. Right now MPEG-TS over UDP and SRT formats are allowed to output MPTS.
After source channels ready, choose one of them as the main channel. Bind other source channels to the main channel, by entering the main channel ID in their Bind columns.
In main channel's MPEG-TS Output settings, add a program for each source channel (see above screen shot). For every program, you can choose Program ID as you wish. But remember to pick up Source ID in ordinal numbers, starting from 1. This is important as Source ID will be used to map output TS program to the source channel.
That's it. To start MPTS streaming, just start the main channel. All source bound channels will start as well, along with the main channel.
Tip: Before starting the main channel, you can start each source channel separatedly to check their validity.