intel / gstreamer-media-SDK

GNU Lesser General Public License v2.1
90 stars 49 forks source link

General questions on CBR coding #164

Closed IngJohEricsson closed 5 years ago

IngJohEricsson commented 5 years ago

Hi I have a few general questions on the CBR encoding in mfxh264enc. I wish to use it for video encoding of a 1080p or 4K video with very low latency. The encoded video stream will be carried over an LTE/5G connection and for that reason it is important that the bitrate does not spike too much when I-frames are transmitted. Is it possible to tune the encoder to avoid overly large I-frames. Furtherfore it is necessary that the reponse time to rate changes is reasonably short, i.e the when the target bitrate changes from e.g 10Mbps to 5Mbps, it should not take more than 100-200ms for the encoder rate to change. Is this possible ?

ishmael1985 commented 5 years ago

For the bitrate to remain constant, yes it is possible, refer to this - https://software.intel.com/en-us/articles/advanced-bitrate-control-methods-in-intel-media-sdk I believe the relevant options to you using mfxh264enc are the rate-control, max-buffer-size and max-bitrate options. As for response time to rate changes, I honestly am not sure, this is something you will need to check with the Intel MSDK team. Basically, you'll need to re-initialize the encoder, which means re-initializing the GStreamer pipeline, but the initialization time you'll have to check and give your feedback.

IngJohEricsson commented 5 years ago

OK, thanks. How do I get in contact with the MSDK team?. It is important for my application that the target bitrate can be changed dynamically. I will use video coding as part of a remote control solution over cellular 4G/5G access and because the link throughput can change quite a lot and relatively quickly, it is necessary to be able to adjust the video bitrate too.

Regards Ingemar

ishmael1985 commented 5 years ago

You could try to post a feature enquiry in the official MSDK branch - https://github.com/Intel-Media-SDK/MediaSDK or you could use the forums - https://software.intel.com/en-us/forums/intel-media-sdk Please do close this if you are done with your enquiry here.

IngJohEricsson commented 5 years ago

Thanks. I will for this time go for a different solution as I need to have a working solution relatively fast. I may contact the MSDK devolpers on this matter later on as the NUC platforms are still of interest in the long run.