Brooooooklyn / Brooooooklyn/webcodecs-node
Supports native binding for ffprobe
- 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