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

Frame step for video player #716

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

japanesephundroid
Copy link

Frame step for video player. Exoplayer does not have a frame step option so this a frame step for a 30 fps video

Frame step for video player. Exoplayer does not have a frame step option so this a frame step for a 30 fps video
@japanesephundroid
Copy link
Author

This is the first time I ever tried a pull request.

Don't know if its the correct way, sorry if not.

The icon I chose is not the best, but short of adding a new one it was the best already available in the app.

@japanesephundroid japanesephundroid changed the title Update ExoPlayerWrapperView.java Frame step for video player Feb 28, 2020
@QuantumBadger
Copy link
Owner

Thanks! This looks good to me, when I get a chance I'll test/merge it and maybe add new icons.

I think it would be good to keep the new buttons hidden by default and have a preference to enable them, but I'm happy to do this if it's not clear how.

It might also be worth greying out the buttons while the video isn't paused (which may require another set of icons in a different colour).

@japanesephundroid
Copy link
Author

Thanks.

It might also be worth greying out the buttons while the video isn't paused (which may require another set of icons in a different colour).

Maybe a better idea would be to add a pause to the frame step action if the videos isn't paused? I wasn't sure how to do it so I just submitted this.

I also wanted to add a speed button, something like 0.25x, 0.5x, 1x, 2x, 4x. Would that be difficult with Exoplayer?

One other thing would be current and total playing time somewhere on the video, but that is beyond my capabilities, I'll maybe do a feature request on that one.

@codeofdusk
Copy link
Contributor

@QuantumBadger, @japanesephundroid this PR has been open for almost three years without a review. Are there plans to merge it, or should it be closed as abandoned?

@QuantumBadger
Copy link
Owner

@codeofdusk Yeah it's deliberately still open as it needs some changes, but nobody's got around to it yet. I'd still like to merge this feature, it just needs to be put behind an off-by-default preference. There may also be a better Exoplayer API for doing a frame step, rather than the current hardcoded timeskip.

@japanesephundroid
Copy link
Author

@codeofdusk Yeah it's deliberately still open as it needs some changes, but nobody's got around to it yet. I'd still like to merge this feature, it just needs to be put behind an off-by-default preference. There may also be a better Exoplayer API for doing a frame step, rather than the current hardcoded timeskip.

This is another way to do it from the Exoplayer Github:
997620

The first I am using ExoPlayer to play a video and create a MediaCodec to extract all frames
When touching on the SeekBar i use the GLES to render those frames via GLUtils.texImage2D and call pause the media
When touch-up I call ExoPlayer to seek to the position
When user click play I hide the frame draw before :)
It's working for me :)) Thanks!

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

Successfully merging this pull request may close these issues.

None yet

3 participants