Android Exoplayer AdaptiveTrackSelection need to start video with high quality
I am using Exoplayer for streaming HLS video content. By default AdaptiveTrackSelection starts with low quality and as it detects good internet speed it switches to high quality. I want to start player with high quality and then it should change as per internet speed. Thanks in advance.
android exoplayer exoplayer2.x
add a comment |
I am using Exoplayer for streaming HLS video content. By default AdaptiveTrackSelection starts with low quality and as it detects good internet speed it switches to high quality. I want to start player with high quality and then it should change as per internet speed. Thanks in advance.
android exoplayer exoplayer2.x
add a comment |
I am using Exoplayer for streaming HLS video content. By default AdaptiveTrackSelection starts with low quality and as it detects good internet speed it switches to high quality. I want to start player with high quality and then it should change as per internet speed. Thanks in advance.
android exoplayer exoplayer2.x
I am using Exoplayer for streaming HLS video content. By default AdaptiveTrackSelection starts with low quality and as it detects good internet speed it switches to high quality. I want to start player with high quality and then it should change as per internet speed. Thanks in advance.
android exoplayer exoplayer2.x
android exoplayer exoplayer2.x
asked Nov 20 '18 at 11:12
Sachin JagtapSachin Jagtap
687
687
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
I believe what you're looking for is a modification of the "max initial bitrate". This is a parameter you can pass to the BandwidthMeter
. The BandwidthMeter
is what determines your bandwidth and how it will select the track based on that information. If you pass a large number as this parameter, it'll default to forcing a higher bitrate. The default is currently 1_000_000
I think (as DEFAULT_MAX_INITIAL_BITRATE
) - but look this up to verify.
To pass this in, it'd look like the following:
final long defaultMaxInitialBitrate = Integer.MAX_VALUE;
final DefaultBandwidthMeter defaultBandwidthMeter = new Builder()
.setInitialBitrateEstimate(defaultMaxInitialBitrate)
.build();
final AdaptiveTrackSelection.Factory videoTrackSelectionFactory =
new AdaptiveTrackSelection.Factory(defaultBandwidthMeter, ...)
Some more sources:
https://github.com/google/ExoPlayer/issues/3698
https://github.com/google/ExoPlayer/issues/676
Thanks @Kyle. By default it is DEFAULT_INITIAL_BITRATE_ESTIMATE = 1_000_000.
– Sachin Jagtap
Nov 26 '18 at 7:25
Thanks @SachinJagtap - just updated.
– Kyle Venn
Nov 26 '18 at 14:32
In this case, do the stream changes to lower resolution when internet speed goes down? Or the video get freezed for buffering? In my case, video started buffering. What could be the possible issue?
– Prakash
Dec 17 '18 at 7:33
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53391740%2fandroid-exoplayer-adaptivetrackselection-need-to-start-video-with-high-quality%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I believe what you're looking for is a modification of the "max initial bitrate". This is a parameter you can pass to the BandwidthMeter
. The BandwidthMeter
is what determines your bandwidth and how it will select the track based on that information. If you pass a large number as this parameter, it'll default to forcing a higher bitrate. The default is currently 1_000_000
I think (as DEFAULT_MAX_INITIAL_BITRATE
) - but look this up to verify.
To pass this in, it'd look like the following:
final long defaultMaxInitialBitrate = Integer.MAX_VALUE;
final DefaultBandwidthMeter defaultBandwidthMeter = new Builder()
.setInitialBitrateEstimate(defaultMaxInitialBitrate)
.build();
final AdaptiveTrackSelection.Factory videoTrackSelectionFactory =
new AdaptiveTrackSelection.Factory(defaultBandwidthMeter, ...)
Some more sources:
https://github.com/google/ExoPlayer/issues/3698
https://github.com/google/ExoPlayer/issues/676
Thanks @Kyle. By default it is DEFAULT_INITIAL_BITRATE_ESTIMATE = 1_000_000.
– Sachin Jagtap
Nov 26 '18 at 7:25
Thanks @SachinJagtap - just updated.
– Kyle Venn
Nov 26 '18 at 14:32
In this case, do the stream changes to lower resolution when internet speed goes down? Or the video get freezed for buffering? In my case, video started buffering. What could be the possible issue?
– Prakash
Dec 17 '18 at 7:33
add a comment |
I believe what you're looking for is a modification of the "max initial bitrate". This is a parameter you can pass to the BandwidthMeter
. The BandwidthMeter
is what determines your bandwidth and how it will select the track based on that information. If you pass a large number as this parameter, it'll default to forcing a higher bitrate. The default is currently 1_000_000
I think (as DEFAULT_MAX_INITIAL_BITRATE
) - but look this up to verify.
To pass this in, it'd look like the following:
final long defaultMaxInitialBitrate = Integer.MAX_VALUE;
final DefaultBandwidthMeter defaultBandwidthMeter = new Builder()
.setInitialBitrateEstimate(defaultMaxInitialBitrate)
.build();
final AdaptiveTrackSelection.Factory videoTrackSelectionFactory =
new AdaptiveTrackSelection.Factory(defaultBandwidthMeter, ...)
Some more sources:
https://github.com/google/ExoPlayer/issues/3698
https://github.com/google/ExoPlayer/issues/676
Thanks @Kyle. By default it is DEFAULT_INITIAL_BITRATE_ESTIMATE = 1_000_000.
– Sachin Jagtap
Nov 26 '18 at 7:25
Thanks @SachinJagtap - just updated.
– Kyle Venn
Nov 26 '18 at 14:32
In this case, do the stream changes to lower resolution when internet speed goes down? Or the video get freezed for buffering? In my case, video started buffering. What could be the possible issue?
– Prakash
Dec 17 '18 at 7:33
add a comment |
I believe what you're looking for is a modification of the "max initial bitrate". This is a parameter you can pass to the BandwidthMeter
. The BandwidthMeter
is what determines your bandwidth and how it will select the track based on that information. If you pass a large number as this parameter, it'll default to forcing a higher bitrate. The default is currently 1_000_000
I think (as DEFAULT_MAX_INITIAL_BITRATE
) - but look this up to verify.
To pass this in, it'd look like the following:
final long defaultMaxInitialBitrate = Integer.MAX_VALUE;
final DefaultBandwidthMeter defaultBandwidthMeter = new Builder()
.setInitialBitrateEstimate(defaultMaxInitialBitrate)
.build();
final AdaptiveTrackSelection.Factory videoTrackSelectionFactory =
new AdaptiveTrackSelection.Factory(defaultBandwidthMeter, ...)
Some more sources:
https://github.com/google/ExoPlayer/issues/3698
https://github.com/google/ExoPlayer/issues/676
I believe what you're looking for is a modification of the "max initial bitrate". This is a parameter you can pass to the BandwidthMeter
. The BandwidthMeter
is what determines your bandwidth and how it will select the track based on that information. If you pass a large number as this parameter, it'll default to forcing a higher bitrate. The default is currently 1_000_000
I think (as DEFAULT_MAX_INITIAL_BITRATE
) - but look this up to verify.
To pass this in, it'd look like the following:
final long defaultMaxInitialBitrate = Integer.MAX_VALUE;
final DefaultBandwidthMeter defaultBandwidthMeter = new Builder()
.setInitialBitrateEstimate(defaultMaxInitialBitrate)
.build();
final AdaptiveTrackSelection.Factory videoTrackSelectionFactory =
new AdaptiveTrackSelection.Factory(defaultBandwidthMeter, ...)
Some more sources:
https://github.com/google/ExoPlayer/issues/3698
https://github.com/google/ExoPlayer/issues/676
edited Nov 26 '18 at 14:32
answered Nov 24 '18 at 19:05
Kyle VennKyle Venn
1,894823
1,894823
Thanks @Kyle. By default it is DEFAULT_INITIAL_BITRATE_ESTIMATE = 1_000_000.
– Sachin Jagtap
Nov 26 '18 at 7:25
Thanks @SachinJagtap - just updated.
– Kyle Venn
Nov 26 '18 at 14:32
In this case, do the stream changes to lower resolution when internet speed goes down? Or the video get freezed for buffering? In my case, video started buffering. What could be the possible issue?
– Prakash
Dec 17 '18 at 7:33
add a comment |
Thanks @Kyle. By default it is DEFAULT_INITIAL_BITRATE_ESTIMATE = 1_000_000.
– Sachin Jagtap
Nov 26 '18 at 7:25
Thanks @SachinJagtap - just updated.
– Kyle Venn
Nov 26 '18 at 14:32
In this case, do the stream changes to lower resolution when internet speed goes down? Or the video get freezed for buffering? In my case, video started buffering. What could be the possible issue?
– Prakash
Dec 17 '18 at 7:33
Thanks @Kyle. By default it is DEFAULT_INITIAL_BITRATE_ESTIMATE = 1_000_000.
– Sachin Jagtap
Nov 26 '18 at 7:25
Thanks @Kyle. By default it is DEFAULT_INITIAL_BITRATE_ESTIMATE = 1_000_000.
– Sachin Jagtap
Nov 26 '18 at 7:25
Thanks @SachinJagtap - just updated.
– Kyle Venn
Nov 26 '18 at 14:32
Thanks @SachinJagtap - just updated.
– Kyle Venn
Nov 26 '18 at 14:32
In this case, do the stream changes to lower resolution when internet speed goes down? Or the video get freezed for buffering? In my case, video started buffering. What could be the possible issue?
– Prakash
Dec 17 '18 at 7:33
In this case, do the stream changes to lower resolution when internet speed goes down? Or the video get freezed for buffering? In my case, video started buffering. What could be the possible issue?
– Prakash
Dec 17 '18 at 7:33
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53391740%2fandroid-exoplayer-adaptivetrackselection-need-to-start-video-with-high-quality%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown