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

[Q] Can you add examples of how to get best VOD experiance #218

Open
Chokoabigail opened this issue Dec 11, 2024 · 6 comments
Open

[Q] Can you add examples of how to get best VOD experiance #218

Chokoabigail opened this issue Dec 11, 2024 · 6 comments
Labels
flag: bot ignore Asks CI bots that maintain issues to ignore this issue type: question A question from the community

Comments

@Chokoabigail
Copy link
Contributor

Please add configuration examples of how YouTube packages videos (good default settings for a great watching experience).

@joeyparrish joeyparrish added the type: question A question from the community label Dec 11, 2024
@joeyparrish
Copy link
Member

YouTube doesn't use this project. YouTube has proprietary, internal encoding tools that are not available to the public.

The default settings in Shaka Streamer are intended for a good VOD experience (bitrates, resolutions, etc). If you have specific issues with those defaults, please let us know and we can advise you further.

Does this answer your question?

@Chokoabigail
Copy link
Contributor Author

Thanks, I appreciate this!

I don't have a specific issue, the thing is, YouTube has a great transmission quality and I think maybe part of that is because of superior packaging settings and not just the encoding (I notice a better watching experience even though their servers have a higher latency, so it's not about the delivering infrastructure necessarily), they do use proprietary, internal encoding tools, but I thought maybe there is something to do as well in the packaging settings.

For example, on the same video, YouTube will send much fewer requests than the default packaged video in Shaka-streamer (Not sure if this is supposed to have a better performance just because of this, the underlying network request will probably be the same in the TCP/QUICK level, the only different is if the extra files add more metadata, in this case, the clients need to download more data to handle the same video, another different will be if the total file size is smaller due to a better encoder in which case there is nothing for us to do since they have their proprietary tools)

@joeyparrish
Copy link
Member

You can adjust the bitrate settings, as well as the segment size, in Shaka Packager. If you're looking to match the frequency and size of requests made by YouTube, that could help. And since all of that is just config files, you can easily share your solution in YAML once you have something you're satisfied with.

YouTube's infrastructure goes well beyond encoding, as they have their own player and CDN, as well. In some cases, I believe they even use a proprietary streaming protocol in place of DASH & HLS. All of those layers are developed in concert and co-optimized, so it can be hard to compete with if you're using off-the-shelf components.

I would bet money that FFmpeg or parts of it are in the mix somewhere at YouTube, so there's no reason you shouldn't be able to achieve the same quality per bit with enough research. But I would also bet that some really bright people at YouTube have been tuning those things for years, and with the benefit of mountains of QoE feedback from their user base.

Copy link

@Chokoabigail Does this answer all your questions? If so, would you please close the issue?

@github-actions github-actions bot added the status: waiting on response Waiting on a response from the reporter(s) of the issue label Dec 17, 2024
@Chokoabigail
Copy link
Contributor Author

Thanks for the elaborate response, I will do internal research on this and update you if something comes up, encoding configuration sometimes feels more art than science

@github-actions github-actions bot removed the status: waiting on response Waiting on a response from the reporter(s) of the issue label Dec 18, 2024
@joeyparrish
Copy link
Member

Yeah, it really is. I'll ask shaka-bot not to close this issue so you have time to research and make recommendations or PRs.

@joeyparrish joeyparrish added the flag: bot ignore Asks CI bots that maintain issues to ignore this issue label Dec 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
flag: bot ignore Asks CI bots that maintain issues to ignore this issue type: question A question from the community
Projects
None yet
Development

No branches or pull requests

2 participants