Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ingress protobufs #113

Merged
merged 5 commits into from
Apr 15, 2022
Merged

Ingress protobufs #113

merged 5 commits into from
Apr 15, 2022

Conversation

davidzhao
Copy link
Member

No description provided.

// desired mime_type to publish to room
string mime_type = 3;
uint32 bitrate = 4;
bool dtx = 5;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how are we going to use this? Are we planning to implement a VAD module in the RTMP (or any ingress) -> WebRTC bridge?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we'll transcode the input into a format supported by WebRTC.

string mime_type = 3;
// simulcast layers to publish, when empty, it'll pick default simulcast
// layers at 1/2 and 1/4 of the dimensions
repeated VideoLayer layers = 4;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Guessing the idea is to encode simulcast at the bridge? Also, should we encode simulcast by default? Guess it does make sense especially to have layers if we are doing SVC.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, I think we should enable simulcast by default since it'll be needed to ensure uninterrupted streams for lower bandwidth users.

The way to override is just to publish a single layer.

service Ingress {
rpc CreateIngress(CreateIngressRequest) returns (IngressInfo);
rpc ListIngress(ListIngressRequest) returns (ListIngressResponse);
rpc DeleteIngress(DeleteIngressRequest) returns (google.protobuf.Empty);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this have a response of success/failure at least?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

failures would be signaled with a different status code in Twirp-land. (i.e. 500)


enum IngressInput {
RTMP_INPUT = 0;
// FILE_INPUT = 1;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

support in future?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, will uncomment them when we start implementing them.

@davidzhao davidzhao merged commit fd7cd24 into main Apr 15, 2022
@davidzhao davidzhao deleted the ingress branch April 15, 2022 07:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants