question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Add support for two bit rates per stream: "low" 480p and "high" 1080p

See original GitHub issue

In order to support users on lower speed connections (and reduced download size on mobile) we need a way to support lower bit rate videos. The simplest solution is just to support a fixed two bit rates. This will require changes at all levels of the LBRY stack:

Protobufs

  • Rename Stream.source to Stream.source_high_def.
  • Add Stream.source_low_def field.

SDK

  • publish, stream_create and stream_update add several new arguments:
    • --file_path_high_def pointing to a manually created high definition video.
    • --file_path_low_def pointing to a manually created low definition video.
    • --file_path will point to the original video and ffmpeg would be used to generate the high/low definition versions of the video
  • get adds flags:
    • --high_def will only download high def version of the video
    • --low_def will only download the low def version of the video
    • default is to download the high def version

Where it’s necessary for SDK to pick a bit rate, and for backwards compatibility, it should chose high definition.

ytsync

app

lbrytv

Further Reading

https://mux.com/blog/youtube-viewers-dont-care-about-video-quality/

Issue Analytics

  • State:open
  • Created 3 years ago
  • Comments:7 (6 by maintainers)

github_iconTop GitHub Comments

2reactions
tzarebczancommented, Jun 29, 2020

Also consider audio only format as a third type? https://github.com/lbryio/lbry-desktop/issues/4435

0reactions
belikorcommented, May 4, 2022

would it be feasible for Odysee to publish its own transcoded versions of videos on lbry:// automatically?

If there is 1 million videos, and then you publish 5 transcoded versions, suddenly you increase the number of claims 5 times. Also, remember, every claim requires a transaction in the blockchain, meaning staking LBC, and paying the transaction fees. Who pays for this? The user? Odysee? Odysee using the user’s wallet? Will these videos be searchable? There will be duplication of videos in the search results.

I don’t think it’s a very sensible solution to just publish all transcoded claims. I like the solution of having multiple sources, say, low, medium, high, and letting the user choose what goes in there but only searching one by default.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Choose live encoder settings, bitrates, and resolutions
Choose live encoder settings, bitrates, and resolutions. It's important to make sure your live stream is high quality. Make sure you choose a...
Read more >
How to Use Multi-Bitrate Streaming for On-Demand Video ...
The DaCast multi-bitrate feature supports 1080p, 720p, 576p, 480p and 240p resolutions. Each has a comparable bitrate quality. The lower the ...
Read more >
Send multi-bitrate resolutions to enable adaptive streaming ...
Send multi-bitrate resolutions to enable adaptive streaming and reduce buffering when broadcasting live with OBS (Open Broadcaster Software) ; 720p (HD).
Read more >
Choose a Streaming Quality in Livestream Studio
Livestream Studio has more flexibility and streaming bitrate options than ever before. These include the ability to stream in 1080p, 4k, and custom...
Read more >
What Is Video Bitrate? The Full Guide – Restream Blog
For 1080p videos, the ideal bitrate ranges from 3,500 to 6,000 Kbps. If you're using a standard frame rate (30fps), aim for the...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found