Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

8/24/2019 Live Video Stream Transcoding Software

English | 简体中文

Home Products Services Purchase Contact us

Introduction Introduction
Product Specification

Pricing

Download

Version Updates

Getting Started

Advanced Settings

Troubleshooting

IPVTL Streaming Infrastructure

IP Video Transcoding Live! (IPVTL) - multiple channel live transcoding


software, is designed for live media streaming over the internet, cable and
satellite TV digital video broadcasting, video surveillance and event
webcasting.

IPVTL provides high density transcoding capability with lowest latency.


Running on high performanced generic Intel / AMD64 archtecture and
NVIDIA Quadro / Tesla graphics processors, IPVTL can transcode up to 64
channels 1080p H.264 video on 1 dedicated server.

IPVTL has full support of media encoding formats, from ancient to modern
types, such as G.7xx, MP2/3, AMR, AAC, AC3, H.263(+), H.264/AVC,
H.265/HEVC, MPEG-1, MPEG-2 and MPEG-4, also HTML5 video formats
VP8/VP9 included. Screen Shot
(Click to view full size)
IPVTL accepts all kinds of media streaming formats, from video clips and TV
capture/tuner cards, to internet streaming like HTTP, MMS, RTSP, RTMP, RTP, NDI, SRT and MPEG-TS (DVB-S). It works perfectly with
most popular live streaming CDN service providers listed below Wowza Streaming Engine, Nginx-rtmp, as well as common DVB-S
devices with SDI like Dreambox® and BlackMagic Decklink cards.

Youtube Facebook media Windows Media Server Adobe Media Server

Wowza Streaming Engine Apple Quick Time RealNetworks Server DVB-S

IPVTL provides on-demand file streaming as well. It can stream from pre-recorded video clips of any formats on your local disk, with
transcoding on the fly. Scheduled folder play list is also possible (available on Windows currently).

On output side, IPVTL supports the most popular streaming protocols today - Apple HLS and Flash RTMP pushing to CDNs of Nginx-
rtmp, Adobe Media Server, Wowza Streaming Engine or Red5 Media Server. MPEG-TS output in constant bitrate (CBR) is available
for best compatibility with IPTV STB and other playback hardware.

IPVTL gives you full control of video and audio encoding profiles customized as per your system requirements. Video size, quality, frame
rate and bit rate, you can reshape your stream fast and simple. IPVTL also provides professional video post-processes such as
logo/delogo, watermarking and subtitle overlay.

www.ipvideotrans.com/live-video-transcoding.html 1/13
8/24/2019 Live Video Stream Transcoding Software
For native RTP streams, the input and output media attributes can be easily imported or exported through SDP files (RFC 2327), which
can then be fed to other collaborating applications in the whole scenario.

Main Features

Input from HTTP/RTSP/MMS/RTMP/NDI URLs


Input from Local Media Files & Folders
Input from BlackMagic DeckLink and other DirectShow Compatible Capture Cards
Live TV Streaming with Time Shifting
Adobe HTTP Dynamic Streaming (Multi-bitrate RTMP Stream Delivery)
Introduction Apple HLS Adaptive Bitrate Streaming new

Product Specification Video Deinterlace / Crop / Pad / Sharpen / Blur / Overlay / Delogo
Intel Quick Sync Video Accelerated H.264 & HEVC Encoding new
Pricing
NVIDIA NVENC Accelerated H.264 & HEVC Encoding new
Download 24/7 Unattended Streaming with Auto Failure Recovery
Version Updates

Getting Started Product Specification


Advanced Settings Input Formats Supported

Troubleshooting Apple HTTP Live Stream


MMS over TCP / HTTP tunnelling
RTSP over UDP / TCP
RTMP / RTMPE / RTMPS / RTMPT
RTP (Real-Time Transport Protocol RFC 3550)
MPEG-2 TS over HTTP/UDP/RTP
Newtek NDI
Secure Reliable Transport (SRT)
Microsoft DirectShow Compatible Capture / Crossbar Device
USB Webcam
Digital (Video) Camera (firewire cable connected)
PCI-E Video Capture Card (Blackmagic Intensity/Decklink, TBS, Osprey, etc)
Blackmagic DeckLink Capture Cards thru DeckLink API
Screencast
Multimedia File
Audio Files: .pcm / .wav / .mp3 / .amr / .wma / .voc / .ogg / .au
Video Files: .avi / .mpg / .mp4 / .mov / .mkv / .ts / .wmv / .asf / .3gp / .vob / .flv / .swf / .rm / .rmvb / .webm
Picture Files: .bmp / .jpg / .gif / .png / .tif

Output Formats Supported

RTMP / RTMPE / RTMPS / RTMPT


MPEG-2 TS over HTTP/UDP/RTP
Apple HTTP Live Streaming - local index(.m3u8) and segment(.ts) files saving or HTTP server uploading thru "PUT"
MPEG-DASH (in .mpd index file and .m4s segment files)
Newtek NDI
Secure Reliable Transport (SRT)
MJPEG over HTTP
Video File (.mov / .mp4 / .mkv / .mpg / .ts)
Blackmagic DeckLink Playback Cards thru DeckLink API
RTSP / Native RTP (Real-Time Transport Protocol RFC 3550)

Codecs Supported

AAC-LC / HE-AAC H.265 / HEVC (Main/Main 10/Main SP) dvb/dvd subtitle


AC3 / E-AC3 H.264 / AVC (Baseline/Main/High/High srt/subrip subtitle
MP2 / MP3 10/High 4:2:2/High 4:4:4) webvtt subtitle
PCM / G.7xx MPEG-4/Visual movtext subtitle
AMR H.263+/++ (aka H.263-1998/2000)
Real Audio H.263
Windows Media Audio JPEG/MJPEG
MPEG-1 Video
MPEG-2 Video
Real Video
Flash Video
Windows Media Video
On2 VP6
Webm VP8
Webm VP9

Hardware Acceleration

GPU Encoding & Decoding H.264 / HEVC with NVIDIA NVENC / NVDEC / CUVID Technology (on NVDIA Quadro/GRID/Tesla models with
Kepler/Maxwell/Pascal GPU)
GPU Resizing with NVIDIA Performance Primitives (NPP Scale)
Hardware Encoding H.264 / HEVC with Intel Quick Sync Video Technology (Intel processors with HD Graphics required)

www.ipvideotrans.com/live-video-transcoding.html 2/13
8/24/2019 Live Video Stream Transcoding Software
DXVA2 Accelerated Decoding (Available on Windows)

Output Video Resolution

UHD (2K/4K)
HDTV (1280x720/1920x1080)
SDTV (720x576)
4CIF (704x576)
VGA (640x480)
CIF (352x288)
QVGA (320x240)
QCIF (176x144)
SQCIF (128x96)
Custom/User-specified (H.263+/H.264/MPEG-4/HEVC)
Introduction
System Requirements
Product Specification
Processor: 2GHz or higher (The higher the better. Multi-core CPU recommended)
Pricing RAM: 1GB or above
Ethernet NIC
Download OS:
  Microsoft Windows® 7/8/10 64-bit
Version Updates
  Microsoft Windows Server 2008 R2/2012/2016 64-bit
  Linux 64-bit (Ubuntu, CentOS, Debian) kernel 2.6-3.10
Getting Started

Advanced Settings Pricing


Troubleshooting
We offer very competitive price against other live transcoding solutions, starting from $120 only. Once purchased, you receive lifetime
working license, with 1 year free software updates and support from us. If further software updates and support is expected, subscription
renewal is required annually. As an example see Pricing Comparison with Wowza Transcoder Addon below:

Number of Channels Wowza Transcoder Addon Pricing IP Video Transcoding Live Pricing

1 $240 / Year $120


4 $960 / Year $240
16 $2,256 / Year $480
64 $11,232 / Year $960

We offer bulk discount to volume channel/license purchase and distributors. SDK license is also avaiable. For more pricing details about
IPVTL, please don't hesitate to query sales#ipvideotrans.com.

Download
IP Video Transcoding Live! 16 Channel Evaluation
Channel Manager Tool
30 Day Free Trial Download

Version 5.12.3.4
Old stable. Installer for Windows
Linux x64 LZMA Tarball Windows Zip Package
Supports RTSP/HTTP output, For Windows 7/8/10,
For CentOS, Debian, Ubuntu For Linux users setting up
with Time shifting feature Windows Server 2008 R2/2012/2016
64 bit only configuration on Windows
32/64 bit
Version 5.12.4.1
Installer for Windows
No RTSP output. Linux x64 LZMA Tarball Windows Zip Package
For Windows 7/8/10,
HTTP output limited to 1 client only. For CentOS, Debian, Ubuntu For Linux users setting up
Windows Server 2008 R2/2012/2016
No time shifting. 64 bit only configuration on Windows
64 bit only
See version updates below.

Version Updates
v5.12.4.1
  - NVDEC accelerated HEVC decoding
  - Switch to 64bit core on Windows
  - User access control in Windows UI
  - NVIDIA scale_npp acceleration
  - Add Secure Reliable Transport (SRT) support
  - Newtek device selection UI
  - Folder streaming on Linux & new recursive mode
  - Remove RTSP output support
  - HTTP output limited to 1 client only
  - Remove Time Shifting function

v5.12.3.4
  - Video scan type option (interlaced encoding)
  - Alsa input on Linux
  - DASH format input support
  - Folder streaming bug fix

www.ipvideotrans.com/live-video-transcoding.html 3/13
8/24/2019 Live Video Stream Transcoding Software
  - Audio 7.1 channel output
  - Overlay with video url
  - Newtek NDI input & output
  - More MPEG-TS options (video/audio pid, pcr pid, pmt pid)

v5.11.3.4
  - Fix multiple processor affinity issue on Windows
  - MJPEG output format support
  - MPEG-TS options (program ID, name, provider)
  - Log file auto clean
  - DeckLink device format selection
  - Text overlay
  - V4L2 input support on Linux
Introduction   - NVDEC/CUVID acceleration in h.264 decoding

Product Specification v5.10.3.3


  - HE-AAC encoding & E-AC3 (AC3+) encoding supported
Pricing   - Intel Quick Sync accelerated HEVC encoding bug fix
  - NVIDIA CUDA/CUVID/NVDEC accelerated H.264/HEVC decoding UHD/4K video
Download   - Easier RTMP pushing to Youtube and other flash sites
  - More advanced settings (RTMP/HLS/Timeshifting) available in web config interface
Version Updates   - License activation thru web interface on Linux
  - Enhanced web interface security (login password & IP whitelist)
Getting Started   - Blackmagic DeckLink capture / playback card enumerator on Windows
  - Multi-bitrate profiles for UDP output
Advanced Settings   - Fix PCR accuracy issue in UDP MPEG TS output
  - UDP MPEG TS CBR output optimzation
Troubleshooting   - CPU affinity management (processor load balance) on Linux
  - Video key frame interval now calculated in seconds

v5.9.3.0
  - MPEG DASH output format support
  - Web interface to edit channel settings
  - Fix Intel Quick Sync Video acceleration issue on Linux
  - Daemon (background) running mode under Linux

v5.8.3.0
  - RTSP output format support
  - Web interface for live channel status management

v5.7.2.8
  - CPU affinity management (processor load balance) on Windows
  - Enhanced streaming failure recovery

v5.6.2.8
  - Optimized software H.264 encoding performance on multiprocessor system
  - Presets for NVIDIA NVENC accelerated encodings
  - Intel QSV acceleration bugfix on Linux
  - Blackmagic Decklink video card input & output support on Linux

v5.5.2.8
  - Intel Quick Sync Video accelerated HEVC encoding supported (requires Intel 6th/7th generation Skylake / Kaby Lake Core processor)

v5.5.2.7
  - Intel Quick Sync Video accelerated H.264 encoding supported. See list of supported Intel processors with HD Graphics on Intel website

v5.5.2.6
  - NVIDIA NVENC (GPU accelerated) H.264/HEVC encoding supported. See list of supported NVIDIA Quadro, GRID, and Tesla GPUs on NVIDIA
website
  - Smarter detection of dead streaming

v5.4.2.6
  - H.265/HEVC encoding support
  - DXVA2 accelerated decoding

v5.3.2.5
  - MPEG-DASH segmenting muxer
  - Potential memory leak fix in folder streaming

v5.2.2.2
  - HTTPS input support
  - MPEG-TS over RTP input support
  - HLS multi-bitrate streaming
  - Optimized time shifted streaming with break no more
  - Animated logo overlay support (through GIF)

v5.1.1.2
  - m3u8 playlist (HTTP Live Streaming) output support
  - RTMP multi-bitrate streaming
  - Improved streaming performance

v5.0.1.2
  - MPEG-TS over HTTP output support
  - H.264 encoder upgrade, new profiles introduced
  - New UI for Source Stream Selection (with MPEG-TS program selection)

www.ipvideotrans.com/live-video-transcoding.html 4/13
8/24/2019 Live Video Stream Transcoding Software
  - RTMP tunnelling support
  - Source & Target custom parameters
  - Memo for each channel

v4.9.11.2
  - MPEG-TS DVB subtitle stream pass thru
  - Live stream time shifting on Linux

v4.8.11.2
  - RTSP over TCP support

v4.8.11.1
  - DirectShow capture source support
  - CBR mode for MPEG-TS output
Introduction
v4.7.8.11
Product Specification   - RTMP SWF verification support

Pricing v4.5.10.0
  - Live stream time shifting on Windows
Download   - New UI for advanced format settings

Version Updates
Getting Started
Getting Started
1. Installation
Advanced Settings
For Windows users, just download and run executable installer to install IPVTL to your computer. Start IPVTL from Windows Program
Troubleshooting Menu or desktop as you like. Simple and easy.

For Linux users, it's a bit more complicated. First, download and
extract Installation tarball to local directory, /home or /opt for # cd /home
# tar xvf ipvtl_trial-x64.tar.xz
example. Remember to extract it WITHOUT changing file ipvtl/
permissions inside, or IPVTL could fail to run. Then, in Linux ipvtl/libva.so.1
console go to IPVTL folder, start IPVTL by entering command like ipvtl/libva-drm.so.1
ipvtl/ipvtl.so
./ipvtl_16ch_trial or ./ipvtl_4ch. To quit IPVTL, simply pgrep ipvtl_ ipvtl/ipvts.so
and kill IPVTL main process, or just pkill ipvtl_. ipvtl/ipvtl_16ch_trial
# cd ipvtl
# sudo ./ipvtl_16ch_trial
Prior to version 5.8.3.1, IPVTL users on Linux have to edit config file
manually to set up transcoding, which is a big pain to start. Latest ****************************************
IPVTL has web interface built inside, making it possible to set up * IP Video Transcoding Live! *
* Copyright 2009-2017 *
and manage channels at runtime in a web browser. The web * IPVideoTrans.com *
interface is able to be accessed at http://<host_IP>:<http_port>, * Version 5.10.3.3 *
where host_IP is the network address of computer running IPVTL, * 16 Channel Evaluation *
* Days to Expire: 30 *
and http_port is the HTTP service port which can be configured in * To purchase licenses, please contact *
Global Settings, for example http://127.0.0.1:8888/. Both Windows * sales@ipvideotrans.com *
and Linux users may find it helpful, either setting up transcoding ****************************************
channels or manipulating channel status, locally or remotely. IPVTL started successfully!
Web management now accessible at http://127.0.0.1:8888...
Licensed users on Linux will be directed to license activation page #
on the first time accessing web interface. On that page you can
import license key provided by us and activate IPVTL.

Starting from 5.10.3.3, IPVTL enhances web interface security with built-in login authentication and IP address whitelist. It is STRONGLY
RECOMMENDED to set up web login password in Global Settings IMMEDIATELY after installation. Otherwise there is a risk of exposing
all channels configuration on the internet.

IPVTL web interface provides basic channel configuration. Though some advanced settings are missing, compared to IPVTL Windows
GUI. For example Multi-bitrate profiles and video image overlay. Therefore IPVTL Channel Manager brings another approach, helping
Linux users build configuration on Windows. IPVTL Channel Manager provides exactly the same functionality as IPVTL Windows GUI,
except running or stopping channels. You can build up to 64 channels with it. When you are done with setup, export configuration file
ipvtl.conf to Linux box to make it work. To import IPVTL configuration on Linux, first quit IPVTL (pkill ipvtl_), and copy ipvtl.conf to
/etc/ipvtl/ and overwrite the old one.

To set up transcoding channel in IPVTL, only 2 more steps below are required:

2. Select Source Media

Be sure to make clear your media source type before starting. Click New Channel button
to create a new transcoding channel with default settings. In the channel list panel, select
appropriate streaming protocol and enter the URL of the media source.

To stream from pre-recorded media file or file folder

Choose file as source type, enter the full path of the file or click "..." button to
browse for the file.

On Windows, if a file folder instead of a single file is selected, the channel is set to
"play list" streaming mode. All supported media files in that folder will be streamed
in sequence. Play list controls like forward/backward is available during live
Select Media Source
streaming.

To stream from Apple HLS

www.ipvideotrans.com/live-video-transcoding.html 5/13
8/24/2019 Live Video Stream Transcoding Software
Choose hls as source type, enter "hls://<m3u8_url>" as source media. e.g. hls://my.videosite.com/live/playlist.m3u8

To stream from Microsoft Windows Media Service

Choose mms (mms over http tunnelling) as source type, enter the URL that can be played in Windows Media Player, e.g.
mms://192.168.0.1/vod/playlist.wsx

Tip: Normally mms will do for most WMS servers. If there is an issue, try mmst (mms over tcp) instead.

To stream from Real Time Media Service (Helix Server, IP Cameras)

Choose rtsp (over udp) or rtspt (over tcp) accordingly, and enter the URL that can be played in VLC player. Note rtspt (RTSP
over TCP) is recommended in lossy network environment, if it is supported by the source server.
Introduction
If rtsp authentication is mandatory on the source server, enter username / password in the following format:
Product Specification rtsp://<username>:<password>@<server_ip>:<port>/stream

Pricing To stream from Flash video sources

Download Choose rtmp and enter the stream URL that can be played in a swf player or VLC player, e.g. rtmp://192.168.0.1/vod/sample or
rtmp://192.168.0.1/live/stream. Secured RTMP URLs including rtmps, rtmpe, rtmpt are also supported if demanded by server.
Version Updates
If rtmp authentication is mandatory on the source server, enter username / password in the following format:
Getting Started rtmp://<username>:<password>@<server_ip>:<port>/<app>/<stream>

Advanced Settings To stream from MPEG-TS from Dreambox-like DVB-S devices

Troubleshooting Choose udp, rtp or http accordingly, and enter source URL, e.g.

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/mpegts (mpeg-ts over http)

To stream from DirectShow TV capture cards

Choose dshow and click "..." button to enumerate and choose your video / audio capture devices available to stream.

Tip: On some kind of capture cards, video and audio can come from a same device. In that case, enter
video=<device_name>:audio=<device_name> in the url box.

If there are more than 1 cards with a same device name, append video_device_number and
audio_device_number option (starts from 0) to the url. For example:

video=<device_name>:audio=<device_name>?video_device_number=1&audio_device_number=1 (2nd
video & 2nd audio device)

To stream from Blackmagic Decklink capture cards using Decklink SDK

Choose decklink as source type and click "..." button to select available decklink cards on your computer.

Please note you have to install Blackmagic Decklink Desktop Video software at https://www.blackmagicdesign.com/support before
setup.

To stream from Newtek NDI sources

Choose newtek ndi as source type and click "..." button to search available NDI sources on your computer.

Note NDI sources could take long time to be detected. If no NDI sources found, try bigger timeout value and click "Search Again".

To stream from Secure Reliable Transport source

Streaming from Secure Reliable Transport is like streaming from HTTP. Just choose srt as source type and enter srt url in source
address, like "srt://0.0.0.0:1234".

3. Setup Output Stream

First, select target stream format you demand appropriately, among RTMP,
MPEG-TS over UDP/RTP/HTTP, m3u8 Playlist (HLS), MPEG DASH, Decklink
playback card and Native RTP. Then enter target address and modify encoding
details if necessary. You can change video resolution, frame rate, quality level,
encoding bitrate and audio sample rate, etc.

To push RTMP stream to streaming server or CDN like Youtube /


Facebook

IPVTL works with 3rd party RTMP server like Nginx-rtmp, Adobe Flash
Media Server and Wowza streaming engine. Before setting up RTMP
output, please make sure you have got either RTMP server of your own or
streaming CDN from your provider running properly, with a valid RTMP
publishing URL.

www.ipvideotrans.com/live-video-transcoding.html 6/13
8/24/2019 Live Video Stream Transcoding Software
The format of a full RTMP publishing URL is normally:
rtmp://<server_domain/ip>:<port>/<app>/<stream_name>

Tip: You can verify the publish url using Adobe Flash Media Live Encoder. A
Full RTMP publish URL = <Server URL> + "/" + <Stream Name/Key>

For example,
A publishing URL for Youtube live:
rtmp://a.rtmp.youtube.com/live2/1234-5678-9ABC-DEFG
A publishing URL for Facebook media live:
rtmp://rtmp-api.facebook.com:80/rtmp/1226334177416540?
ds=1&s_l=1&a=AabUoS3yJSRhM2T
Introduction And a publishing URL for Adobe FMS HLS:
rtmp://192.168.0.1:1935/livepkgr/livestream?adbe-live-event=liveevent
Product Specification
If RTMP publish authentication is mandatory on the server, go to
Pricing Advanced Format Settings -> RTMP Config and enter confidentials there.
(See RTMP Options in Advanced Settings below)
Download
To output MPEG-TS over UDP/RTP stream over LAN
Version Updates
Just enter the target UDP/RTP address (IP:Port) on receiving side, for Transcoding Panel

Getting Started example udp://192.168.0.1:1234 (udp unicast), or rtp://224.0.0.1:1234 (rtp multicast).

Advanced Settings Please understand normally UDP/RTP streaming works in local network only. It is not recommended to do so over internet, as
UDP transportation would not be so reliable.
Troubleshooting
To output MPEG-TS over HTTP stream on local network interface

If you are using version 5.12.3.4, first please configure HTTP Port to be
bound to your local network interface in Global Settings. The default port
number is 8888. Change it if necessary and make sure the port is not
occupied by any other application on your machine. Restarting program is
recommended once HTTP Port is changed.

As stream is output on local network interface, Target URL is fixed and is not
allowed to be modified in this case. The output URL is provided in
http://<host_IP>:<http_port>/ipvt_###, for example
http://192.168.1.1:8888/ipvt_001. The URL can then be used to feed to
streaming servers, or to be played in streaming players like VLC.

Starting from version 5.12.4.1, http output channels don't share the same port
any more. Please make sure to specify different port numbers for different channels.

Tip: IP 127.0.0.1 in Target URL is just for demonstration. Actually client streamers can access the
output stream with ALL IP addresses bound to NICs on the host computer, by just replacing 127.0.0.1 in
Target URL with your preferred IP.

Although MPEG-TS over HTTP streaming can work over internet, it is not designed to provide stream
distribution to volume end users directly. To do that, please try 3rd party media streaming servers, like
Wowza server and Nginx (see below).

Attention: On system without network firewall enabled, there is a risk of HTTP streams being exposed
on the internet to unexpected streamers. To secure your HTTP streams, go to Global Settings to locate
and edit IP address ACL (access control list) file. Put client IP addresses in blacklist or whitelist in
following syntax:

ACL deny 1.2.3.4


ACL allow 192.168.1.2
ACL deny 192.168.100.1 192.168.100.10

Note ACL also affects web config interface, so use it with caution.

To output Apple HLS for smart mobile devices (Android & iOS)

First of all, please understand IPVTL DOES NOT output Apple HLS directly.
Instead, it outputs stream index file (.m3u8) and segment files (.ts) on your
local disk. These files can then be fed to web server like Nginx, Apache or Microsoft IIS to provide HLS to end player running in
user Apps or browsers.

In Windows version, the default output index file name is C:\stream.m3u8. And segment files will be generated in C:\stream-
###.ts. You can edit in Target URL and change it to your perferred folder and file name. For example put them under your web
server publish folder to be auto-loaded by the server.

More HLS settings can be found in Format Advanced Settings. You can define ts segment length, index rules and other details
there.

Best Practice - Working with Nginx to provide Apple HLS streaming

a. Install Nginx, for example to C:\nginx.


b. In C:\nginx, create folder media as virtual root folder for hls.

www.ipvideotrans.com/live-video-transcoding.html 7/13
8/24/2019 Live Video Stream Transcoding Software
c. In C:\nginx\media, create folder hls to place m3u8 and ts segments.
d. In IPVTL, set output file to C:\nginx\media\hls\stream.m3u8.
e. Edit nginx.conf, in http{} -> server{} section, add location{} section for hls as below:

http {
...
server {
...
location /hls {
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root media;
add_header Cache-Control no-cache;
Introduction }
...
}
Product Specification ...
}
Pricing
If both Nginx and IPVTL channel start successfully, the output stream should be able to access at
Download http://<nginx_server_ip>/hls/stream.m3u8.

Version Updates To output MPEG DASH stream

Getting Started First of all, please understand IPVTL DOES NOT output MPEG DASH stream directly. Instead, it outputs MPEG DASH index files
(.mpd) and segment files (.m4s) on your local disk. These files can then be fed to web server like Nginx, Apache or Microsoft IIS
Advanced Settings to provide MPEG DASH streaming to end players.
Troubleshooting In Windows version, the default output index file name is C:\stream.mpd. And segment files will be generated in C:\init-
stream#.m4s and C:\chunk-stream#-#####.m4s. You can edit in Target URL and change it to your perferred folder and file name.
For example put them under your web server publish folder to be auto-loaded by the server.

To output to Blackmagic Decklink playback cards using Decklink SDK

Select "Decklink Playback Card" as Target Format, and click "..." button to select available decklink cards with desired output
format on your computer.

Please note you have to install Blackmagic Decklink Desktop Video software at https://www.blackmagicdesign.com/support before
setup.

To output to Newtek NDI interfaces

Select Newtek NDI as Target Format and enter NDI name (default to "IPVTL##") your prefer in Target URL.

To output RTSP on local network interface

First please configure RTSP Port to be bound to your local network interface in Global Settings. The default port number is 5544.
Change it if necessary and make sure the port is not occupied by any other application on your machine. Restarting program is
required once RTSP Port is changed.

Like HTTP output format, RTSP Target URL is fixed and is not allowed to be modified in this case. The output URL is provided in
rtsp://<host_IP>:<rtsp_port>/ipvt-###, for example rtsp://192.168.1.1:5544/ipvt-001. The URL can then be used to feed to
streaming servers, or to be played in streaming players like VLC.

The last version supports RTSP Output is version 5.12.3.4. Please make sure to download the correct version to output RTSP.

To output Native RTP stream

You may import and export media attributes through SDP format (See IETF RFC 2327) files by clicking Import SDP and Export
SDP buttons. That makes configuration much easier. SDP is a universal method to describe media streams in RTP format. It is
widely used together with other multimedia transporting protocols such as SIP and RTSP. Many network stream media players like
VLC and QuickTime support SDP file playback.

Once you've finished with the settings, click Apply button to validate and save your configuration. You can always change transcoding
settings by clicking Edit button at a later time. But remember setting changes won't make effect to a live channel, until the channel is
restarted.

4. Start Streaming!

After a new transcoding channel is set up, you may enter some memo about the channel in the list to keep it simple to identify. The red
light in the last column ( ) indicates the channel is not started yet. Click Start button to start transcoding. If everything is OK, the status
light will switch to green ( ), which means the channel is running good now. You can then validate the output stream in your end device
or VLC player ( http://www.videolan.org/vlc) , a very handy tool.

If there is any problem however, please try Troubleshooting below, or send feedback to support#ipvideotrans.com with your channel
settings and channel log file to get a diagnosis. To get channel log file, enable Debug Log in Global Settings before starting the channel.
IPVTL config file and log files are located in:

%APPDATA%\IPVideoTrans\ipvtl\ipvtl.conf and %APPDATA%\IPVideoTrans\ipvtl\log\ on Windows


/etc/ipvtl/ipvtl.conf and /var/ipvtl/log/ on Linux

Advanced Settings

www.ipvideotrans.com/live-video-transcoding.html 8/13
8/24/2019 Live Video Stream Transcoding Software
CPU Affinity Management

By default all transcoding channels share all logical processors on the server. Sometimes it could result in unbalanced CPU usage
on server with multiple physical processors. CPU affinity management can bring CPU load balance and thus improve overall
capability of transcoding. You need to enter the number of cores to be assigned to single channel, for example 2 cores per
channel on a 16 core computer.

It is not recommended to be enabled on server of less than 8 cores.

Adaptive / Dynamic Bitrate Streaming

To enable adaptive bitrate streaming, you need to create multiple bitrate


profiles. IPVTL supports up to 5 profiles per channel, for RTMP, HLS, and
Introduction MPEG TS over UDP stream formats.

Product Specification To set up multiple bitrate profiles, create or delete profiles by clicking "+" or "-"
button on bottom of encoding settings panel. In each profile, you can define
Pricing different video sizes, bitrates and even encodings. Make sure to specify a
distinguishing output address for each profile. And remember to set a same
Download
Key Frame Intv. for all profiles to keep video key frames aligned.
Version Updates
It's obvious multipe bitrate transcoding channel will require more computing
Getting Started than single bitrate one. So choose your hardware specification wisely.

Advanced Settings

Troubleshooting

Source Stream Selection

If you are streaming from Multi Program Transport Stream


(MPTS), you are able to decide which programs / channels in the
source stream are to be output. Selection via either Program ID
or media (video/audio/subtitle) stream ID is supported.
Remember Program ID starts from 1, and media stream ID starts
from 0 (for each type).

These settings can also be used to pass through dvb subtitle


when outputting in UDP MPEG TS format. To do that you need to
choose the proper subtitle stream TOGETHER with video and
audio streams.

RTMP Options

Flash Version String Customized identification for publishing client (leave it empty if you are not sure)
SWF URL Verify RTMP stream URL for server verification (leave it empty if you are not sure)
Publish Username / Password Publishing authentication required by RTMP server (Both Adobe and Limelight authenticating
methods are supported)

HLS Config

If you are streaming into HLS format, you can specify more details
about index file (.m3u8) and segment file (.ts) to be generated,
including segment length, playlist entry size and the rule of segment
index number.

You can also enter a base URL if it is required to be put in .m3u8


index.

MPEG-TS Config

MPEG-TS output metadata fields can be configured here, including Program/Service ID, Program Name, Start PID and
Provider Name.

www.ipvideotrans.com/live-video-transcoding.html 9/13
8/24/2019 Live Video Stream Transcoding Software

Time Shifting

Set time delay and cache file folder for output stream. The input stream will be cached and delayed exactly the time you enter
before being output. Please make sure there's sufficient disk space for cache files.

Introduction H.264 / HEVC Encoding

Product Specification Profile & Level H.264 encoding conformance. Please refer to
http://en.wikipedia.org/wiki/H.264#Profiles.
Pricing Threads Specify how many threads are to be used for
encoding. This setting can be used to tune
Download
encoding performance.
Version Updates Encoding Preset Bigger preset value leads to better video quality,
but at the cost of higher CPU utilization. Choose
Getting Started smaller values to get more smooth output on
slow machines. In most cases this value should
Advanced Settings be kept less than 6.

Troubleshooting
Video Quality

For video encodings other than H.264 and HEVC, output video quality can be specified here from 1 to 100. Remember higher
quality level leads to higher video bitrate. In most cases, this option can be left as Default, indicating outputting almost the same
quality as input.

Note: DO NOT set video quality for H.264 or HEVC encoding. Instead, tune Encoding Preset in advanced video settings (see
above).

Variable / Constant Bitrate

IPVTL outputs video stream in variable bitrate (VBR) by default. If you want to specify video output bitrate, please choose it wisely
as low output bitrate could make video quality bad, creating artifacts during playback. Setting both video bitrate and video quality
is NOT recommended.

Constant bitrate (CBR) stream is mostly used in mpeg ts format. To set up CBR output, enter proper values for both Video Bitrate
and Mux Bitrate in encoding settings. That will generate CBR stream compliant with DVB ETSI TR 101 290. Note that Mux
Bitrate must be some higher than <Video bitrate> + <Audio bitrate>. For example, video bitrate = 800kbps while Mux bitrate =
1200kbps.

Key Frame Interval

Key Frame Interval, formerly Key Frame Distance in IPVTL, defines time in seconds (defautls to 5) between key frames in video
stream for decoders. Prior to version 5.9.3.0, it is called key frame distance and is calculated in video frames. For HLS output
format, it also affects the .ts segments duration. Users just need to set Segment Length in advanced HLS options and key frame
interval will be changed accordingly. If you have no idea about it, just leave it as default.

Logo / Image / Text / Timestamp Overlay

During transcoding, it is possible to overlay customized logo


and image on the video. To do that, go to advanced video
settings -> Overlay, and select a picture file you prefer.
Supported picture formats include .bmp / .jpg / .png / .gif.
Choose .png / .gif formats to overlay with transparent
background. If you want overlay with dynamic / animated effect,
just select an animated GIF file and it will work perfectly.

Text and timestamp overlay is possible from version 5.11.3.4.

Troubleshooting
What hardware spec do I need for 16/32/64 channel SD/HD/4K transcoding? Shall I choose CPU or GPU
transcoding?

IPVTL utilizes both CPU and GPU encoding technique. The transcoding capacity is basically decided by both the CPU/GPU
performance and the video encoding profile you demand. For high density transcoding, we recommend private server with Intel Xeon
processsor or NVIDIA Quadro/GRID/Tesla graphics card installed, as they have better parallel computing performance. Use calculator
in table below to get rough idea of choosing hardware.

H.264 Transcoding Hardware Spec Recommendation


Output Video Profile # of Channels Minimum CPU/GPU Requirement
Desktop i7-5960X

www.ipvideotrans.com/live-video-transcoding.html 10/13
8/24/2019 Live Video Stream Transcoding Software
H.264 Transcoding Hardware Spec Recommendation
QVGA (240p) 4
nHD (360p) 8
SDTV (576p/576i) 16 Server Xeon e5-2620v3 Dual
HD (720p) 32
Full HD (1080p) 64

Note: # of channels above are calculated by pure video transcoding. If there is video transizing / overlay involved for example, more cpu
/ gpu resources could be required.

Requirements in system / GPU memory can be calculated by 100MB per channel.

HEVC/H.265 transcoding requires very much more calculation than H.264/AVC does. On most CPUs, hevc transcoding could be dead
Introduction slow. In this case, NVIDIA Quadro/Tesla card with Maxwell/Pascal GPUs, or Intel 6th/7th generation Core processor (Skylake & Kaby
Lake) with Quick Sync Video acceleration is recommended. For HEVC enabled NVIDIA video card specs, visit NVIDIA Video Encode
Product Specification and Decode GPU Support Matrix.

Pricing
Can IPVTL broadcast to end user directly? How can I broadcast my video to internet audience?
Download
IPVTL is designed for live media transcoding only. Although IPVTL can output mpeg ts over http format, it is NOT supposed to provide
Version Updates media stream distribution for volume audience over the internet. You will need 3rd party media streaming server to do that, like Nginx,
Wowza media server and Adobe media server, etc.
Getting Started
See How to setup IPVTL with Nginx above.
Advanced Settings

Troubleshooting Can I do screencast using IPVTL?

You can screencast using IPVTL on Windows. To do that, select "file" as channel source format and enter "desktop" as source name.
Then go to advanced format settings -> Custom Param, and enter "-f gdigrab -framerate 5" in Source Param box.

Transcoding stops immediately on starting (Status light quickly switches from green to red). Why's that?

Several possible reasons:

1. Input stream stability. Validate source stream using tools like vlc player. If you are transcoding from UDP/RTP stream, make sure
the local udp port is not occupied by other processes in the system. (On Windows, open a console window and type "netstat -
anop udp/tcp" to see all UDP/TCP ports opened on the host.)
2. Hardware performance. As video transcoding is very CPU-intensive process, it is always recommended to monitor CPU/GPU
usage and make sure system working healthy while running IPVTL. Stop some channels if CPU load is too high.
3. Network bandwidth to destination address. If bandwidth is not sufficient, try setting bitrate limit in transcoding settings. If the output
format is rtmp, make sure the rtmp server is running properly and the rtmp url is valid.

If there are still problems, please send us feedback via email to support[at]ipvideotrans.com. In your feedback, please let us know your
detailed transcoding settings and attach channel log files if possible. To get channel log files, please enable Debug Log in IPVTL Global
Settings before starting the channel.

Transcoding starts OK. But I can't see video output in VLC.

Check transcoding source validy and ensure IPVTL is receiving input stream with tools mentioned above. Make sure VLC is running
exactly on IPVTL's output address and is receiving stream out from IPVTL. Open message log in VLC (Tools->Messages) and set log
level to max to see full logs. If you are transcoding video stream into H.263, remember VLC DOES NOT support H.263 RTP stream
playing (only H.263+).

If still no video output, please enable Debug Log in IPVTL global settings and send channel log file back to us
(support[at]ipvideotrans.com) to diagnose.

Where can I find IPVTL log files?

IPVTL log files are named in ipvt_###.log and are located in:

%APPDATA%\IPVideoTrans\ipvtl\log\ on Windows
/var/ipvtl/log/ on Linux

Why is there no GUI in Linux version? How do I set it up on Linux?

Starting from version 5.8.3.1, IPVTL has built-in web interface for Linux users to set up and manage channels at runtime. Please refer to
Setup Section to find details.

How to secure IPVTL web interface and HTTP streams without firewall?

Starting from version 5.10.3.0, web login is required to access IPVTL web interface. Login password is empty by default and can be
configured in Global Settings. Make sure to set up password IMMEDIATELY after installation, and keep it safe! Otherwise all channel
configuration details could be exposed on the internet.

Also IPVTL has now built-in IP address ACL (access control list) to secure http streams from unexpected streamers. You can edit
ipvtl.acl and blacklist or whitelist client IP addresses there. See more in setup instructions.

www.ipvideotrans.com/live-video-transcoding.html 11/13
8/24/2019 Live Video Stream Transcoding Software
How to run IPVTL in the background as daemon on Linux and how to kill it?

IPVTL runs as daemon on Linux from version 5.9.3.0. It is possible to start IPVTL in remote ssh login without nohup now. To stop IPVTL
running, simply pgrep ipvtl_ and kill IPVTL main process, or just pkill ipvtl_. Remember to JUST kill, NOT kill -9 (SIGKILL) as it is not a
safe way.

How to start IPVTL automatically on system boot?

On Windows, simply open Global Settings and enable Auto Start on System Boot option. Be noted IPVTL does NOT run as Windows
service. It still requires user to login Windows before running.

On Linux, you may accomplish it using cron or rc.local scripts. For cron, enter $ sudo crontab -e under console and add line @reboot
Introduction <IPVTL_with_full_path>. For rc.local, just edit /etc/rc.local and add IPVTL command with full path.

Product Specification
Can I run IPVTL single license on multiple computers?
Pricing
No. IPVTL software license is bound to per server instance. If you want to run it on more than 1 server instances, please consider
Download purchasing multiple licenses.

Version Updates
Video quality is poor. How to improve?
Getting Started
First please make sure the source video quality is fine using tools like vlc player. Remember there is always quality loss during
Advanced Settings transcoding. You CAN NEVER get better output quality than the source.

Troubleshooting If you want to tune video quality for H.264 / HEVC encoding, please try different Encoding Preset in advanced video settings (see in
setup instructions). Setting video Quality in the main gui is NOT recommended and it should be kept as default.

For other video encodings than H.264 and HEVC, setting video Quality and video Bitrate can both impact the output quality. Make sure
the video bitrate is not set too low. If you don't understand about bitrate, just leave it default.

How can I use Intel Quick Sync Video acceleration?

First of all make sure your processor is capable of Intel QSV here. Utilizing Intel QSV acceleration on
Windows is recommended, as setup procedures are much easier than on Linux. On Windows, you just
need to install Intel HD Graphics driver and make sure the driver has been updated to latest version.
Outdated video driver could cause unexpected transcoding problems. If the driver is installed correctly,
you can set channel's Video Encoding to Intel QuickSync H.264/HEVC to enable QSV accelerated
transcoding.

To enable Intel QSV on Linux is a bit more complicated. You need to install Intel Media Server Studio
(MSS) as an essential prerequisite, which includes Intel HD video kernel driver in it. Check processor
support matrix below and choose proper Linux OS and MSS version suits your system. Find detailed
install instructions in Intel Media Server Studio Getting Started Guide.

Linux
Processor Arch. MSS Version H.264/AVC H.265/HEVC
Recommended
3rd Gen Ubuntu 12.04
2015 ✔ ✖
(Ivy Bridge) SLES 11.3
4th Gen
2015/2016 CentOS 7.1 ✔ ✖
(Haswell)
5th Gen
2015/2016/2017 CentOs 7.2 ✔ ✖
(Broadwell)
6th Gen
2017 CentOS 7.2 ✔ ✔
(Skylake)
7th/8th Gen
2017 CentOS 7.2 ✔ ✔
(KabyLake & CoffeeLake)

Note: Currently, only 7th, 8th and 9th generation Intel Core processors are supported by IPVTL offiicial
release on Linux. If you want to run it on older Intel processors, please inquire for us.

Before running IPVTL, verify Intel Media Server Studio and iHD drivers installation using vainfo as per Intel's guide doc. If everything is
ok, you can set channel video encoding to Intel QuickSync H.264/HEVC to enable QSV accelerated transcoding then.

How to enable NVIDIA NVENC/NVDEC/CUVID full acceleration?

First of all make sure you have at least 1 NVIDIA video card capable of NVENC here. Then you need to install the latest NVIDIA video
driver to enable NVENC acceleration. In IPVTL channel config, set video encoding to NVIDIA NVENC H.264 or NVIDIA NVENC HEVC
to enable NVENC accelerated transcoding.

But be noted you only enable half GPU performance so far. CPU is still working on Video decoding and resizing at this moment. To
enable full GPU performance, select NVDEC decoding H.264 or HEVC (as per your source signal) in advanced vide settings -> Misc
tab. This will leave video decoding, resizing and deinterlacing (if required) to GPU with zero data copy. No CPU resources will be
involved!

That's it. If you have multiple NVIDIA cards installed, remember to specify which card to be assigned in Misc settings as well.

www.ipvideotrans.com/live-video-transcoding.html 12/13
8/24/2019 Live Video Stream Transcoding Software

Note: NVIDIA GeForce GPU and Quadro under K2000/M2000/P2000 GPU has a limit of 2 encode
sessions per system. It is a limit by NVIDIA driver. Other Quadro models, Tesla or GRID don't have such
limit.

From version 5.12.3.4, NVIDIA NVDEC/CUVID for h.264/hevc decoding is also supported, which
would release more CPU time from video decoding. Go to advanced video settings -> Misc. tab to
enable it.

Introduction

Product Specification

Pricing

Download How can I stream with subtitle?

Version Updates IPVTL supports 2 kinds of subtitle:

Getting Started 1) dvb subtitle pass through in MPEG TS over UDP format
2) srt/webvtt subtitle pass through in HLS segments
Advanced Settings
To pass through dvb subtitle during transcoding, you need to use Source Stream Selection settings (see above). Make sure to select
Troubleshooting the proper video/audio streams with subtitle stream you want to output.

I have 2 or more network interfaces on my computer. How to specify the right one for multicasting?

You can specify network interface to bind for receiving or sending udp stream. To do that, append option "localaddr=<IP_ADDR>" to
the stream url. For example, udp://224.0.0.1:1234?localaddr=192.168.0.1 means to use network interface with IP 192.168.0.1 for udp
multicast.

I see a lot of PCR accuacy / interval errors outputting MPEG TS over UDP. How to fix it?

You need to enable CBR encoding mode. See how to enable CBR encoding above.

There is a long time prebuffer on video play begins. How to improve?

It could be due to long key frame interval in output video. By default IPVTL generates video at 5 seconds key frame interval for better
video quality. To shorten the prebuffer time you may try setting Key Frame Interval to a smaller value. See how in Advanced Settings
above.

Can I run IPVTL in virtual machines?

IPVTL evaluation does not run in VMware. Licensed version does, however.

Video encoding bitrate too high. Can it be lower?

First, if the result Frame Size and Frame Rate does not matter much, you can lower them to save bandwidth dramatically. For example,
switch frame size from CIF to QCIF, or reduce frame rate from 30 to 15 fps.

Second, the Quality Level and Bandwidth settings both impact output video encoding bitrate. To control video encoding bitrate
effectively, revert Quality Level to Original first. Then tune Bandwidth value to make video bitrate at your level. Remember: Low
encoding bitrate always leads to low video quality.

If you've got a critical bandwidth limit, you can also try increasing video Key Frame Interval (to 120 or larger, through configuration file
mentioned above) and switching Global Header from InBand to OutOfBand.

Why is HEVC encoding so slow?

Yes it is because HEVC has very much more complexity in encoding algorithm than H.264. There is always trade-off between
performance and speed. You may try HEVC on a much faster processor, or switch to GPU accelerated HEVC encoding instead.

What about H.264 transcoding delay in IPVTL and how to decrease it?

IPVTL default H.264 encoding settings will indroduce about 50ms delay. If you have a strict demand of transcoding delay, please try
advanced option "-tune zerolatency" in Custom Target Param.

© 2009-2019 IPVideoTrans.com All rights reserved.

www.ipvideotrans.com/live-video-transcoding.html 13/13

You might also like