Media (Intel® Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
Announcements
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.
3058 Discussions

Intel SDK Encoder give me bigger bitrate in 1920*1080

zheng_s_
Beginner
414 Views

We use Intel SDK Linux version for some decode/encode/transcode development. We get a 1920*1080 video 15 fps, the bitrate around 1Mbps (no motion), we do decoding, frame drop encoding to 5 fps and we find after re-encoding the bitrate is around 2Mbps, which is even higher than before.we The RateControl is AVBR and TargetKbps is 700 but looks this parameter doesnt take any effect.

Could anyone give some suggestion why could this happen.

0 Kudos
5 Replies
Surbhi_M_Intel
Employee
414 Views

Hi Zheng, 

Thank you for asking the question. Can you please rephrase this line " We get a 1920*1080 video 15 fps, the bitrate around 1Mbps (no motion), we do decoding, frame drop encoding to 5 fps"  I am not sure I have got your implementation properly.
From the last line, I have understand that bitrate is not being strictly set while encoding. You are getting an o/p of 2Mbps even after setting target Kbps to be 700Kbps. Please let me know If I have go you right. 

Thanks,
-Surbhi

0 Kudos
zheng_s_
Beginner
414 Views

Hi Surbhi, here is what i did.  We have a video source whicch is 1920*1080 15fps stream and the bitrate is around 1Mbps.

We design a software which use Intel Media SDK (Linux platform ) to transcode this video to 1920*1080 5 fps.

What we did is, we Decode this video first, drop 2/3 of frame and encoder it again. but we find after we encoder the video

we get the final video bitrate is around 1.8 ~ 2Mbps. The Intel SDK encoder set with  RateControl AVBR and TargetKbps is 700 kbps.

My question is why after frame drop the new h264 video could be bigger than the original one. and why the TargetKbps setting doesn't work as expected

0 Kudos
Surbhi_M_Intel
Employee
414 Views

Hi Zheng, 

My bet is that you might see the same behavior even before reducing the frame rate. 
Can you please check without dropping the frame rate and confirm it? Also can you tell us which encoder you are using - AVC, mpeg 2? If AVC, can you please try with Main Profile, you should see a better result.

Thanks,
-Surbhi 
 

0 Kudos
zheng_s_
Beginner
414 Views

Hi Surbhi , Thanks for your suggestion, Yes. we use AVC to decoder h264 and re-encode it. I try the MFX_PROFILE_AVC_MAIN this time, the bitrate after encoding dropped to 1.1 Mbps now which is much better than before (we use MFX_PROFILE_AVC_CONSTRAINED_BASELINE originally for the CodecLevel and get 1.8 Mbps bitrate).  But compared with original input h264 video stream which only get 1 Mbps, so after dropping 2/3 frame the bitrate is still little higher, is there any way to reduce the bitrate further? I believe the original h264 video is generated by TI certain chip which get very good video quality with very low bitrate so far I know.

 

 

0 Kudos
Surbhi_M_Intel
Employee
414 Views

Hi Zheng, 

Good to know that the bitrate got reduced after using MAIN profile. Can you please give me cmds to replicate the behavior like what application & binary used for decoder, encoder and video processing. Please also include the changes to make the application. One thing I'm confused about is if you are decreasing the frame rate or no. of frames. For eg: if the YUV is of 300 frames, you are dropping 2/3rd of frames i.e 100 frames or  trans coding to reduced frame rate and the no. of frames remain same. Thanks for all the information.

Thanks,
-Surbhi

0 Kudos
Reply