Brooooooklyn / Brooooooklyn/webcodecs-node

Supports native binding for ffprobe

Open
#25 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
92
Forks
2
Avg merge
14h 15m
Merged PRs (30d)
4

Description

[ffprobe](https://ffmpeg.org/ffprobe.html) is a crucial tool for extracting audio and video information.

Currently, there are almost no native NAPI bindings available for Node.js(https://www.npmjs.com/search?q=ffprobe).
Existing libraries either involve cumbersome installation processes or lack cross-platform compatibility.

We've already implemented cross-platform static library builds in our CI, so let's have napi-rs handle it. This will also help us test our webcodecs implementation.

See also node-av: https://www.reddit.com/r/node/comments/1n3y6ye/comment/nbk8p2z/

----

```bash
ffprobe -v error -select_streams v:0 -show_entries stream=r_frame_rate,avg_frame_rate,time_base,start_pts,duration,has_b_frame foo.mp4

# output
[STREAM]
has_b_frames=2
r_frame_rate=30/1
avg_frame_rate=30/1
time_base=1/15360
start_pts=0
duration=3.000000
[/STREAM]
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the existing cross-platform static library builds in CI and how napi-rs is used for the current WebCodecs implementation. Compare the requested ffprobe stream fields and command output with the binding API design; done means a cross-platform native Node.js binding that exposes equivalent information and supports the stated WebCodecs testing goal.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, rust
Domain
audio-video-rtc
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.