Increasing the smoothness of the video progress bar#89
Increasing the smoothness of the video progress bar#89H-Dempsey wants to merge 2 commits intoDeepLabCut:mainfrom
Conversation
|
Hi @H-Dempsey, thank you so much for contributing! I just today had to deal with a video that was very slow to read, so I was excited to try your PR. Unfortunately, on that 100MB video the difference is barely visible, and after reading the code behind |
|
Hi @jeylau, Thank you for your response!
I can show that it works on my end with larger videos. Before: Before2.mp4After: After2.mp4
I just played around with an analysed 12-hour (20 fps) video, and I haven't observed it so far. While my pull request seems to improve speed, if it leads to inaccurate frame setting, I think we should not merge it. Harry |
Add decord to the list of dependencies, so that it can be used as the potential napari-deeplabcut video player.
Remove the current video reader class and add a decord-based video reader.
|
Hi again, I spent some more time looking into the issue of They solved it by using a video player called decord. I was keen to see whether a decord video player with napari would give fast and accurate seeking. napari-decord.mp4It is significantly faster than the "Before" video above, and it uses accurate seeking. I have added the changes to my pull request. Harry |
|
Decord is no longer maintained, if we add this we may want to use decord2 instead |

Hi napari-deeplabcut!
I am a big fan of both napari and deeplabcut, and I was so excited when I first found out about this collaboration.
This is my first pull request and I apologise if I make some mistakes.
I noticed that when I scroll through a video during manual frame extraction, the interface lags.
Before1.mp4
If I replace the current video reader class + dask lazy loads with the napari-video reader class, the scrolling is much smoother.
After1.mp4
For the non-opencv option, I tried to make my own version of the napari-video class and replace all cv2 functions with imageio functions.
But unfortunately, the speed looked similar, so I decided to keep the PyAV and dask lazy loading for that.
I have included it below for interest.
Thank you for making this really useful tool.
Harry