Repository navigation
fix: launch without system FFmpeg (torchcodec stub) + release 0.8.33 - #96
Merged
Merged
Conversation
…e: trim NSIS quotes
macOS (v0.8.32 smoke, clean macos-14 runner): past libomp, the sidecar
died on `feat/utils/io.py: from torchcodec.decoders import VideoDecoder`
— torchcodec's wheels link FFmpeg only from a system install
(/opt/homebrew/opt/ffmpeg on macOS; PATH on Windows), so on a clean
machine `import torchcodec` raises and py-feat's top-level import takes
the sidecar down. Same class as the libomp failure, second organ.
Py-feat Live never uses that path: frames are decoded by PyAV and go to
detect_faces + forward directly (pyfeatlive_core/detect.py). So, only
when the real torchcodec cannot load, register a stub `torchcodec` /
`torchcodec.decoders` whose VideoDecoder raises a clear RuntimeError on
construction, and print a warning at startup. Proper fix is upstream
(lazy import in py-feat); this keeps the app launching until then.
Windows smoke: the NSIS Uninstall key stores $INSTDIR with literal
quotes; Join-Path threw ("Cannot find drive '\"C'") before the fallback
paths were tried. Trim them.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Third finding from the post-release smoke test (v0.8.32 run), macOS leg:
py-feat ≥ 2.1 imports torchcodec at module top level, and torchcodec's macOS/Windows wheels only link FFmpeg from a system install (Homebrew on macOS, PATH on Windows). On a clean machine
import feattherefore fails on both OSes. Same class as the libomp bug (#93), second organ.Fix: Py-feat Live never uses torchcodec — every frame is decoded by PyAV and fed to
detect_faces+forwarddirectly. So, only when the real torchcodec can't load, the sidecar registers a stubtorchcodec.decoders.VideoDecoderthat raises a clearRuntimeErroron construction, and prints a startup warning. Unit-tested. The proper fix is upstream: lazy-import torchcodec in py-feat.Also: the Windows smoke step read
$INSTDIRfrom the NSIS Uninstall key with its literal quotes and threw before trying fallback paths. Trimmed. (The install location is now confirmed:%LOCALAPPDATA%\\Py-feat Live.)Also: bumps to 0.8.33 in the same PR to save a CI cycle; v0.8.31 and v0.8.32 drafts stay unpublished.