IP Video Solution At Low Cost Streaming, Transcoding, Conferencing, Surveillance...
IP Video Transcoding Live! (Abbreviation IPVTL) is a professional real time media transcoding program works in multiple channels.

IPVTL provides powerful transcoding ability with lowest latency. It has full support of media encodings commonly being used today, such as G.711(PCM), MP2/3, AMR, AAC, AC3, H.263(+), H.264, MPEG-1, MPEG-2 and MPEG-4, also including the future web video codec, VP8.

IPVTL accepts all kinds of network media sources as transcoding input, such as HTTP, RTSP, RTMP (flash media stream), RTP and MPEG-2 TS (DVB-S). It works well with familiar media streaming servers including Windows Media Server, RealNetworks® Helix Server, Adobe® Flash Media Server, Wowza Media Server and also most popular DVB source devices in the market..

Windows Media Server Flash Media Server Quick Time Real Server DVB

IPVTL provides on-demand media streaming as well. It can stream from any stored movie clips on your disk, with transcoding on the fly. That means you can stream any media sources of any codecs or formats you wish in order to maximize your system compatibility.

NEW since version 2.5: IPVTL supports upstreaming to flash media server live! Start publishing your favorite video on the internet today!

By IPVTL's skillful control ability on video resolution, quality, frame rate and bandwidth, you can reshape the transcoded video stream fast and simple to adapt to your application environment. IPVTL also provides professional video post process functions such as logoing, watermarking and subtitle overlay.

For 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
All Kinds of Multimedia File Format Supportok
HTTP/RTSP Downstreamingok
RTMP Downstreaming & Upstreamingok
Media File Loop Playingok
RTP with RTCPok
Unicast/Multicast Address Outputtingok
Transsizingok
Video Quality Controlok
Video Bitrate Controlok
Image Overlay/Watermarkok
SDP Import/Exportok

Product Specification

Streaming Protocol
  • HTTP
  • RTSP
  • RTMP
  • RTP (Real-Time Transport Protocol RFC 3550)
  • MPEG-2 TS (Transport Stream)
Multimedia File Format
  • Audio Files: .pcm/.wav/.mp3/.amr/.wma/.voc/.ogg/.au
  • Video Files: .avi/.mpg/.mp4/.mov/.mkv/.wmv/.asf/.3gp/.vob/.flv/.swf/.rm/.rmvb
  • Picture Files: .bmp/.jpg/.gif/.png/.tif
Codecs Supported
  • PCM
  • MP2/MP3
  • MP4A/AAC
  • AMR
  • AC3
  • H.263
  • H.263+/++ (aka H.263-1998/2000)
  • H.264/AVC
  • MPEG-1 Video
  • MPEG-2 Video
  • MPEG-4/Visual
  • FLV
Output Video Resolution
  • SQCIF (128x96)
  • QCIF (176x144)
  • QVGA (320x240)
  • CIF (352x288)
  • VGA (640x480)
  • 4CIF (704x576)
  • Custom/User-specified (H.263+/H.264/MPEG-4)
System Requirements
  • Processor: 2GHz or higher (The higher the better. Multi-core CPU recommended)
  • RAM: 1GB or above
  • Ethernet NIC
  • OS: Microsoft Windows® 2000/XP/Vista/Win7, Windows Server 2003/2008 or Linux on kernel 2.4/2.6

Getting Started

To setup a transcoding channel in IPVTL, only a few steps as following are needed.

  1. Select your media source
    Select Media Source

    Click New Channel. This will create a new transcoding channel with default settings. Select your media source type in the channel list. If you are streaming from a media file on disk, just enter the full path of the file or click "..." button to browse for it. If you are streaming from network resources like WMS or MPEG-TS, make sure to select the right streaming protocol (HTTP/RTSP/RTMP/MMS/UDP) and enter the url of the media source. For example:

    http://www.someserver.com/demo.avi
    rtmp://12.34.56.78/vod/sample
    mmsh://12.34.56.78/vod/playlist.wsx

    To configure source stream in MPEG-TS over UDP, enter the local UDP address (IP+port) on receiving, like udp://@:1234.

  2. Setup output stream
    Transcoding Panel

    Setup output stream according to your requirement by changing settings in the transcoding panel, including streaming format (RTMP/MPEG-TS/RTP), streaming address and encodings. You can change video resolution, frame rate, quality level, encoding bitrate and audio sample rate, etc.

    To configure RTMP push(publishing) or MPEG-TS, an output address is required.

    For RTMP it's the full publish URL like rtmp://1.2.3.4/live/channel01.

    For MPEG-TS it's the target UDP address (IP+port) like udp://1.2.3.4:1234.

    For RTP streams, 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 save and validate your configuration. You can always change transcoding settings by clicking Edit button at a later time. But remember changing settings of a live streaming channel doesn't make effect immediately, until it's restarted.

  3. Start streaming

    After a new transcoding channel is setup, an entry with the task briefing will be displayed in the channel list. 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.

Validating

After a transcoding channel is started, you can validate the output stream by using some network traffic monitors such as
Wireshark (http://www.wireshark.org). More directly, you can play the stream using network media players like
VLC (http://www.videolan.org/vlc) mentioned above. For RTP streams, feed the player with the SDP file exported from IPVTL. For MPEG-TS/PS streams, just open the network address that transcoding targets. If everything is OK, you should be able to watch live video in the player then. (Due to network cache values set in VLC player, there could be playback latency while watching.)

Advanced Settings

  • Quality Level
    Output video picture quality value from 1 to 100. The higher the better quality is. An "Original" string value indicates the same quality as input. A better quality also results in a higher encoding bit rate. So DO NOT set this value and Bandwidth at the same time.

  • Bit Rate
    Video encoding bit rate in Kbps. Note that low encoding bit rate also results in low video quality. So DO NOT set this value and Quality Level at the same time.

  • Global Header
    For MPEG-4 and H.264 RTP streams, changing this value to Out of Band will remove global header string in encoded frames from the stream, which can save some bandwidth. Instead, the string is exported into SDP files.

  • Threads
    Specify how many threads are to be used in transcoding. This setting can be used to adjust transcoding performance.

Configuration File

As an alternative to setup transcoding channels in IPVTL GUI, you can do this by editing the configuation file manually. The file is named <ipvtl.conf> located in the program installed folder. This is useful on Linux system since there's no IPVTL GUI.

Here is a sample:

# IP Video Trans Configuration File

log 0                          # log to file
autostart 0                    # automatically start with Windows
autorestart 0                  # automatically restart transcoding on failure

<Slot1>                        # transcoding channel config begin
 Enable 1                      # enable this channel
 <Input>                       # transcoding source settings begin
 Format file                   # source stream format
                               # values: file/rtp/mpeg-ps
 File "e:\video\sample.mp4"    # source media file path
 VideoEnable 1                 # receive video stream
 VideoCodec H264               # source video encoding (RTP format)
                               # values: H263/H263+/H264/MP1V/MP2V/MP4V
 VideoIP 0.0.0.0               # network address on video receiving (RTP format)
                               # use 0.0.0.0 (for local network interface) or multicast addresses
 VideoPort 10000               # network port on video receiving (RTP format)
 VideoFmtp ""                  # extra format parameters of video stream
                               # from SDP (RTP format)
 AudioEnable 1                 # receive audio stream
 AudioCodec PCMU               # source audio encoding (RTP format)
                               # values: PCMU/PCMA/MP2A/MP3/AAC/AC3
 AudioSampleRate 0             # audio sampling rate (RTP format)
 AudioChannel 0                # audio channels (RTP format)
 AudioIP 0.0.0.0               # network address on audio receiving (RTP format)
                               # use 0.0.0.0 (for local network interface) or multicast addresses
 AudioPort 10002               # network port on audio receiving (RTP format)
 AudioFmtp ""                  # extra format parameters of audio stream
                               # from SDP (RTP format)
 </Input>                      # transcoding source settings end
 <Output>                      # transcoding target settings begin
 Format file                   # target stream format
                               # values: file/rtp/mpeg-ts/mpeg-ps
 VideoEnable 1                 # enable video output
 VideoCodec H264               # target video encoding
                               # values: H263/H263+/H264/MP1V/MP2V/MP4V/FLV
 VideoWidth 0                  # video frame width (0 for original)
 VideoHeight 0                 # video frame height (0 for original)
 VideoFrameRate 0              # video frame rate in FPS (0 for original)
 VideoKeyFrameInterval 0       # video key frame interval
 VideoQuality 0                # video quality level (0 for default)
 VideoBitRate 0                # video encoding bit rate in Kbps (0 for default)
 VideoIP 192.168.0.1           # network address on sending video stream (RTP format)
 VideoPort 20000               # network port on sending video stream (RTP format)
 VideoGlobalHeader InBand      # global header of video stream (RTP format)
                               # values: InBand/OutOfBand
 AudioEnable 1                 # enable audio transcoding
 AudioCodec AAC                # target audio output
                               # values: PCMU/PCMA/MP2A/MP3/AAC/AC3
 AudioSampleRate 0             # audio sampling rate (0 for original)
 AudioChannel 2                # audio channels (0 for original)
 AudioIP 192.168.0.1           # network address on sending audio stream (RTP format)
 AudioPort 20002               # network port on sending audio stream (RTP format)
 AudioGlobalHeader InBand      # global header of audio stream (RTP format)
 File "rtmp://1.2.3.4/live/123"# output address (rtmp url or mpeg-ts address)
 </Output>                     # transcoding target settings end
</Slot1>                       # transcoding channel config end
Please note after editing the configuration file, you have to restart IPVTL to make effect.

Troubleshooting

  • Transcoding starts and stops immediately (Status light quickly switched back to red). Why's that?
    Transcoding started failed. Please check transcoding source validity with tools mentioned above. If you are transcoding from RTP or MPEG-TS, make sure that the local port specified in IPVTL is not occupied by other processes in the system. (On Win32, open a console window and type "netstat -anop udp<ENTER>" to see all UDP ports opened on the host.)

  • 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 logging in IPVTL global settings and send the log file back to us (support#ipvideotrans.com) to analyze.

  • Video quality is poor. How to improve?
    The Quality Level and Bandwidth settings both impact output video quality. Check transcoding settings to ensure they are not set mistakenly. Revert Quality Level to Original and Bandwidth to Default to check and make sure the quality of the source video is fine. You CAN NEVER get video quality out from transcoding better than the source.

  • Video encoding bit rate 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 bit rate. To control video encoding bit rate effectively, revert Quality Level to Original first. Then tune Bandwidth value to make video bit rate at your level. Remember: Low encoding bit rate 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.

© 2008 IPVideoTrans.com All rights reserved.