I am trying to create an application with the following functions:
normal video playback
slow video playback
frame by frame
reverse video playback (normal, slow, frame-by-frame)
to search at a specific time
video cleaning
No need for video sound
video is recorded using the deviceβs camera
The closest comparison to the app will be the UBSense Coach app for iOS and Coach Eye on Android, although there are others and they all have these features.
I considered several options:
First created in Android Media Player, which cannot really do anything I need.
Then MediaExtractor / decoder, looking at the code for Grafika ( https://github.com/google/grafika ), which cannot be played backwards.
Tried to pull each frame as needed with MediaMetadataRetriever, which is too slow (100 ms per frame) and the GC is on the way.
I looked at the library, which could potentially solve the problem, until it failed.
With MediaExtractor, I already have the ability to play video, forward frame or full speed. But I do not have this luxury in the opposite direction, and the search takes some time, since I need it without artifacts.
When you try to move in the opposite direction, even trying to find the previous synchronization and moving towards the frame, before what I had at present, this is not feasible without a huge delay (as expected).
I am wondering if there is a better codec that I could use, or a library that I haven't come across yet. And he would prefer to avoid the need to create something ordinary in his own code, if possible.
Thanks in advance
Michael
android video reverse playback
D3vinno
source share