Jump to content

Transcoding Questions


Jdiesel

Recommended Posts

Jdiesel

I am still new to encoding so please bear with me if my assumptions are incorrect.

 

When a player requests a video from the server it does the following:

a) If "Max streaming bitrate" is set to auto it pings (for lack of a better word) the server to verify the optimal bitrate

B) If "Max streaming bitrate" is set to a user defined bitrate it will default to that

 

If the video bitrate is greater than the "Max streaming bitrate" it will initiate transcoding, if it is less it will direct play. This assumes that the hardware is capable of direct playing the video in the first place and does not account for other reasons transcoding may be required.

 

So my actual question is how does the output from the transcoded video meet the player's "Max streaming bitrate" target if it is using Constant Rate Factor (CRF)? My interpretation of CFR is that it does not control the bitrate only the overall quality which can result in the bitrate varying greatly throught the video. Is a flag put in to limit the peak bitrate to the "Max streaming bitrate" or is this even possible with CFR? To me it makes more sense for transcoding to be done at a constant bitrate because of 1) the performance increase and 2) the ability to follow strict maximum bitrate rules. I realize that there are are drawbacks to CBR such as bitrate not being allocated where needed it is needed most which can reduce overall quality. Thoughts?

 

Maybe a checkbox in the transcoding settings to use CBR over CRF would be helpful to those with strict bandwidth needs or weak hardware for real-time transcoding. 

Edited by Jdiesel
Link to comment
Share on other sites

That is more or less how it goes. We use parameters to specify a max bitrate and the encoder does it's best to stay under that value.

Link to comment
Share on other sites

Jdiesel

Are there situations where the bitrate can overshoot that target? When I started to think about it more and more the movies that my brother with a poor internet connection would often experience buffering on were action movies with lots of motion. When I download a movie directly from the library the speeds are quite decent and stable but if I try to transcode a movie at an equivalent download speed there is tons of buffering.

Link to comment
Share on other sites

Jdiesel

For my particular use case I would never want the bitrate, whether it be peak or average, to exceed the maximum limit set even if it means I am "wasting" bitrate on scenes that don't need it. Which sounds like exactly what CBR would achieve.  

Edited by Jdiesel
Link to comment
Share on other sites

Jdiesel

So I spend some time playing around with different transcoding settings using ET as a player and have answered a few of my questions but created so many more lol. I Used Wireshark to capture the stream then graphed the I/O. Here are my results:

 

Settings Observed AVG Bitrate (Mbps) Auto, Throttling Enabled, Preset Auto, CRF 23 4.34 Auto, Throttling Disabled, Preset Auto, CRF 23 4.45 15Mbps, Throttling Enabled, Preset Auto, CRF 23 7.57 15Mbps, Throttling disabled, Preset Auto, CRF 23 14.51 10Mbps, Throttling Enabled, Preset Auto, CRF 23 7.5 10Mbps, Throttling Disabled, Preset Auto, CRF 23 15.71 5Mbps, Throttling Enabled, Preset Auto, CRF 23 5.33 5Mbps, Throttling Disabled, Preset Auto, CRF 23 9.35 3Mbps, Throttling Enabled, Preset Auto, CRF 23 3.29 3Mbps, Throttling Disabled, Preset Auto, CRF 23 3.29

 

My observations:

-Auto tracks the closest to a steady bitrate but is very conservative in selecting the average bitrate

-15 and 10Mbps bitrates with throttling enable were well below the target bitrate

-Throttling disable produced different results than enable for the 15 and 10Mbps transcoding, in the case of the 10Mbps transcode it overshot the target by a considerable amount.

-Same is true for the 5Mbps with throttling disable, started on target for the first minute and a half then shot up to double the target bitrate for the remainder.

-3Mbps seem to work as expected

 

Overall there were many times at different requested bitrates where the average bitrate exceeded the target for multiple seconds and even minutes in some cases. I plan to adjust my testing methods and spend some more time looking into this

 

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...