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

Try new egui-video player #924

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Try new egui-video player #924

wants to merge 2 commits into from

Conversation

v0l
Copy link

@v0l v0l commented Dec 13, 2024

I built a new egui-video lib for my zap.stream egui app, just plugged it into gossip and it seems to work well(ish)

I noticed it wasnt enabled by default, what was the reason for that?

Also clippy --fix made a lot of changes so i put those in a separate commit

@mikedilger
Copy link
Owner

Cool, I'll take a look.

The reason it is not enabled by default is that some machines don't have ffmpeg, or they don't have the shared libraries it depends on, or the wrong versions of those libraries, or not in paths we can easily find.

@mikedilger
Copy link
Owner

The git history does show a lot of work that my egui-video doesn't have.

But I'm having problems:

[AVHWDeviceContext @ 0x7839bc69a980] Cannot load libcuda.so.1
[AVHWDeviceContext @ 0x7839bc69a980] Could not dynamically load CUDA

I have an AMD graphics card that probably doesn't support CUDA.

I'm also curious about what "Player::new()" does and when the data gets downloaded, and where is it cached.

@v0l
Copy link
Author

v0l commented Dec 14, 2024

But I'm having problems:

Does this cause the player not to load? It should just skip over that and try the AMD accelerated decoding

I'm also curious about what "Player::new()" does and when the data gets downloaded, and where is it cached.

I didnt like that this Player::new() blocked rendering so now it just creates the struct and spins up an std::thread which does all the media loading, in this lib we dont donwload anything until you start play().

I also built a custom HLS demuxer because the built in FFMPEG hls demuxer downloads all variants event though we only play 1 of them, so right now it just plays the highest res version of a stream and ignores the rest, later we will have the auto mode where it picks the best quality based on bandwidth.

I remved the dependency on SDL2 also and im using cpal for audio. On this it seems to have some issues still, A/V sync is quite hard to manage, but i'll continue to improve on this also.

@mikedilger
Copy link
Owner

But I'm having problems:

Does this cause the player not to load? It should just skip over that and try the AMD accelerated decoding

It shows a black box with a white progress line. But no play button and no video image and pressing near play doesn't do anything.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants