livepeer / livepeer/LivepeerDesktop

Add support for switching between desktop screenshare and camera inputs

Open
#6 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement help wanted
Dominant language
JavaScript
Stars
16
Forks
4
PR merge metrics
No merged PRs in 30d

Description

I believe the ffmpeg command that captures the input stream specifies the input as "0:0", which represents first video source, first audio source.

ffmpeg -f avfoundation -list_devices true -i ""

Lists the active input devices, with a sample output of:

[AVFoundation input device @ 0x7fb80be0f680] AVFoundation video devices:
[AVFoundation input device @ 0x7fb80be0f680] [0] FaceTime HD Camera
[AVFoundation input device @ 0x7fb80be0f680] [1] Capture screen 0
[AVFoundation input device @ 0x7fb80be0f680] [2] Capture screen 1
[AVFoundation input device @ 0x7fb80be0f680] AVFoundation audio devices:
[AVFoundation input device @ 0x7fb80be0f680] [0] Built-in Microphone

The user should be able to choose amongst the various inputs via a dropdown, and this should update the UI and input device.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the ffmpeg AVFoundation capture command that uses "0:0" and the UI code responsible for input-device selection. Review the device list produced by ffmpeg -f avfoundation -list_devices true -i ""; the work is done when users can choose a camera or screen input from a dropdown and the UI and capture input update accordingly.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
audio-video-rtc, desktop
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.