-
Notifications
You must be signed in to change notification settings - Fork 27
Open
Description
Hi author,
I’d like to share a feature I’ve recently implemented while working with lkmio/lkm, and ask whether it would be appropriate to contribute it via a Pull Request.
What I’ve implemented
I added a new video streaming path that:
- Streams video over WebSocket
- Transcodes the input stream to
mpeg1videoin real time - Pushes the output as MPEG-TS packets to connected WebSocket clients
Technical details
- The transcoding pipeline is implemented using CGO bindings via
go-astiav - FFmpeg components used include:
libavformatlibavcodeclibavutil
- Decoding, filtering (if needed), and encoding are handled directly through FFmpeg APIs exposed by
go-astiav - No external
ffmpegbinary process is spawned; everything runs in-process via CGO
This design keeps the implementation:
- Consistent with existing FFmpeg-based logic in the project
- Efficient for real-time streaming
- Easier to extend for other codecs or transports in the future
Use cases
- Low-latency video preview
- Browser-based playback using WebSocket players (e.g. jsmpeg-like clients)
- Debugging / monitoring live video streams without HLS/DASH
Backward compatibility
- The new WebSocket streaming path is isolated and does not affect existing APIs or streaming flows
Next step
Before preparing a Pull Request, I’d like to ask: Would you be open to accepting a PR for this feature?
If so, I’m happy to:
- Refactor or simplify the code if needed
- Align with project conventions
- Add documentation or example usage
Thanks for your time, and I look forward to your feedback.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels