Analyzes a media file with FFprobe and returns its metadata as JSON.
The plugin hands the file to the Inlay helper, which runs FFprobe and returns the full probe result. The report covers container format, stream list, duration, and frame information.
FFprobe must be installed first. Use Inlay_CHECK_FFMPEG to confirm it is present and Inlay_INSTALL_FFMPEG to install it.
the media file to analyze. Accepts a bare HFS path (Macintosh HD:Users:...), a filemac:/... URL, a file:/... URL, a filewin:/... URL, or a POSIX path.
FFprobePath
Optional
absolute path to a specific FFprobe binary. Defaults to the managed install when omitted.
Returns
JSON string
On success returns the FFprobe JSON describing the file's format and streams. On failure returns {"ok":false,"message":"..."}, for example when the helper is missing or InputPath is empty.
Use Cases
Read a clip's duration, resolution, and codec before deciding how to transcode it.
Validate that an uploaded file is a real, playable media file rather than a corrupt or mislabeled upload.
Notes
Available on macOS and Windows only.
Pass FFprobePath explicitly when more than one FFprobe build is present to remove ambiguity.
Starts a non-blocking FFmpeg transcode job and returns immediately.
A cancelable progress window appears while encoding. The call returns {"ok":true,"status":"started","job_id":"...","status_path":"...","result_path":"...","args_path":"..."}. Poll result_path until it reports {"ok":true,"status":"done"} or an error.
There are two modes. Simple mode takes InputPath and OutputPath and produces a browser-ready H.264 MP4 with AAC audio. Advanced mode takes a single AdvancedJob object that drives the whole FFmpeg command, enabling multiple outputs from one pass (for example 1080p plus a proxy plus a poster PNG), filter_complex graphs, and arbitrary stream mapping.
source media file, required in simple mode. Accepts bare HFS, filemac:/..., file:/..., filewin:/..., or POSIX paths.
OutputPath
Required
destination file, required in simple mode. Should end in .mp4 for the default H.264 output.
FfmpegArgs
Optional
JSON array of FFmpeg tokens inserted between the input and output, for example ["-c:v","libx264","-crf","18"]. Simple mode only.
AdvancedJob
Required
a JSON object describing the full job. Required in advanced mode and cannot be combined with any simple-mode parameter. Required keys are inputs (array of {"path":...}) and outputs (array of {"path":...,"args":[...]}). Optional keys are global_args, filter_complex, job_id, ffmpeg_path, ffprobe_path, and metadata with tape_name and master_clip_name.
JobId
Optional
identifier for the job; auto-generated if omitted. Simple mode only.
FfmpegPath
Optional
absolute path to a specific FFmpeg binary. Simple mode only.
FfprobePath
Optional
absolute path to a specific FFprobe binary. Simple mode only.
TapeName
Optional
tape name forwarded to the progress payload. Simple mode only.
MasterClipName
Optional
master clip name forwarded to the progress payload. Simple mode only.
Returns
JSON string
On a successful start returns {"ok":true,"status":"started","job_id":"...","status_path":"...","result_path":"...","args_path":"..."}. The helper then writes progress to status_path and the final outcome to result_path. On a bad request returns {"ok":false,"message":"..."}.
Use Cases
Convert an arbitrary source file to a web-playable MP4 with a two-argument simple call.
Produce delivery and proxy renditions plus a poster frame from one source in a single advanced pass.
Notes
Available on macOS and Windows only.
The function returns before encoding finishes; treat result_path as the authoritative outcome record.
In advanced mode AdvancedJob must stand alone; mixing it with InputPath, OutputPath, or other simple-mode keys is rejected.
Legacy keys inputPath, outputPath, ffmpegArgs, and advancedJob are accepted for one release cycle.
Downloads and installs FFmpeg, FFprobe, and FFplay into Inlay's managed tools directory.
Pass a single JSON object of download URLs for the three binaries. The Inlay helper fetches them and installs them, then this function returns the helper's final result JSON.
a JSON object with download URLs for all three tools: {"ffmpeg":"...","ffprobe":"...","ffplay":"..."}. All three URLs are required and must be non-empty.
Returns
JSON string
On success returns the helper's install result JSON. On a bad request returns {"ok":false,"message":"..."}, for example when the argument is not a JSON object or any of the three URLs is missing or empty.
Use Cases
Provision FFmpeg on a workstation that has never run Inlay's media features, using URLs you host.
Re-install or update the managed tool binaries to a known version across a fleet.
Notes
Available on macOS and Windows only.
Package-manager shortcuts are not supported; the literal strings brew and urls are rejected. Always pass the JSON object of URLs.
Binaries install to Inlay's managed tools/bin directory, which Inlay_TRANSCODE and Inlay_VIDEO_METADATA use by default.
Reports whether FFmpeg, FFprobe, and FFplay are installed and where.
The function always returns ok:true; branch your script on the installed field. When the tools are present, each tool entry carries its path and version. When none are found, the response includes a message pointing to Inlay_INSTALL_FFMPEG.
Only Inlay's managed tools directory is checked, so this reflects what Inlay's media functions will actually use.
Declaration
Inlay_CHECK_FFMPEG
This function takes no parameters.
Returns
JSON string
When at least one tool is found returns {"ok":true,"installed":true,"ffmpeg":{"installed":true,"version":"...","path":"..."},"ffprobe":{...},"ffplay":{...}}. A tool that is absent reports {"installed":false}, and a tool whose version cannot be read reports its path with an error field. When none are found returns {"ok":true,"installed":false,"message":"..."}.
Use Cases
Gate video workflows at session start, prompting the user to install tools before any metadata or transcode call.
Read the returned ffmpeg and ffprobe paths to pass as FfmpegPath and FfprobePath in Inlay_TRANSCODE and Inlay_VIDEO_METADATA.
Notes
Available on macOS and Windows only.
Only the managed tools directory is searched; a copy of FFmpeg elsewhere on PATH is not reported here.