Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make the bitrate of the fallback stream the same as the original #9121

Merged
merged 1 commit into from
Feb 12, 2024

Conversation

dmitrylyzo
Copy link
Contributor

@dmitrylyzo dmitrylyzo commented Jan 18, 2023

Alternative to #10751

In addition to #9092
If HEVC encoding is enabled, we may still encounter unnecessary transcoding issue.

⚠️ This PR is a hack/trick. It works on my Tizen 4 TV and Tizen 5 emulator (with AllowHevcEncoding condition removed).
I am for removing the problematic block, since we have VideoRange and probably no longer need a fallback stream. But this requires testing the Apple devices that require this fallback stream.

Changes
Make the bitrate of the fallback stream the same as the original, so that the client can choose by other attributes, such as color range.

Issues
Possible unnecessary transcoding (+tone mapping) in the same way as described here.

All streams in the master playlist are bound to the same PlaySessionId.
The server starts the transcoding process after receiving a request (middle bitrate or lower) from the device.
After sufficient buffering, the device requests a higher bitrate.
Since the PlaySessionId is the same, it seems that the transcoding job doesn't restart with the new parameters.

Fixes #8043
Fixes jellyfin/jellyfin-webos#105
Fixes jellyfin/jellyfin-tizen#163
Fixes jellyfin/jellyfin-webos#59
Fixes #5576 (#5576 (comment))
Fixes jellyfin/jellyfin-web#1190
Fixes #7272

@dmitrylyzo dmitrylyzo marked this pull request as ready for review January 25, 2023 21:55
@jellyfin-bot jellyfin-bot added the merge conflict Merge conflicts should be resolved before a merge label Mar 21, 2023
@jellyfin-bot jellyfin-bot removed the merge conflict Merge conflicts should be resolved before a merge label Mar 22, 2023
@dmitrylyzo dmitrylyzo force-pushed the fix-fallback-stream-select branch 2 times, most recently from 6e86e6f to 2e27e7b Compare December 20, 2023 12:13
@jellyfin-bot jellyfin-bot added the merge conflict Merge conflicts should be resolved before a merge label Dec 20, 2023
@dmitrylyzo dmitrylyzo changed the base branch from release-10.8.z to master December 20, 2023 12:13
@jellyfin-bot jellyfin-bot removed the merge conflict Merge conflicts should be resolved before a merge label Dec 20, 2023
Copy link
Member

@nyanmisaka nyanmisaka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only very few videos require this fallback stream, so bitrate accuracy is not a big concern.

@crobibero crobibero merged commit 0dde8c0 into jellyfin:master Feb 12, 2024
23 checks passed
@dmitrylyzo dmitrylyzo deleted the fix-fallback-stream-select branch February 21, 2024 06:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants