Video-Encoder Tipps and Tricks

Keyframe/GOP setup and other Encoder-Streamer Tricks

Video-Encoder -Streamer Tipps and tricks

Here we are publishing some tipps about keyframe, ONVIF and RTSP to RTMP from an IPC (Camera)...

Download as PDF in english

An Example about a Setup with Encoder/Decoder and Converter Units:

setup-picture Encoder

How to set the optimal Keyframe frequency / I-Frame Interval(s) for YouTube and Facebook Live by our IP Video Encoder?

BLANKOM Video Encoder Settings for I-Frame-keyframe-Interval (s) for YouTube or Facebook Live

What’s a Keyframe?

The keyframe (I-frame) is the full frame of the image in a video. Subsequent frames, the delta frames, only contain the information that has been changed from picture to picture. Keyframes will appear multiple times within a coded stream, depending on how it was created or how it’s being streamed.
How to set the optimal Keyframe frequency/I-Frame(keyframe) Interval (S) for YouTube & Facebook Live by the BLANKOM IP Video Encoder?
Facebook:
An I-frame (keyframe) must be sent at least every 2 seconds within the Video-stream.
YouTube:
Keyframe frequency: Recommended 2 seconds but should not exceed 4 seconds.
Keyframe frequency / I-Frame(keyframe) value:
Interval (S) = GOP/FPS. The below stream I-Frame Interval (S) is 2s, resulting from GOP/FPS=50/25:

Set-GOP

BLANKOM ONVIF Video Encoders are working together with Milestone VMS Software

How to Integrate Non-IP Video Sources into Milestone VMS Software with BLANKOM SDI, HDMI and VGA or CVBS Analog encoders

If you are using Milestone VMS Software to manage your video surveillance system, you may encounter some situations where you need to integrate non-IP video sources into your network.
For example, you may want to monitor a PC screen that a security guard is watching or a non-network enabled camera that is already installed.

In these cases, you may think that you have to re-wire and retrofit your existing equipment, which can be costly and time-consuming.
However, there is a simpler and easier solution: Using BLANKOM Encoders

BLANKOM Encoders are devices that can convert any SDI, HDMI, VGA, or CVBS analog video signal into an IP stream that can be integrated into Milestone VMS Software via a network.
This way, you can view and record your non-IP video sources on your VMS software without changing your hardware.

BLANKOM Encoders support various video formats and resolutions, including 4K HDR, and can encode in H.264 or H.265 for optimal bandwidth and storage efficiency.
They also support the open standard ONVIF protocol, which means they are compatible with most IP cameras and Network Video Recorders (NVR) on the market.

BLANKOM Encoders are easy to install and configure, and they come with a web-based interface that allows you to adjust the settings and preview the video output. You can also use BLANKOM’s free tool to search and manage multiple encoders on your network.

With BLANKOM Encoders, you can expand your video surveillance system with non-IP video sources without compromising the quality and performance of your network. You can also enjoy the flexibility and convenience of accessing your video feeds from anywhere on your network.

If you want to learn more about BLANKOM Encoders and how they work with Milestone VMS Software, you can contact us for more information.

web-ui image

A Decoder as Transcoder ---> HDD-276

How to convert an IPC (Camera) RTSP to a RTMP Stream?

With the rapid development of the security monitoring industry, more and more surveillance cameras are widely used, but mostly of the IP cameras are support RTSP ONVIF protocols, it’s not easy to view the video over internet or from other location.
By the BLANKOM HDD-276 4K 60FPS HDMI CVBS Decoder and Transcoder,
you can decode the IP camera RTSP stream (also, supports SRT / HTTP(S) / HLS / FLV / RTMP(S) / UDP/RTP (Unicast/Multicast), ONVIF stream), and output HDMI,
CVBS and L/R stereo audio, at the same time, our HDD-276 can do a re-streaming, converting the IPC –RTSP stream to RTMP and push this
to a 3rd party live stream platform or a media streaming server.
With the BLANKOM HDD-276 Decoder & Transcoder you don’t need to do any changes for the original surveillance camera, the HDD-276 converts the RTSP video stream from the surveillance camera into an RTMP live stream.

decoder as transcoder

Steps:
1. Copy the RTSP URL from the IP camera
2. Login the WEB control panel of HDD-276, click the 'Input Stream Address ', and paste the RTSP URL to it:

BLANKOM Decoder and Transcoder

3. Chose the 'Transcoding setting' menu and configure the RTMP URL of the platform we want to push to, then enable (APPLY) it:

Oupree OPR-D4KP Decoder & Transcoder >

4. Set the BLANKOM HDD-276 Decoder and Transcoder - Decoder output resolution for HDMI & CVBS:

BLANKOM Decoder & Transcoder

WUXGA 1920x1200@60fps and UXGA 1600x1200@60fps Input with our HDMI Video Encoder:

BLANKOM Video Encoders support as input also the meanwhile 'special' non TV-HD PC-formats:

WUXGA 1920x1200@60fps and UXGA 1600x1200@60fps but you need a special firmware from us. You can > click here to contact us if needed.

Example: WUXGA 1920x1200@60fps input to BLANKOM H265 HDMI Video Encoder can be caused sometimes used by MS-Windows PC’s or older Grafic-hardware:

1920x1200 Encoder

1920x1200 input hdmi encoder

Set UXGA 1600x1200@60fps input and output for H265 Video Encoder:

1600x1200 Encoder

Play an SRT Stream from Encoder to PC by FFMPEG:

BLANKOM Video Encoders are supporting the SRT Protocol streaming.

After login, set the encoder Stream output SRT to enable and Apply it:

SRT enabling

VLC an PC Windows is able to play SRT streams but the Linux Version might have problems...
anyway, on both platforms the FFMPEG binaries can be installed:
Linux---> simply do "sudo apt install ffmpeg"
Windows: Go to https://ffmpeg.org/download.html
Than select your OS: MAC, Linux or MS Windows, chose a proper link for a binary like:

GIT-download FFMPEG

and install it:
extract it to a folder named like ffmpeg but you need the 7zip freeware packer - and move the folder to a known path:

save FFMPEG

you might need admin rights, change to the folder .../ffmpeg/bin/:
than open the command -line (maybe powershell but as administrator and enter the stream address but
Remark: You need to add a " .\ " before the ffplay executable because the powershell demands it from you (security issue):

play FFMPEG.commandline FFMPEG

you'll get some messages but after a while your Fullscreen Video appears:

fullscreen FFMPEG

You can ffplay it in a window like add -x 720 -y 480 bevore the SRT IP/Port address -> Please check the documentations

Special off topic HTTP-Commands for remote handling of the SoC Encoders w/o the need for using the Web-GUI:

Starting with an Example for the MAIN encoder part - so the MainStream-Engine:
Example: The IP Address of the SoC Encoder is 192.168.1.150 then following command switches OFF the multicast (udp or rtp) output:

(can be used with a linux-terminal or Windows-CMD/PS ... whatever your OS is supporting for shell scripts)
Attention: The target Webserver in the encoder needs the login data "user:password" - to let you in: So http://admin:admin@IP-Address/... as prefix needed.

http://192.168.1.150/set_output&multicast_enable=0

http://192.168.1.150/set_output&multicast_enable=1....Switch it ON again.

--- The basic reason is explained with this picture (click on= better view):

web-ui image

If you like to switch OFF / ON all Main-stream protocols:
IP Addresse is again 192.168.1.150

please use:

http://192.168.1.150/set_output?&rtmp_enable=0&rtmp_publish_enable=0&http_ts_enable=0&http_flv_enable=0&rtsp_enable=0&http_hls_enable=0&multicast_enable=0&srt_enable=0&srt_publish_enable=0&srt_key_enable=0&hls_publish_enable=0&http_hls_fmp4_enable=0&http_fmp4_enable=0

To go ON simply use the '1' instead of the '0' like in ...&rtmp_enable=1

If you need to address the Substreams/Secondary 1-3 Encoder-Streams to manage them ON/OFF:

you need to add a further argument 'output' :
With 'output=1' you are addressing the values of Encoder-Stream-Engines: 0..3 , 0=mainstream, 1...3=substream
http://192.168.1.150/set_output?output=1&rtsp_enable=0&http_hls_enable=0&multicast_enable=0
or as example to switch all to 'OFF' of all streams in Sub-Stream 1 engine:
http://192.168.1.150/set_output?output=1&rtmp_enable=1&rtmp_publish_enable=0&http_ts_enable=0&http_flv_enable=0&rtsp_enable=0&http_hls_enable=0&multicast_enable=0&srt_enable=0&srt_publish_enable=0&srt_key_enable=0&hls_publish_enable=0&http_hls_fmp4_enable=0&http_fmp4_enable=0

The full disabling of any Test-Picture stream-outputs if input signal is lost or disconnetced (default) works with:

http://192.168.1.150/set_sys?kick_all=1

This command re-enables the testpicture-stream in case of SIGNAL-Loss :

http://192.168.1.150/set_sys?kick_all=0

All of this works in the WINDOWS CMD window (or if you like to write a batch file):
C:\>curl "http://admin:admin@192.168.1.150/set_output?output=0&multicast_enable=0"
Result: 'succeed' as answer from the webserver.
Note: No extra brackets for the & are needed here.

To simply use it in Windows 10 command line scripting in the Powershell (PS), you can install following tool:

https://www.coretechnologies.com/products/http-ping/http-ping.exe
copy it to the C:\Windows\system32 folder as administrator so it will be accessible from any windows location or folder = its in the Path.
Then open the PS:
BUT: You need to put the & in brackets: “&” to pass this as part of the command because otherwise it assumes the & is part of the command-line syntax.
---------------------------------------------------------------------------
PS C:\> http-ping http://admin:admin@192.168.0.168/set_output?output=0"&"multicast_enable=1
Or to disable a stream-output:
http-ping http://admin:admin@192.168.0.168/set_output?output=0"&"multicast_enable=0
it works in the CMD instead PS as well:
C:\>http-ping http://admin:admin@192.168.0.168/set_output?output=0"&"multicast_enable=0

results in:
---------------------------------------------------------------------------
Pinging "http://admin:admin@192.168.0.168/set_output?output=0&multicast_enable=0":
1> Reply: [200/OK] bytes=7 time=181ms
2> Reply: [200/OK] bytes=7 time=184ms
3> Reply: [200/OK] bytes=7 time=129ms
4> Reply: [200/OK] bytes=7 time=63ms
Ping statistics for "http://admin:admin@192.168.0.168/set_output?output=0&multicast_enable=0":
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)
Approximate round trip times in milli-seconds:
Minimum = 63ms, Maximum = 184ms, Average = 139ms, Deviation = 49ms
---------------------------------------------------------------------------
This free utility is Copyright 2019, Core Technologies Consulting, LLC.
Find out about this and our other products at our web site:
http://www.CoreTechnologies.com/
---------------------------------------------------------------------------