[feature] Programmatically generated local video track
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Domain
- audio-video-rtc, mobile
Research direction
Start by reading the LocalVideoTrack API and the existing way video tracks are published; the issue does not name files or tests. Define how an app supplies generated frames, then determine whether they can be published as a video track so other room participants receive them; the frame-source specification is explicitly still to be decided.
Written by the indexing model from the issue text.
Description
Is your feature request related to a problem? Please describe.
Yeah, my users have a use case for sharing a stream of frames that are generated by the app with other connected users in the room. Like a screen share but frames generated programmatically by the app (happy to explain the use case further if helpful).
Describe the solution you'd like
See this thread in LiveKit #helpchannel
I'm guessing that the solution will look like the addition of a new constructor on LocalVideoTrack that allow me to pass in an object that will generate the frames. Spec for that object tbd.
Describe alternatives you've considered
I've attempted to send the frames over the room data channel. See this thread on LiveKit #helpchannel but am seeing timeouts and the size/frequency limits are undefined afaik.
I'd render the images on the other side in an Image() or similar widget. Would be much nicer to publish these frames as a video track of course! 😊
Additional context
I love your work 🙏
- Dominant language
- Dart
- Stars
- 421
- Forks
- 260
- Avg merge
- 3d 9h
- Merged PRs (30d)
- 11
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from livekit/client-sdk-flutter
-
`jwtPayload.roomConfiguration` returns null fields for tokens from LiveKit server SDKsPossibly taken @RaphaelFakhri claimed this 1 day ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
livekit/client-sdk-flutter#1243 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 57/100
livekit/client-sdk-flutter#1245 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
livekit/client-sdk-flutter#1227 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
livekit/client-sdk-flutter#1221 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 30/100
livekit/client-sdk-flutter#1219 · 1 reaction ·
Maintainers usually reply within 1 day
All issues in livekit/client-sdk-flutter
Similar issues
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 65/100
chriskelly/wish-together#36 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
AppFlowy-IO/AppFlowy#9075 ·
-
Paste asks for iOS paste permission because the default context menu ignores SystemContextMenuPossibly taken @dorklein claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
maheshj01/searchfield#267 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
hajisensai/Fushi#2340 · 2 comments ·
Maintainers usually reply within 1 day