Community
cancel
Showing results for 
Search instead for 
Did you mean: 
evgeny777
Beginner
87 Views

Change H.264 encoder bitrate in the time of encoding

Jump to solution
Hi, all!

I'm developing VoIP application using Intel IPP H.264 encoder/decoder. I want my application to adapt to
current network conditions, so it can dynamically change bitrate of encoded H.264 stream. For exampleapplication can
start with relatively low bitrate (100 Kbps) and if user have plenty of available bandwidth then I want to increase encoder
bitrate. Can I make SetParams() call while encoding? Or I should create another encoder instance to accomplish this task?
0 Kudos
1 Solution
Emmanuel_W_
New Contributor I
87 Views
Quoting - evgeny777
Hi, all!

I'm developing VoIP application using Intel IPP H.264 encoder/decoder. I want my application to adapt to
current network conditions, so it can dynamically change bitrate of encoded H.264 stream. For exampleapplication can
start with relatively low bitrate (100 Kbps) and if user have plenty of available bandwidth then I want to increase encoder
bitrate. Can I make SetParams() call while encoding? Or I should create another encoder instance to accomplish this task?

Calling SetParam is better than reinitializing the encoder (this avoid generating an IDR) but the current ofSetParam implementation is not great in my opinion. The rate controller is reinitialized altogether which can cause temporary overshoot/undershoot which is not ideal for a VoIP application.

Emmanuel

View solution in original post

1 Reply
Emmanuel_W_
New Contributor I
88 Views
Quoting - evgeny777
Hi, all!

I'm developing VoIP application using Intel IPP H.264 encoder/decoder. I want my application to adapt to
current network conditions, so it can dynamically change bitrate of encoded H.264 stream. For exampleapplication can
start with relatively low bitrate (100 Kbps) and if user have plenty of available bandwidth then I want to increase encoder
bitrate. Can I make SetParams() call while encoding? Or I should create another encoder instance to accomplish this task?

Calling SetParam is better than reinitializing the encoder (this avoid generating an IDR) but the current ofSetParam implementation is not great in my opinion. The rate controller is reinitialized altogether which can cause temporary overshoot/undershoot which is not ideal for a VoIP application.

Emmanuel

View solution in original post

Reply