Repository navigation
Conversation
|
@miguel-heygen following your notes on #5232: this PR is items 1 and 2 only. The warning is one line, and it reads from the same lookup as the hint and |
107e0f0 to
af8fbc6
Compare
|
Rebased onto current main ( |
…mebrew route Only render needs FFmpeg and FFprobe, so a project could go through init, design and preview before the missing binary showed up. init now prints one warning line when either cannot be resolved, in both the interactive and non-interactive paths. On macOS the install hint only offered `brew install ffmpeg`. It now also names HYPERFRAMES_FFMPEG_PATH / HYPERFRAMES_FFPROBE_PATH and .hyperframes/bin, which the binary lookup already supports. Refs heygen-com#5232
af8fbc6 to
a954926
Compare
|
@miguel-heygen @jrusso1020 rebased onto current main ( |
What
initprints one warning line when FFmpeg or FFprobe cannot be resolved, in both the interactive and the non-interactive path. Before, it only checked when given--video.HYPERFRAMES_FFMPEG_PATH/HYPERFRAMES_FFPROBE_PATHand.hyperframes/bin. The hint is shared, sodoctor,render,snapshot,transcribeand the rest pick it up too.Why
Only
renderneeds FFmpeg, so an agent could runinit, go through design rounds and get approval before learning the binary was missing. On a Mac without Homebrew, the only remedy the CLI offered wasbrew install ffmpeg, which leads nowhere.Related work
Refs #5232. This covers two of the three items still open in @miguel-heygen's status comment: the macOS hint and the
initwarning. #5237 already did the docs part.The third item, a
doctorstep in thehyperframesentry skill, goes in its own PR as agreed on the issue, so the skill wording gets reviewed separately.How
installHint()inpackages/cli/src/browser/ffmpeg.tsgets a darwin branch, next to the existing win32 one.getFFmpegInstallCommand()is unchanged, so Studio's copy button still copies onlybrew install ffmpeg.missingRenderToolsWarning()ininit.tsuses the existingfindFFmpeg/findFFprobelookups. It runs after scaffolding and skills, just before the "Get started" list or the preview launch.Test plan
ffmpeg.test.ts: the macOS hint keeps the brew command and names both env vars and.hyperframes/bin.init.test.ts: runs the realinitwith both overrides pointed at missing files and checks for the warning, then with both pointed at existing files and checks there is none, so the test doesn't depend on FFmpeg being installed.preflight.test.ts: the darwin cannot-start hint expectation now uses the new string.ffmpeg.test.tscase fails, and with theinitwarning disabled, theinit.test.tscase fails.HYPERFRAMES_FFMPEG_PATH=/nonexistent/ffmpeg HYPERFRAMES_FFPROBE_PATH=/nonexistent/ffprobe:init --non-interactiveprinted no warning, anddoctorsuggested onlybrew install ffmpeg.initwarns in non-interactive mode and in interactive mode (run in a pty, where it shows as a clack▲line). With only FFprobe missing it says "FFprobe not found ... render needs it". With both present it prints nothing new.doctorshows the new hint.bun run lint,format:check, the CLItsc --noEmit,check-comment-citationsandcomment-ratchetpass.measure/media,measure/diff-offset,whisper/*andcheckSweep.chromiumfail on my machine on clean main as well (local whisper/FFmpeg/Chrome setup), andfileWatcher.atomicis flaky locally. None of those touch this change.doctor-browser.mdalready documents both routes (docs(cli): explain FFmpeg setup without a package manager #5237).🤖 Generated with Claude Code