jdf / Processing.py-Bugs

A home for all bugs and feature requests about Python Mode for the Processing Development Environment.
41 stars 8 forks source link

Video doesn't work on windows #307

Open vdurnev opened 3 years ago

vdurnev commented 3 years ago

Environments: Windows 10 (64) Processing: 3.5.4 Video: 2.0 Python mode: 3063

This simple sketch: add_library('video') # import processing.video.*

Generate next error:

sketch_201015a.pyde:1: RuntimeWarning: PyTableCode.call caught a Throwable that is not an Exception: java.lang.UnsatisfiedLinkError: C:\Users\user\Documents\Processing\libraries\video\library\windows64\avcodec-58.dll: Can't find dependent libraries

In java mode webcam works.

I need to teach students how to work with webcam, are the any configuration of Processing, video lib and python mode versions where it possible to use webcam in python sketch on windows?

Thank you

villares commented 3 years ago

Hi @vdurnev, I'm also teaching with Processing Python mode and I understand your pain. I've tried a few combinations of older 1.0.1 Video and Processing without success. Maybe @mpsftw can give us a hand o this one!

mpsftw commented 3 years ago

Lol. add_library will be the death of me, I swear. I'll take a look at it when I get a chance, but it'll probably take a while. My life got complicated and I'm mad busy right now.

I should have a much better way of handling libraries in the Python 3 version, if I ever get a chance to get back to work on it.

vdurnev commented 3 years ago

If there are any previous versions of processing/pythonMode/video library where webcam worked - please share

mpsftw commented 3 years ago

I've been looking at this and it is non-trivial. It's getting caught in dll hell looking for dependencies. I'm still looking for either a work-around or a fix, but this is a tough one. My lack of windows experience is not helping here, so if anyone has any ideas, feel free to chime in.

njchenyi commented 2 years ago

Who solved this problem? I tried 1.0.1 and 2.0 version, but they all failed.