time4tea / gopro-dashboard-overlay

Programs to process GoPro MP4 & Generic GPX/FIT files and create video dashboards & maps
GNU General Public License v3.0
381 stars 52 forks source link

Windows support #121

Closed mishuha closed 1 year ago

mishuha commented 1 year ago

Hi,

I installed the tools using pip3.11 on Windows 10. Just after installation I was unable to run the Dashboard. There was an error like ImportError: No module named _dbm. Fixed by using just 'dbm'.

Also testing presence of "ffmpeg" was throwing some errors from subprocess.run(...) and was unable to locate ffmpeg.exe.

I solved this for me: if ffmpeg/ffprobe can't be found in system paths script will look in the 'bin' folder near to 'gopro-dashboard.py'. Not tested on Linux yet but hope the platforms compatibility is saved.

Please review

Thanks

time4tea commented 1 year ago

Hiya - thanks for the suggestion - but Windows support is not something that I see on the feature horizon. The reality is that adding a new platform is taking on a big support liability, which I don't really want to do. However, the software works just fine already under WSL - have you considered using that? - Other users have reported success - its more or less the same as running Ubuntu (or whatever other distribution)

mishuha commented 1 year ago

Hi,

I have tried to run it within WSL. It works, but let me describe my experience below.

I assume you are really a fan of nix systems. But according to statistics, Windows is more common. So, many people can be struggled by operating in nix systems. And regarding to your software in fact, not much needed to be changed to make it work on Windows platforms. That I wanted to say.

The huge problems appear exactly with WSL. There are steps that could be a torture for mid skill user:

And all this time was spent for things that can be done directly from Windows. Do you know the point when the average Windows the user will give up trying?

Few words about performance of WSL: it uses only 70% of GPU encoder in the same conditions. Without CUDA it performs with dreadful 1.5 fps (against 2 fps on Windows :) )

Two equal tasks results: WSL:

Time:  0:00:24
Timer(image to bytes - Called: 323, Total: 1.47669, Avg: 0.00457, Rate: 218.73)
Timer(writing to ffmpeg - Called: 323, Total: 6.02252, Avg: 0.01865, Rate: 53.63)
Timer(drawing frames - Called: 323, Total: 16.39407, Avg: 0.05076, Rate: 19.70)
Timer(program - Called: 1, Total: 25.15081, Avg: 25.15081, Rate: 0.04)

Windows10:

Time:  0:00:15
Timer(image to bytes - Called: 323, Total: 3.58015, Avg: 0.01108, Rate: 90.22)
Timer(writing to ffmpeg - Called: 323, Total: 3.74065, Avg: 0.01158, Rate: 86.35)
Timer(drawing frames - Called: 323, Total: 7.25129, Avg: 0.02245, Rate: 44.54)
Timer(program - Called: 1, Total: 16.60498, Avg: 16.60498, Rate: 0.06)

I don't see any reasons to not to use it directly from Windows.

Thanks

time4tea commented 1 year ago

Thanks for your feedback - it is interesting. I'll have a think about it.

Cinerar commented 1 year ago

Just use Docker

dyk74 commented 1 year ago

Hello, I've tried to use docker but I'm a newbie... Someone could explain me how to configure it... (i.e the ffmpeg profile... where to find the output file...and how to give all the parameters)...I'm using Docker desktop... Thank you

time4tea commented 1 year ago

Hi. Currently the software doesn't officially support Windows. However, it may work on Windows as we dont do anything explicitly to stop it working

Some things that have been shown to work

I am tempted to see if there are small changes I can make that will make it work on Windows.

time4tea commented 1 year ago

Looking at this a bit more closely, I can see two main issues..

I think this can be fixed by two smallish changes.

These should be easy enough.

time4tea commented 1 year ago

Windows is now working in version 0.103.0 - Please do give feedback!

DominicFindlay commented 1 year ago

Hi there, I've tried using the windows support instead of wsl. It's about 1.5x faster for me.

time4tea commented 1 year ago

Thank you for the feedback! That's great to know!