VP8 and VP9 are open and royalty free video coding formats developed by Google. Nimble Streamer Live Transcoder now supports these protocols transcoding in addition to already supported VP8/VP9 transmuxing feature set.
Live Transcoder allows performing both decoding and encoding.
You will then be able to select Codec and specify other parameters listed below.
decoding application prior to beginning playback. This value is expressed in units of time (milliseconds).
Values range: 0 to 1000
This factor controls the maximum amount of bits that can be added to the target bitrate in order to compensate for prior undershoot. Values range: 0 to 1000.
Values: auto/disabled
At least kf_min_dist frames non-keyframes will be coded before the next keyframe. Set kf_min_dist equal to kf_max_dist for a fixed interval.
A value of 0 implies all frames will be keyframes. Set kf_min_dist equal to kf_max_dist for a fixed interval.
Values range: 0 to 100.
Values range: 0 to 100
Values: psnr/ssim(default)
Values range: -16 to 16
Values range: -8 to 8
Feel free to visit Live Transcoder webpage for other transcoding features description and contact us if you have any question.
Live Transcoder for Nimble Streamer, Build streaming infrastructure, Transcoder web UI preview, Live Streaming features, Build streaming infrastructure,
Live Transcoder allows performing both decoding and encoding.
To receive VP8 and VP9 for transcoding, Nimble Streamer allows processing RTSP from published and pulled sources. The result stream can be delivered using RTSP and SLDP protocols.
Decoding
The following methods are currently supported for decoding VP8/VP9 content for further transformation:
- Software decoder
- Intel® Quick Sync technology for hardware decoding. VP8 is supported on Windows and Linux, VP9 is supported only on Windows.
- NVidia® NVENC hardware decoding for Windows and Linux.
You can specify the decoding method in decoder block in any transcoding scenario just like you specify it for other codecs.
Encoding
Currently the encoding is performed only via software encoder. To use it for VP8 and VP9, open encoder block in your transcoding scenario and select "libvpx" from dropdown menu
Setting encoder for VP9 and VP8. |
You will then be able to select Codec and specify other parameters listed below.
libvpx VP8/VP9 encoder parameters
quality
Quality Deadline- best - use the Best Qulity Deadline;
- good - use the Good Qulity Deadline;
- rt(default) -use the Real Time Qulity Deadline;
threads
Number of threads that will be allocated to the encode processprofile
Sets the encoder profile. Supported value: 1. Values 1-3 will be supported in the future versions of Transcoder.lag_in_frames
Defines an upper limit on the number of frames into the future that the encoder can look. Values range: 0 to 25.bitrate/b
Bitrate in kbps.rc_mode
Rate control mode.- vbr- variable bitrate mode
- cbr - constant bitrate mode
- cq - constrained quality mode
- q - constant quality mode
cq_level
Constrained Quality Level, in CQ mode the encoder will try to encode normal frames (all frames apart from key frames, golden frames and alternative reference frames) at a quantizer / quality level of cq_level. Values range: 0 to 63.min_q
Minimum (Best Quality) Quantizer.max_q
Maximum (Worst Quality) Quantizer.buf_sz
Decoder Buffer Size indicates the amount of data that may be buffered by the decoding application. Note that this value is expressed in units of time (milliseconds). For example, a value of 5000 indicates that the client will buffer (at least) 5000ms worth of encoded data.buf_initial_sz
Decoder Buffer Initial Size indicates the amount of data that will be buffered by thedecoding application prior to beginning playback. This value is expressed in units of time (milliseconds).
buf_optimal_sz
Decoder Buffer Optimal Size indicates the amount of data that the encoder should try to maintain in the decoder's buffer. This value is expressed in units of time (milliseconds).undershoot_pct
Rate control adaptation undershoot control. This value, expressed as a percentage of the target bitrate, controls the maximum allowed adaptation speed of the codec. This factor controls the maximum amount of bits that can be subtracted from the target bitrate in order to compensate for prior overshoot.Values range: 0 to 1000
overshoot_pct
Rate control adaptation overshoot control. This value, expressed as a percentage of the target bitrate, controls the maximum allowed adaptation speed of the codec.This factor controls the maximum amount of bits that can be added to the target bitrate in order to compensate for prior undershoot. Values range: 0 to 1000.
kf_mode
Keyframe placement mode. This value indicates whether the encoder should place keyframes at a fixed interval, or determine the optimal placement automatically.Values: auto/disabled
kf_min_dist
Keyframe minimum interval. This value, expressed as a number of frames, prevents the encoder from placing a keyframe nearer than kf_min_dist to the previous keyframe.At least kf_min_dist frames non-keyframes will be coded before the next keyframe. Set kf_min_dist equal to kf_max_dist for a fixed interval.
kf_max_dist
Keyframe maximum interval. This value, expressed as a number of frames, forces the encoder to code a keyframe if one has not been coded in the last kf_max_dist frames.A value of 0 implies all frames will be keyframes. Set kf_min_dist equal to kf_max_dist for a fixed interval.
drop_frame
The drop frame parameter specifies a buffer fullness threshold at which the encoder starts to drop frames as a percentage of the optimal value specified by buf_optimal_sz. If it is set to 0 then dropping of frames is disabled.Values range: 0 to 100.
resize_allowed
Enable/disable spatial resampling, if supported by the codec.resize_up, resize_down
The resize up and down parameters are high and low buffer fullness "watermark" levels at which we start to consider changing down to a smaller internal image size, if the buffer is being run down, or back up to a larger size if the buffer is filling up again. The numbers represent a percentage of buf_optimal_sz.Values range: 0 to 100
error_resilient
Enable error resilient modes indicates to the encoder which features it should enable to take measures for streaming over lossy or noisy links.- 0 - disabled
- 1 - Improve resiliency against losses of whole frames
- 2 - The frame partitions are independently decodable by the bool decoder, meaning that partitions can be decoded even though earlier partitions have been lost. Note that intra prediction is still done over the partition boundary.
- 3 - Both features
auto_alt_ref
Codec control function to enable automatic set and use alf frames.- 0 - disable
- 1 - enable
sharpness
Codec control function to set sharpness.static_tresh
Codec control function to set the threshold for MBs treated static.arnr_max_frames
Codec control function to set the max no of frames to create arf.arnr_strength
Codec control function to set the filter strength for the arf.tune
Optimize output for PSNR or SSIM quality measurement.Values: psnr/ssim(default)
max_intra_bitrate_pct
Codec control function to set Max data rate for Intra frames.cq_level
Constrained Quality Level, in CQ mode the encoder will try to encode normal frames (all frames apart from key frames, golden frames and alternative reference frames) at a quantizer / quality level of cq_level. Values range: 0 to 63.libvpx VP8-specific parameters
speed
Codec control function to set encoder internal speed settings.Values range: -16 to 16
token_parts
Codec control function to set the number of token partitions.screen_content_mode
Codec control function to set encoder screen content mode.- 0 - off;
- 1 - On;
- 2 - On with more aggressive rate control;
noise_sensitivity
control function to set noise sensitivity- 0 - off;
- 1 - OnYOnly;
- 2 - OnYUV;
- 3 - OnYUVAggressive;
- 4 - Adaptive;
gf_cbr_boost
Boost percentage for Golden Frame in CBR mode.libvpx VP9-specific parameters
speed
Codec control function to set encoder internal speed settings.Values range: -8 to 8
max_inter_bitrate_pct
Codec control function to set max data rate for Inter frames.gf_cbr_boost
Boost percentage for Golden Frame in CBR mode.lossless
Lossless encoding mode.- 0 - lossy coding mode ;
- 1 - lossless coding mode;
tile_cols
Number of tile columns- 0 - 1 tile column ;
- 1 - 2 tile columns;
- 2 - 4 tile columns;
- n - 2**n tile columns;
tile_rows
Number of tile rows- 0 - 1 tile row ;
- 1 - 2 tile rows;
- 2 - 4 tile rows;
aq_mode
Adaptive quantization mode.frame_boost
Periodic Q boost.- 0 = off ;
- 1 = on;
noise_sensitivity
Noise sensitivity.- 0: off
- 1: On(YOnly)
tune_content
Content type- default - Regular video content (Default);
- screen - Screen capture content;
min_gf_interval
Minimum interval between GF/ARF framesmax_gf_interval
Maximum interval between GF/ARF frameslevel
Target level- 255: off (default);
- 0: only keep level stats;
- 10: target for level 1.0;
- 11: target for level 1.1;
- ...
- 62: target for level 6.2
row_mt
Row level multi-threading- 0 : off;
- 1 : on;
alt_ref_aq
Special mode for altref adaptive quantization- 0 - disable
- 1 - enable
Easy control
Live Transcoder has easy to use Web UI which provides drag-n-drop workflow editor to apply transcoding scenarios across various servers in a few clicks.
With FFmpeg filters you can transform content in various ways, e.g. change the video resize, make graphic overlays, picture-in-picture, key frames alignments, audio re-sampling etc.
Feel free to visit Live Transcoder webpage for other transcoding features description and contact us if you have any question.
Related documentation
Live Transcoder for Nimble Streamer, Build streaming infrastructure, Transcoder web UI preview, Live Streaming features, Build streaming infrastructure,
No comments:
Post a Comment
If you face any specific issue or want to ask some question to our team,
PLEASE USE OUR HELPDESK
This will give much faster and precise response.
Thank you.
Note: Only a member of this blog may post a comment.