PlummersSoftwareLLC / NightDriverStrip

NightDriver client for ESP32
https://plummerssoftwarellc.github.io/NightDriverStrip/
GNU General Public License v3.0
1.31k stars 211 forks source link

FEATURE: Video clip playback #355

Open davepl opened 1 year ago

davepl commented 1 year ago

This is a juicy feature for anyone up to the task! I have a client side program called videoserver.py that's checked into the samples folder, and the matrix looks really cool playing certain videos, like a fireplace loop.

It woud be nice if we had an effect that played a YouTube video. There are a number of code samplers on Github for playing video, but not sure if anything exists for YouTube specifically.

Short of that goal, being able to play a simple mpeg video file that we embed would also be good.

robertlipe commented 1 year ago

One of these four statements is an untruth.

https://github.com/PlummersSoftwareLLC/NightDriverStrip/blob/ff1e7a3c16ae7627e1ca75a6824181174c8374f5/src/network.cpp#L591

IMO, we should hoist that and , https://github.com/PlummersSoftwareLLC/NightDriverStrip/blob/ff1e7a3c16ae7627e1ca75a6824181174c8374f5/src/main.cpp#L351

into a single table to be consulted for such things. (It seems like there's another port number hardcoded somewhere....The telnet server?)

I don't even care if they're dynamically changeable or in a .ini file or whatever - even just a network_config.h with some # defines would be fine, IMO.

I'll do it, if it's agreed that's OK.

robertlipe commented 10 months ago

See associated PR https://github.com/PlummersSoftwareLLC/NightDriverStrip/pull/543

robertlipe commented 10 months ago

No agreement, but let's kick https://github.com/PlummersSoftwareLLC/NightDriverStrip/issues/355 around a little instead of scattering port numbers all over the tree.

I can't find the '23' for the telnet port number for the debug server.

Edit: it's basically hardcoded (#define TELNET_PORT 23) and it's in the hidden part of the source that's duplicated per build.

./.pio/libdeps/demo/RemoteDebug/src/RemoteDebugCfg.h ./.pio/libdeps/ledstrip_feather/RemoteDebug/src/RemoteDebugCfg.h ./.pio/libdeps/m5demo/RemoteDebug/src/RemoteDebugCfg.h ./.pio/libdeps/m5plusdemo/RemoteDebug/src/RemoteDebugCfg.h ./.pio/libdeps/panlee/RemoteDebug/src/RemoteDebugCfg.h ./.pio/libdeps/ledstrip/RemoteDebug/src/RemoteDebugCfg.h ./.pio/libdeps/umbrella/RemoteDebug/src/RemoteDebugCfg.h ./.pio/libdeps/generic/RemoteDebug/src/RemoteDebugCfg.h ./.pio/libdeps/spectrum/RemoteDebug/src/RemoteDebugCfg.h ./.pio/libdeps/xmastrees/RemoteDebug/src/RemoteDebugCfg.h ./.pio/libdeps/chieftain/RemoteDebug/src/RemoteDebugCfg.h ./.pio/libdeps/mesmerizer/RemoteDebug/src/RemoteDebugCfg.h ./.pio/libdeps/heltecdemo/RemoteDebug/src/RemoteDebugCfg.h ➜ nightdriverstrip git:(ports) ✗

rbergen commented 10 months ago

I'd not say it's hidden, but rather that it's a dependency. And yes, those can have defines of their own. Interestingly enough, the version of RemoteDebug we use is a PSL fork, which means we could update it to source its port number from another place.

rbergen commented 10 months ago

I just noticed this:

See associated PR #543

I think that's actually #549?

robertlipe commented 10 months ago

It's both. The feature was implemented in 543. The related issue brought up in this thread at https://github.com/PlummersSoftwareLLC/NightDriverStrip/issues/355#issuecomment-1657583988 was fixed by https://github.com/PlummersSoftwareLLC/NightDriverStrip/pull/549

rbergen commented 10 months ago

Was the feature implemented in #543? This issue talks about YouTube videos or embedded MPEGs. #543 provides an implementation for animated GIFs.