diff --git a/livekit-protocol/livekit/protocol/egress.py b/livekit-protocol/livekit/protocol/egress.py index 4199f80c..06ee7d6f 100644 --- a/livekit-protocol/livekit/protocol/egress.py +++ b/livekit-protocol/livekit/protocol/egress.py @@ -26,7 +26,7 @@ from .logger_pb import options as logger_dot_options__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14livekit_egress.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14logger/options.proto\"\x89\x03\n\x12StartEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12+\n\x08template\x18\x02 \x01(\x0b\x32\x17.livekit.TemplateSourceH\x00\x12!\n\x03web\x18\x03 \x01(\x0b\x32\x12.livekit.WebSourceH\x00\x12%\n\x05media\x18\x04 \x01(\x0b\x32\x14.livekit.MediaSourceH\x00\x12\x30\n\x06preset\x18\x05 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x06 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12 \n\x07outputs\x18\x07 \x03(\x0b\x32\x0f.livekit.Output\x12\'\n\x07storage\x18\x08 \x01(\x0b\x32\x16.livekit.StorageConfig\x12(\n\x08webhooks\x18\t \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06sourceB\n\n\x08\x65ncoding\"a\n\x0eTemplateSource\x12\x0e\n\x06layout\x18\x01 \x01(\t\x12\x12\n\naudio_only\x18\x02 \x01(\x08\x12\x12\n\nvideo_only\x18\x03 \x01(\x08\x12\x17\n\x0f\x63ustom_base_url\x18\x04 \x01(\t\"\\\n\tWebSource\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\naudio_only\x18\x02 \x01(\x08\x12\x12\n\nvideo_only\x18\x03 \x01(\x08\x12\x1a\n\x12\x61wait_start_signal\x18\x04 \x01(\x08\"\x9e\x01\n\x0bMediaSource\x12)\n\x0evideo_track_id\x18\x01 \x01(\tB\x0f\xbaP\x0cvideoTrackIDH\x00\x12\x36\n\x11participant_video\x18\x02 \x01(\x0b\x32\x19.livekit.ParticipantVideoH\x00\x12#\n\x05\x61udio\x18\x03 \x01(\x0b\x32\x14.livekit.AudioConfigB\x07\n\x05video\"A\n\x10ParticipantVideo\x12\x10\n\x08identity\x18\x01 \x01(\t\x12\x1b\n\x13prefer_screen_share\x18\x02 \x01(\x08\"G\n\x0b\x41udioConfig\x12\x13\n\x0b\x63\x61pture_all\x18\x01 \x01(\x08\x12#\n\x06routes\x18\x02 \x03(\x0b\x32\x13.livekit.AudioRoute\"\xb8\x01\n\nAudioRoute\x12\x1e\n\x08track_id\x18\x01 \x01(\tB\n\xbaP\x07trackIDH\x00\x12\x1e\n\x14participant_identity\x18\x02 \x01(\tH\x00\x12\x39\n\x10participant_kind\x18\x03 \x01(\x0e\x32\x1d.livekit.ParticipantInfo.KindH\x00\x12&\n\x07\x63hannel\x18\x04 \x01(\x0e\x32\x15.livekit.AudioChannelB\x07\n\x05match\"K\n\nDataConfig\x12\x13\n\x0b\x63\x61pture_all\x18\x01 \x01(\x08\x12(\n\tselectors\x18\x02 \x03(\x0b\x32\x15.livekit.DataSelector\"W\n\x0c\x44\x61taSelector\x12\x1e\n\x08track_id\x18\x01 \x01(\tB\n\xbaP\x07trackIDH\x00\x12\x1e\n\x14participant_identity\x18\x02 \x01(\tH\x00\x42\x07\n\x05match\"\xbf\x02\n\x0f\x45ncodingOptions\x12\r\n\x05width\x18\x01 \x01(\x05\x12\x0e\n\x06height\x18\x02 \x01(\x05\x12\r\n\x05\x64\x65pth\x18\x03 \x01(\x05\x12\x11\n\tframerate\x18\x04 \x01(\x05\x12(\n\x0b\x61udio_codec\x18\x05 \x01(\x0e\x32\x13.livekit.AudioCodec\x12\x15\n\raudio_bitrate\x18\x06 \x01(\x05\x12\x17\n\x0f\x61udio_frequency\x18\x07 \x01(\x05\x12(\n\x0bvideo_codec\x18\x08 \x01(\x0e\x32\x13.livekit.VideoCodec\x12\x15\n\rvideo_bitrate\x18\t \x01(\x05\x12\x1a\n\x12key_frame_interval\x18\n \x01(\x01\x12\x19\n\raudio_quality\x18\x0b \x01(\x05\x42\x02\x18\x01\x12\x19\n\rvideo_quality\x18\x0c \x01(\x05\x42\x02\x18\x01\"\xe3\x01\n\x06Output\x12#\n\x04\x66ile\x18\x01 \x01(\x0b\x32\x13.livekit.FileOutputH\x00\x12\'\n\x06stream\x18\x02 \x01(\x0b\x32\x15.livekit.StreamOutputH\x00\x12\x30\n\x08segments\x18\x03 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputH\x00\x12&\n\x06images\x18\x04 \x01(\x0b\x32\x14.livekit.ImageOutputH\x00\x12\'\n\x07storage\x18\x06 \x01(\x0b\x32\x16.livekit.StorageConfigB\x08\n\x06\x63onfig\"e\n\nFileOutput\x12+\n\tfile_type\x18\x01 \x01(\x0e\x32\x18.livekit.EncodedFileType\x12\x10\n\x08\x66ilepath\x18\x02 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x03 \x01(\x08\"y\n\x0cStreamOutput\x12)\n\x08protocol\x18\x01 \x01(\x0e\x32\x17.livekit.StreamProtocol\x12\x0c\n\x04urls\x18\x02 \x03(\t\x12\x30\n\x0c\x64\x65stinations\x18\x03 \x03(\x0b\x32\x1a.livekit.StreamDestination\",\n\x11StreamDestination\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\"\xa0\x03\n\x13SegmentedFileOutput\x12\x30\n\x08protocol\x18\x01 \x01(\x0e\x32\x1e.livekit.SegmentedFileProtocol\x12\x17\n\x0f\x66ilename_prefix\x18\x02 \x01(\t\x12\x15\n\rplaylist_name\x18\x03 \x01(\t\x12\x1a\n\x12live_playlist_name\x18\x0b \x01(\t\x12\x18\n\x10segment_duration\x18\x04 \x01(\r\x12\x35\n\x0f\x66ilename_suffix\x18\n \x01(\x0e\x32\x1c.livekit.SegmentedFileSuffix\x12\x18\n\x10\x64isable_manifest\x18\x08 \x01(\x08\x12\x1f\n\x02s3\x18\x05 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x06 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x07 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\t \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xf8\x02\n\x0bImageOutput\x12\x18\n\x10\x63\x61pture_interval\x18\x01 \x01(\r\x12\r\n\x05width\x18\x02 \x01(\x05\x12\x0e\n\x06height\x18\x03 \x01(\x05\x12\x17\n\x0f\x66ilename_prefix\x18\x04 \x01(\t\x12\x31\n\x0f\x66ilename_suffix\x18\x05 \x01(\x0e\x32\x18.livekit.ImageFileSuffix\x12(\n\x0bimage_codec\x18\x06 \x01(\x0e\x32\x13.livekit.ImageCodec\x12\x18\n\x10\x64isable_manifest\x18\x07 \x01(\x08\x12\x1f\n\x02s3\x18\x08 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\t \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\n \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x0b \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xb3\x01\n\rStorageConfig\x12\x1f\n\x02s3\x18\x01 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x02 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x03 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x04 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\n\n\x08provider\"\xc1\x03\n\x08S3Upload\x12\x17\n\naccess_key\x18\x01 \x01(\tB\x03\xc0P\x02\x12\x13\n\x06secret\x18\x02 \x01(\tB\x03\xc0P\x02\x12\x1a\n\rsession_token\x18\x0b \x01(\tB\x03\xc0P\x02\x12\x1c\n\x0f\x61ssume_role_arn\x18\x0c \x01(\tB\x03\xc0P\x01\x12;\n\x17\x61ssume_role_external_id\x18\r \x01(\tB\x1a\xbaP\x14\x61ssumeRoleExternalID\xc0P\x02\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x05 \x01(\t\x12\x18\n\x10\x66orce_path_style\x18\x06 \x01(\x08\x12\x36\n\x08metadata\x18\x07 \x03(\x0b\x32\x1f.livekit.S3Upload.MetadataEntryB\x03\xc0P\x01\x12\x14\n\x07tagging\x18\x08 \x01(\tB\x03\xc0P\x01\x12 \n\x13\x63ontent_disposition\x18\t \x01(\tB\x03\xc0P\x01\x12#\n\x05proxy\x18\n \x01(\x0b\x32\x14.livekit.ProxyConfig\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"Z\n\tGCPUpload\x12\x18\n\x0b\x63redentials\x18\x01 \x01(\tB\x03\xc0P\x02\x12\x0e\n\x06\x62ucket\x18\x02 \x01(\t\x12#\n\x05proxy\x18\x03 \x01(\x0b\x32\x14.livekit.ProxyConfig\"^\n\x0f\x41zureBlobUpload\x12\x19\n\x0c\x61\x63\x63ount_name\x18\x01 \x01(\tB\x03\xc0P\x01\x12\x18\n\x0b\x61\x63\x63ount_key\x18\x02 \x01(\tB\x03\xc0P\x02\x12\x16\n\x0e\x63ontainer_name\x18\x03 \x01(\t\"n\n\x0c\x41liOSSUpload\x12\x17\n\naccess_key\x18\x01 \x01(\tB\x03\xc0P\x02\x12\x13\n\x06secret\x18\x02 \x01(\tB\x03\xc0P\x02\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x05 \x01(\t\"C\n\x0bProxyConfig\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x15\n\x08password\x18\x03 \x01(\tB\x03\xc0P\x02\"\x84\x01\n\x11ListEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x1e\n\tegress_id\x18\x02 \x01(\tB\x0b\xbaP\x08\x65gressID\x12\x0e\n\x06\x61\x63tive\x18\x03 \x01(\x08\x12,\n\npage_token\x18\x04 \x01(\x0b\x32\x18.livekit.TokenPagination\"k\n\x12ListEgressResponse\x12\"\n\x05items\x18\x01 \x03(\x0b\x32\x13.livekit.EgressInfo\x12\x31\n\x0fnext_page_token\x18\x02 \x01(\x0b\x32\x18.livekit.TokenPagination\"3\n\x11StopEgressRequest\x12\x1e\n\tegress_id\x18\x01 \x01(\tB\x0b\xbaP\x08\x65gressID\"\xaa\x08\n\nEgressInfo\x12\x1e\n\tegress_id\x18\x01 \x01(\tB\x0b\xbaP\x08\x65gressID\x12\x1a\n\x07room_id\x18\x02 \x01(\tB\t\xbaP\x06roomID\x12\x11\n\troom_name\x18\r \x01(\t\x12.\n\x0bsource_type\x18\x1a \x01(\x0e\x32\x19.livekit.EgressSourceType\x12%\n\x06status\x18\x03 \x01(\x0e\x32\x15.livekit.EgressStatus\x12\x12\n\nstarted_at\x18\n \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x0b \x01(\x03\x12\x12\n\nupdated_at\x18\x12 \x01(\x03\x12-\n\x06\x65gress\x18\x1d \x01(\x0b\x32\x1b.livekit.StartEgressRequestH\x00\x12.\n\x06replay\x18\x1e \x01(\x0b\x32\x1c.livekit.ExportReplayRequestH\x00\x12=\n\x0eroom_composite\x18\x04 \x01(\x0b\x32#.livekit.RoomCompositeEgressRequestH\x00\x12(\n\x03web\x18\x0e \x01(\x0b\x32\x19.livekit.WebEgressRequestH\x00\x12\x38\n\x0bparticipant\x18\x13 \x01(\x0b\x32!.livekit.ParticipantEgressRequestH\x00\x12?\n\x0ftrack_composite\x18\x05 \x01(\x0b\x32$.livekit.TrackCompositeEgressRequestH\x00\x12,\n\x05track\x18\x06 \x01(\x0b\x32\x1b.livekit.TrackEgressRequestH\x00\x12+\n\x0estream_results\x18\x0f \x03(\x0b\x32\x13.livekit.StreamInfo\x12\'\n\x0c\x66ile_results\x18\x10 \x03(\x0b\x32\x11.livekit.FileInfo\x12.\n\x0fsegment_results\x18\x11 \x03(\x0b\x32\x15.livekit.SegmentsInfo\x12*\n\rimage_results\x18\x14 \x03(\x0b\x32\x13.livekit.ImagesInfo\x12\r\n\x05\x65rror\x18\t \x01(\t\x12\x12\n\nerror_code\x18\x16 \x01(\x05\x12\x0f\n\x07\x64\x65tails\x18\x15 \x01(\t\x12\x19\n\x11manifest_location\x18\x17 \x01(\t\x12\x1b\n\x13\x62\x61\x63kup_storage_used\x18\x19 \x01(\x08\x12\x13\n\x0bretry_count\x18\x1b \x01(\x05\x12-\n\x06stream\x18\x07 \x01(\x0b\x32\x17.livekit.StreamInfoListB\x02\x18\x01H\x01\x12%\n\x04\x66ile\x18\x08 \x01(\x0b\x32\x11.livekit.FileInfoB\x02\x18\x01H\x01\x12-\n\x08segments\x18\x0c \x01(\x0b\x32\x15.livekit.SegmentsInfoB\x02\x18\x01H\x01\x42\t\n\x07requestB\x08\n\x06result\"\xf0\x01\n\nStreamInfo\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\x12\x10\n\x08\x64uration\x18\x04 \x01(\x03\x12*\n\x06status\x18\x05 \x01(\x0e\x32\x1a.livekit.StreamInfo.Status\x12\r\n\x05\x65rror\x18\x06 \x01(\t\x12\x15\n\rlast_retry_at\x18\x07 \x01(\x03\x12\x0f\n\x07retries\x18\x08 \x01(\r\x12\n\n\x02id\x18\t \x01(\t\".\n\x06Status\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\x0c\n\x08\x46INISHED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\"t\n\x08\x46ileInfo\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\x12\x10\n\x08\x64uration\x18\x06 \x01(\x03\x12\x0c\n\x04size\x18\x04 \x01(\x03\x12\x10\n\x08location\x18\x05 \x01(\t\"\xd9\x01\n\x0cSegmentsInfo\x12\x15\n\rplaylist_name\x18\x01 \x01(\t\x12\x1a\n\x12live_playlist_name\x18\x08 \x01(\t\x12\x10\n\x08\x64uration\x18\x02 \x01(\x03\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x19\n\x11playlist_location\x18\x04 \x01(\t\x12\x1e\n\x16live_playlist_location\x18\t \x01(\t\x12\x15\n\rsegment_count\x18\x05 \x01(\x03\x12\x12\n\nstarted_at\x18\x06 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x07 \x01(\x03\"`\n\nImagesInfo\x12\x17\n\x0f\x66ilename_prefix\x18\x04 \x01(\t\x12\x13\n\x0bimage_count\x18\x01 \x01(\x03\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\"\xeb\x01\n\x15\x41utoParticipantEgress\x12\x30\n\x06preset\x18\x01 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x00\x12,\n\x08\x61\x64vanced\x18\x02 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x00\x12\x30\n\x0c\x66ile_outputs\x18\x03 \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12\x35\n\x0fsegment_outputs\x18\x04 \x03(\x0b\x32\x1c.livekit.SegmentedFileOutputB\t\n\x07options\"\xdf\x01\n\x0f\x41utoTrackEgress\x12\x10\n\x08\x66ilepath\x18\x01 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x05 \x01(\x08\x12\x1f\n\x02s3\x18\x02 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x03 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x04 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x06 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xc7\x03\n\x13\x45xportReplayRequest\x12\x1e\n\treplay_id\x18\x01 \x01(\tB\x0b\xbaP\x08replayID\x12\x17\n\x0fstart_offset_ms\x18\x02 \x01(\x03\x12\x15\n\rend_offset_ms\x18\x03 \x01(\x03\x12+\n\x08template\x18\x04 \x01(\x0b\x32\x17.livekit.TemplateSourceH\x00\x12!\n\x03web\x18\x05 \x01(\x0b\x32\x12.livekit.WebSourceH\x00\x12%\n\x05media\x18\x06 \x01(\x0b\x32\x14.livekit.MediaSourceH\x00\x12\x30\n\x06preset\x18\x07 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x08 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12 \n\x07outputs\x18\t \x03(\x0b\x32\x0f.livekit.Output\x12\'\n\x07storage\x18\n \x01(\x0b\x32\x16.livekit.StorageConfig\x12(\n\x08webhooks\x18\x0b \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06sourceB\n\n\x08\x65ncoding\"\xa3\x05\n\x1aRoomCompositeEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x0e\n\x06layout\x18\x02 \x01(\t\x12\x12\n\naudio_only\x18\x03 \x01(\x08\x12*\n\x0c\x61udio_mixing\x18\x0f \x01(\x0e\x32\x14.livekit.AudioMixing\x12\x12\n\nvideo_only\x18\x04 \x01(\x08\x12\x17\n\x0f\x63ustom_base_url\x18\x05 \x01(\t\x12.\n\x04\x66ile\x18\x06 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x07 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\n \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x08 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\t \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\x0b \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x0c \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\r \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\x0e \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x10 \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xda\x04\n\x10WebEgressRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\naudio_only\x18\x02 \x01(\x08\x12\x12\n\nvideo_only\x18\x03 \x01(\x08\x12\x1a\n\x12\x61wait_start_signal\x18\x0c \x01(\x08\x12.\n\x04\x66ile\x18\x04 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x05 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\x06 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x07 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x08 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\t \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\n \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\x0b \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\r \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x0e \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xaf\x03\n\x18ParticipantEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x14\n\x0cscreen_share\x18\x03 \x01(\x08\x12\x30\n\x06preset\x18\x04 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x00\x12,\n\x08\x61\x64vanced\x18\x05 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x00\x12\x30\n\x0c\x66ile_outputs\x18\x06 \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x07 \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\x08 \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\t \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\n \x03(\x0b\x32\x16.livekit.WebhookConfigB\t\n\x07options\"\xf9\x04\n\x1bTrackCompositeEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\'\n\x0e\x61udio_track_id\x18\x02 \x01(\tB\x0f\xbaP\x0c\x61udioTrackID\x12\'\n\x0evideo_track_id\x18\x03 \x01(\tB\x0f\xbaP\x0cvideoTrackID\x12.\n\x04\x66ile\x18\x04 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x05 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\x08 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x06 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x07 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\x0b \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x0c \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\r \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\x0e \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x0f \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xbd\x01\n\x12TrackEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x1c\n\x08track_id\x18\x02 \x01(\tB\n\xbaP\x07trackID\x12)\n\x04\x66ile\x18\x03 \x01(\x0b\x32\x19.livekit.DirectFileOutputH\x00\x12\x17\n\rwebsocket_url\x18\x04 \x01(\tH\x00\x12(\n\x08webhooks\x18\x05 \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06output\"\xe0\x01\n\x10\x44irectFileOutput\x12\x10\n\x08\x66ilepath\x18\x01 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x05 \x01(\x08\x12\x1f\n\x02s3\x18\x02 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x03 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x04 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x06 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\x8e\x02\n\x11\x45ncodedFileOutput\x12+\n\tfile_type\x18\x01 \x01(\x0e\x32\x18.livekit.EncodedFileType\x12\x10\n\x08\x66ilepath\x18\x02 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x06 \x01(\x08\x12\x1f\n\x02s3\x18\x03 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x04 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x05 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x07 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"E\n\x13UpdateLayoutRequest\x12\x1e\n\tegress_id\x18\x01 \x01(\tB\x0b\xbaP\x08\x65gressID\x12\x0e\n\x06layout\x18\x02 \x01(\t\"\xa0\x01\n\x13UpdateStreamRequest\x12\x1e\n\tegress_id\x18\x01 \x01(\tB\x0b\xbaP\x08\x65gressID\x12\x17\n\x0f\x61\x64\x64_output_urls\x18\x02 \x03(\t\x12\x1a\n\x12remove_output_urls\x18\x03 \x03(\t\x12\x34\n\x10\x61\x64\x64_destinations\x18\x04 \x03(\x0b\x32\x1a.livekit.StreamDestination\"3\n\x0eStreamInfoList\x12!\n\x04info\x18\x01 \x03(\x0b\x32\x13.livekit.StreamInfo*W\n\x0c\x41udioChannel\x12\x16\n\x12\x41UDIO_CHANNEL_BOTH\x10\x00\x12\x16\n\x12\x41UDIO_CHANNEL_LEFT\x10\x01\x12\x17\n\x13\x41UDIO_CHANNEL_RIGHT\x10\x02*\xe0\x01\n\x15\x45ncodingOptionsPreset\x12\x10\n\x0cH264_720P_30\x10\x00\x12\x10\n\x0cH264_720P_60\x10\x01\x12\x11\n\rH264_1080P_30\x10\x02\x12\x11\n\rH264_1080P_60\x10\x03\x12\x19\n\x15PORTRAIT_H264_720P_30\x10\x04\x12\x19\n\x15PORTRAIT_H264_720P_60\x10\x05\x12\x1a\n\x16PORTRAIT_H264_1080P_30\x10\x06\x12\x1a\n\x16PORTRAIT_H264_1080P_60\x10\x07\x12\x0f\n\x0bPASSTHROUGH\x10\x08*B\n\x0f\x45ncodedFileType\x12\x14\n\x10\x44\x45\x46\x41ULT_FILETYPE\x10\x00\x12\x07\n\x03MP4\x10\x01\x12\x07\n\x03OGG\x10\x02\x12\x07\n\x03MP3\x10\x03*H\n\x0eStreamProtocol\x12\x14\n\x10\x44\x45\x46\x41ULT_PROTOCOL\x10\x00\x12\x08\n\x04RTMP\x10\x01\x12\x07\n\x03SRT\x10\x02\x12\r\n\tWEBSOCKET\x10\x03*e\n\x15SegmentedFileProtocol\x12#\n\x1f\x44\x45\x46\x41ULT_SEGMENTED_FILE_PROTOCOL\x10\x00\x12\x10\n\x0cHLS_PROTOCOL\x10\x01\x12\x15\n\x11HLS_FMP4_PROTOCOL\x10\x02*/\n\x13SegmentedFileSuffix\x12\t\n\x05INDEX\x10\x00\x12\r\n\tTIMESTAMP\x10\x01*f\n\x0fImageFileSuffix\x12\x16\n\x12IMAGE_SUFFIX_INDEX\x10\x00\x12\x1a\n\x16IMAGE_SUFFIX_TIMESTAMP\x10\x01\x12\x1f\n\x1bIMAGE_SUFFIX_NONE_OVERWRITE\x10\x02*J\n\x10\x45gressSourceType\x12\x1a\n\x16\x45GRESS_SOURCE_TYPE_WEB\x10\x00\x12\x1a\n\x16\x45GRESS_SOURCE_TYPE_SDK\x10\x01*\x9f\x01\n\x0c\x45gressStatus\x12\x13\n\x0f\x45GRESS_STARTING\x10\x00\x12\x11\n\rEGRESS_ACTIVE\x10\x01\x12\x11\n\rEGRESS_ENDING\x10\x02\x12\x13\n\x0f\x45GRESS_COMPLETE\x10\x03\x12\x11\n\rEGRESS_FAILED\x10\x04\x12\x12\n\x0e\x45GRESS_ABORTED\x10\x05\x12\x18\n\x14\x45GRESS_LIMIT_REACHED\x10\x06*U\n\x0b\x41udioMixing\x12\x12\n\x0e\x44\x45\x46\x41ULT_MIXING\x10\x00\x12\x16\n\x12\x44UAL_CHANNEL_AGENT\x10\x01\x12\x1a\n\x16\x44UAL_CHANNEL_ALTERNATE\x10\x02\x32\xdd\x05\n\x06\x45gress\x12?\n\x0bStartEgress\x12\x1b.livekit.StartEgressRequest\x1a\x13.livekit.EgressInfo\x12\x41\n\x0cUpdateLayout\x12\x1c.livekit.UpdateLayoutRequest\x1a\x13.livekit.EgressInfo\x12\x41\n\x0cUpdateStream\x12\x1c.livekit.UpdateStreamRequest\x1a\x13.livekit.EgressInfo\x12\x45\n\nListEgress\x12\x1a.livekit.ListEgressRequest\x1a\x1b.livekit.ListEgressResponse\x12=\n\nStopEgress\x12\x1a.livekit.StopEgressRequest\x1a\x13.livekit.EgressInfo\x12T\n\x18StartRoomCompositeEgress\x12#.livekit.RoomCompositeEgressRequest\x1a\x13.livekit.EgressInfo\x12@\n\x0eStartWebEgress\x12\x19.livekit.WebEgressRequest\x1a\x13.livekit.EgressInfo\x12P\n\x16StartParticipantEgress\x12!.livekit.ParticipantEgressRequest\x1a\x13.livekit.EgressInfo\x12V\n\x19StartTrackCompositeEgress\x12$.livekit.TrackCompositeEgressRequest\x1a\x13.livekit.EgressInfo\x12\x44\n\x10StartTrackEgress\x12\x1b.livekit.TrackEgressRequest\x1a\x13.livekit.EgressInfoBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14livekit_egress.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14logger/options.proto\"\x89\x03\n\x12StartEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12+\n\x08template\x18\x02 \x01(\x0b\x32\x17.livekit.TemplateSourceH\x00\x12!\n\x03web\x18\x03 \x01(\x0b\x32\x12.livekit.WebSourceH\x00\x12%\n\x05media\x18\x04 \x01(\x0b\x32\x14.livekit.MediaSourceH\x00\x12\x30\n\x06preset\x18\x05 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x06 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12 \n\x07outputs\x18\x07 \x03(\x0b\x32\x0f.livekit.Output\x12\'\n\x07storage\x18\x08 \x01(\x0b\x32\x16.livekit.StorageConfig\x12(\n\x08webhooks\x18\t \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06sourceB\n\n\x08\x65ncoding\"a\n\x0eTemplateSource\x12\x0e\n\x06layout\x18\x01 \x01(\t\x12\x12\n\naudio_only\x18\x02 \x01(\x08\x12\x12\n\nvideo_only\x18\x03 \x01(\x08\x12\x17\n\x0f\x63ustom_base_url\x18\x04 \x01(\t\"\\\n\tWebSource\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\naudio_only\x18\x02 \x01(\x08\x12\x12\n\nvideo_only\x18\x03 \x01(\x08\x12\x1a\n\x12\x61wait_start_signal\x18\x04 \x01(\x08\"\xe9\x01\n\x0bMediaSource\x12)\n\x0evideo_track_id\x18\x01 \x01(\tB\x0f\xbaP\x0cvideoTrackIDH\x00\x12\x36\n\x11participant_video\x18\x02 \x01(\x0b\x32\x19.livekit.ParticipantVideoH\x00\x12&\n\x06videos\x18\x05 \x01(\x0b\x32\x14.livekit.VideoConfigH\x00\x12#\n\x05\x61udio\x18\x03 \x01(\x0b\x32\x14.livekit.AudioConfig\x12!\n\x04\x64\x61ta\x18\x04 \x01(\x0b\x32\x13.livekit.DataConfigB\x07\n\x05video\"A\n\x10ParticipantVideo\x12\x10\n\x08identity\x18\x01 \x01(\t\x12\x1b\n\x13prefer_screen_share\x18\x02 \x01(\x08\"M\n\x0bVideoConfig\x12\x13\n\x0b\x63\x61pture_all\x18\x01 \x01(\x08\x12)\n\tselectors\x18\x02 \x03(\x0b\x32\x16.livekit.VideoSelector\"}\n\rVideoSelector\x12\x1e\n\x08track_id\x18\x01 \x01(\tB\n\xbaP\x07trackIDH\x00\x12\x1e\n\x14participant_identity\x18\x02 \x01(\tH\x00\x12\x12\n\ntrack_name\x18\x03 \x01(\t\x12\x0f\n\x07\x65xclude\x18\x04 \x01(\x08\x42\x07\n\x05match\"G\n\x0b\x41udioConfig\x12\x13\n\x0b\x63\x61pture_all\x18\x01 \x01(\x08\x12#\n\x06routes\x18\x02 \x03(\x0b\x32\x13.livekit.AudioRoute\"\xdd\x01\n\nAudioRoute\x12\x1e\n\x08track_id\x18\x01 \x01(\tB\n\xbaP\x07trackIDH\x00\x12\x1e\n\x14participant_identity\x18\x02 \x01(\tH\x00\x12\x39\n\x10participant_kind\x18\x03 \x01(\x0e\x32\x1d.livekit.ParticipantInfo.KindH\x00\x12\x12\n\ntrack_name\x18\x05 \x01(\t\x12\x0f\n\x07\x65xclude\x18\x06 \x01(\x08\x12&\n\x07\x63hannel\x18\x04 \x01(\x0e\x32\x15.livekit.AudioChannelB\x07\n\x05match\"K\n\nDataConfig\x12\x13\n\x0b\x63\x61pture_all\x18\x01 \x01(\x08\x12(\n\tselectors\x18\x02 \x03(\x0b\x32\x15.livekit.DataSelector\"|\n\x0c\x44\x61taSelector\x12\x1e\n\x08track_id\x18\x01 \x01(\tB\n\xbaP\x07trackIDH\x00\x12\x1e\n\x14participant_identity\x18\x02 \x01(\tH\x00\x12\x12\n\ntrack_name\x18\x03 \x01(\t\x12\x0f\n\x07\x65xclude\x18\x04 \x01(\x08\x42\x07\n\x05match\"\xbf\x02\n\x0f\x45ncodingOptions\x12\r\n\x05width\x18\x01 \x01(\x05\x12\x0e\n\x06height\x18\x02 \x01(\x05\x12\r\n\x05\x64\x65pth\x18\x03 \x01(\x05\x12\x11\n\tframerate\x18\x04 \x01(\x05\x12(\n\x0b\x61udio_codec\x18\x05 \x01(\x0e\x32\x13.livekit.AudioCodec\x12\x15\n\raudio_bitrate\x18\x06 \x01(\x05\x12\x17\n\x0f\x61udio_frequency\x18\x07 \x01(\x05\x12(\n\x0bvideo_codec\x18\x08 \x01(\x0e\x32\x13.livekit.VideoCodec\x12\x15\n\rvideo_bitrate\x18\t \x01(\x05\x12\x1a\n\x12key_frame_interval\x18\n \x01(\x01\x12\x19\n\raudio_quality\x18\x0b \x01(\x05\x42\x02\x18\x01\x12\x19\n\rvideo_quality\x18\x0c \x01(\x05\x42\x02\x18\x01\"\xe3\x01\n\x06Output\x12#\n\x04\x66ile\x18\x01 \x01(\x0b\x32\x13.livekit.FileOutputH\x00\x12\'\n\x06stream\x18\x02 \x01(\x0b\x32\x15.livekit.StreamOutputH\x00\x12\x30\n\x08segments\x18\x03 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputH\x00\x12&\n\x06images\x18\x04 \x01(\x0b\x32\x14.livekit.ImageOutputH\x00\x12\'\n\x07storage\x18\x06 \x01(\x0b\x32\x16.livekit.StorageConfigB\x08\n\x06\x63onfig\"e\n\nFileOutput\x12+\n\tfile_type\x18\x01 \x01(\x0e\x32\x18.livekit.EncodedFileType\x12\x10\n\x08\x66ilepath\x18\x02 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x03 \x01(\x08\"y\n\x0cStreamOutput\x12)\n\x08protocol\x18\x01 \x01(\x0e\x32\x17.livekit.StreamProtocol\x12\x0c\n\x04urls\x18\x02 \x03(\t\x12\x30\n\x0c\x64\x65stinations\x18\x03 \x03(\x0b\x32\x1a.livekit.StreamDestination\",\n\x11StreamDestination\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\"\xa0\x03\n\x13SegmentedFileOutput\x12\x30\n\x08protocol\x18\x01 \x01(\x0e\x32\x1e.livekit.SegmentedFileProtocol\x12\x17\n\x0f\x66ilename_prefix\x18\x02 \x01(\t\x12\x15\n\rplaylist_name\x18\x03 \x01(\t\x12\x1a\n\x12live_playlist_name\x18\x0b \x01(\t\x12\x18\n\x10segment_duration\x18\x04 \x01(\r\x12\x35\n\x0f\x66ilename_suffix\x18\n \x01(\x0e\x32\x1c.livekit.SegmentedFileSuffix\x12\x18\n\x10\x64isable_manifest\x18\x08 \x01(\x08\x12\x1f\n\x02s3\x18\x05 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x06 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x07 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\t \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xf8\x02\n\x0bImageOutput\x12\x18\n\x10\x63\x61pture_interval\x18\x01 \x01(\r\x12\r\n\x05width\x18\x02 \x01(\x05\x12\x0e\n\x06height\x18\x03 \x01(\x05\x12\x17\n\x0f\x66ilename_prefix\x18\x04 \x01(\t\x12\x31\n\x0f\x66ilename_suffix\x18\x05 \x01(\x0e\x32\x18.livekit.ImageFileSuffix\x12(\n\x0bimage_codec\x18\x06 \x01(\x0e\x32\x13.livekit.ImageCodec\x12\x18\n\x10\x64isable_manifest\x18\x07 \x01(\x08\x12\x1f\n\x02s3\x18\x08 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\t \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\n \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x0b \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xb3\x01\n\rStorageConfig\x12\x1f\n\x02s3\x18\x01 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x02 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x03 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x04 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\n\n\x08provider\"\xc1\x03\n\x08S3Upload\x12\x17\n\naccess_key\x18\x01 \x01(\tB\x03\xc0P\x02\x12\x13\n\x06secret\x18\x02 \x01(\tB\x03\xc0P\x02\x12\x1a\n\rsession_token\x18\x0b \x01(\tB\x03\xc0P\x02\x12\x1c\n\x0f\x61ssume_role_arn\x18\x0c \x01(\tB\x03\xc0P\x01\x12;\n\x17\x61ssume_role_external_id\x18\r \x01(\tB\x1a\xbaP\x14\x61ssumeRoleExternalID\xc0P\x02\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x05 \x01(\t\x12\x18\n\x10\x66orce_path_style\x18\x06 \x01(\x08\x12\x36\n\x08metadata\x18\x07 \x03(\x0b\x32\x1f.livekit.S3Upload.MetadataEntryB\x03\xc0P\x01\x12\x14\n\x07tagging\x18\x08 \x01(\tB\x03\xc0P\x01\x12 \n\x13\x63ontent_disposition\x18\t \x01(\tB\x03\xc0P\x01\x12#\n\x05proxy\x18\n \x01(\x0b\x32\x14.livekit.ProxyConfig\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"Z\n\tGCPUpload\x12\x18\n\x0b\x63redentials\x18\x01 \x01(\tB\x03\xc0P\x02\x12\x0e\n\x06\x62ucket\x18\x02 \x01(\t\x12#\n\x05proxy\x18\x03 \x01(\x0b\x32\x14.livekit.ProxyConfig\"^\n\x0f\x41zureBlobUpload\x12\x19\n\x0c\x61\x63\x63ount_name\x18\x01 \x01(\tB\x03\xc0P\x01\x12\x18\n\x0b\x61\x63\x63ount_key\x18\x02 \x01(\tB\x03\xc0P\x02\x12\x16\n\x0e\x63ontainer_name\x18\x03 \x01(\t\"n\n\x0c\x41liOSSUpload\x12\x17\n\naccess_key\x18\x01 \x01(\tB\x03\xc0P\x02\x12\x13\n\x06secret\x18\x02 \x01(\tB\x03\xc0P\x02\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x05 \x01(\t\"C\n\x0bProxyConfig\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x15\n\x08password\x18\x03 \x01(\tB\x03\xc0P\x02\"\x84\x01\n\x11ListEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x1e\n\tegress_id\x18\x02 \x01(\tB\x0b\xbaP\x08\x65gressID\x12\x0e\n\x06\x61\x63tive\x18\x03 \x01(\x08\x12,\n\npage_token\x18\x04 \x01(\x0b\x32\x18.livekit.TokenPagination\"k\n\x12ListEgressResponse\x12\"\n\x05items\x18\x01 \x03(\x0b\x32\x13.livekit.EgressInfo\x12\x31\n\x0fnext_page_token\x18\x02 \x01(\x0b\x32\x18.livekit.TokenPagination\"3\n\x11StopEgressRequest\x12\x1e\n\tegress_id\x18\x01 \x01(\tB\x0b\xbaP\x08\x65gressID\"\xaa\x08\n\nEgressInfo\x12\x1e\n\tegress_id\x18\x01 \x01(\tB\x0b\xbaP\x08\x65gressID\x12\x1a\n\x07room_id\x18\x02 \x01(\tB\t\xbaP\x06roomID\x12\x11\n\troom_name\x18\r \x01(\t\x12.\n\x0bsource_type\x18\x1a \x01(\x0e\x32\x19.livekit.EgressSourceType\x12%\n\x06status\x18\x03 \x01(\x0e\x32\x15.livekit.EgressStatus\x12\x12\n\nstarted_at\x18\n \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x0b \x01(\x03\x12\x12\n\nupdated_at\x18\x12 \x01(\x03\x12-\n\x06\x65gress\x18\x1d \x01(\x0b\x32\x1b.livekit.StartEgressRequestH\x00\x12.\n\x06replay\x18\x1e \x01(\x0b\x32\x1c.livekit.ExportReplayRequestH\x00\x12=\n\x0eroom_composite\x18\x04 \x01(\x0b\x32#.livekit.RoomCompositeEgressRequestH\x00\x12(\n\x03web\x18\x0e \x01(\x0b\x32\x19.livekit.WebEgressRequestH\x00\x12\x38\n\x0bparticipant\x18\x13 \x01(\x0b\x32!.livekit.ParticipantEgressRequestH\x00\x12?\n\x0ftrack_composite\x18\x05 \x01(\x0b\x32$.livekit.TrackCompositeEgressRequestH\x00\x12,\n\x05track\x18\x06 \x01(\x0b\x32\x1b.livekit.TrackEgressRequestH\x00\x12+\n\x0estream_results\x18\x0f \x03(\x0b\x32\x13.livekit.StreamInfo\x12\'\n\x0c\x66ile_results\x18\x10 \x03(\x0b\x32\x11.livekit.FileInfo\x12.\n\x0fsegment_results\x18\x11 \x03(\x0b\x32\x15.livekit.SegmentsInfo\x12*\n\rimage_results\x18\x14 \x03(\x0b\x32\x13.livekit.ImagesInfo\x12\r\n\x05\x65rror\x18\t \x01(\t\x12\x12\n\nerror_code\x18\x16 \x01(\x05\x12\x0f\n\x07\x64\x65tails\x18\x15 \x01(\t\x12\x19\n\x11manifest_location\x18\x17 \x01(\t\x12\x1b\n\x13\x62\x61\x63kup_storage_used\x18\x19 \x01(\x08\x12\x13\n\x0bretry_count\x18\x1b \x01(\x05\x12-\n\x06stream\x18\x07 \x01(\x0b\x32\x17.livekit.StreamInfoListB\x02\x18\x01H\x01\x12%\n\x04\x66ile\x18\x08 \x01(\x0b\x32\x11.livekit.FileInfoB\x02\x18\x01H\x01\x12-\n\x08segments\x18\x0c \x01(\x0b\x32\x15.livekit.SegmentsInfoB\x02\x18\x01H\x01\x42\t\n\x07requestB\x08\n\x06result\"\xf0\x01\n\nStreamInfo\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\x12\x10\n\x08\x64uration\x18\x04 \x01(\x03\x12*\n\x06status\x18\x05 \x01(\x0e\x32\x1a.livekit.StreamInfo.Status\x12\r\n\x05\x65rror\x18\x06 \x01(\t\x12\x15\n\rlast_retry_at\x18\x07 \x01(\x03\x12\x0f\n\x07retries\x18\x08 \x01(\r\x12\n\n\x02id\x18\t \x01(\t\".\n\x06Status\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\x0c\n\x08\x46INISHED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\"t\n\x08\x46ileInfo\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\x12\x10\n\x08\x64uration\x18\x06 \x01(\x03\x12\x0c\n\x04size\x18\x04 \x01(\x03\x12\x10\n\x08location\x18\x05 \x01(\t\"\xd9\x01\n\x0cSegmentsInfo\x12\x15\n\rplaylist_name\x18\x01 \x01(\t\x12\x1a\n\x12live_playlist_name\x18\x08 \x01(\t\x12\x10\n\x08\x64uration\x18\x02 \x01(\x03\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x19\n\x11playlist_location\x18\x04 \x01(\t\x12\x1e\n\x16live_playlist_location\x18\t \x01(\t\x12\x15\n\rsegment_count\x18\x05 \x01(\x03\x12\x12\n\nstarted_at\x18\x06 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x07 \x01(\x03\"`\n\nImagesInfo\x12\x17\n\x0f\x66ilename_prefix\x18\x04 \x01(\t\x12\x13\n\x0bimage_count\x18\x01 \x01(\x03\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\"\xeb\x01\n\x15\x41utoParticipantEgress\x12\x30\n\x06preset\x18\x01 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x00\x12,\n\x08\x61\x64vanced\x18\x02 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x00\x12\x30\n\x0c\x66ile_outputs\x18\x03 \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12\x35\n\x0fsegment_outputs\x18\x04 \x03(\x0b\x32\x1c.livekit.SegmentedFileOutputB\t\n\x07options\"\xdf\x01\n\x0f\x41utoTrackEgress\x12\x10\n\x08\x66ilepath\x18\x01 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x05 \x01(\x08\x12\x1f\n\x02s3\x18\x02 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x03 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x04 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x06 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xc7\x03\n\x13\x45xportReplayRequest\x12\x1e\n\treplay_id\x18\x01 \x01(\tB\x0b\xbaP\x08replayID\x12\x17\n\x0fstart_offset_ms\x18\x02 \x01(\x03\x12\x15\n\rend_offset_ms\x18\x03 \x01(\x03\x12+\n\x08template\x18\x04 \x01(\x0b\x32\x17.livekit.TemplateSourceH\x00\x12!\n\x03web\x18\x05 \x01(\x0b\x32\x12.livekit.WebSourceH\x00\x12%\n\x05media\x18\x06 \x01(\x0b\x32\x14.livekit.MediaSourceH\x00\x12\x30\n\x06preset\x18\x07 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x08 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12 \n\x07outputs\x18\t \x03(\x0b\x32\x0f.livekit.Output\x12\'\n\x07storage\x18\n \x01(\x0b\x32\x16.livekit.StorageConfig\x12(\n\x08webhooks\x18\x0b \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06sourceB\n\n\x08\x65ncoding\"\xa3\x05\n\x1aRoomCompositeEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x0e\n\x06layout\x18\x02 \x01(\t\x12\x12\n\naudio_only\x18\x03 \x01(\x08\x12*\n\x0c\x61udio_mixing\x18\x0f \x01(\x0e\x32\x14.livekit.AudioMixing\x12\x12\n\nvideo_only\x18\x04 \x01(\x08\x12\x17\n\x0f\x63ustom_base_url\x18\x05 \x01(\t\x12.\n\x04\x66ile\x18\x06 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x07 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\n \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x08 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\t \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\x0b \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x0c \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\r \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\x0e \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x10 \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xda\x04\n\x10WebEgressRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\naudio_only\x18\x02 \x01(\x08\x12\x12\n\nvideo_only\x18\x03 \x01(\x08\x12\x1a\n\x12\x61wait_start_signal\x18\x0c \x01(\x08\x12.\n\x04\x66ile\x18\x04 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x05 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\x06 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x07 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x08 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\t \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\n \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\x0b \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\r \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x0e \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xaf\x03\n\x18ParticipantEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x14\n\x0cscreen_share\x18\x03 \x01(\x08\x12\x30\n\x06preset\x18\x04 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x00\x12,\n\x08\x61\x64vanced\x18\x05 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x00\x12\x30\n\x0c\x66ile_outputs\x18\x06 \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x07 \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\x08 \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\t \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\n \x03(\x0b\x32\x16.livekit.WebhookConfigB\t\n\x07options\"\xf9\x04\n\x1bTrackCompositeEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\'\n\x0e\x61udio_track_id\x18\x02 \x01(\tB\x0f\xbaP\x0c\x61udioTrackID\x12\'\n\x0evideo_track_id\x18\x03 \x01(\tB\x0f\xbaP\x0cvideoTrackID\x12.\n\x04\x66ile\x18\x04 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x05 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\x08 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x06 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x07 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\x0b \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x0c \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\r \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\x0e \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x0f \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xbd\x01\n\x12TrackEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x1c\n\x08track_id\x18\x02 \x01(\tB\n\xbaP\x07trackID\x12)\n\x04\x66ile\x18\x03 \x01(\x0b\x32\x19.livekit.DirectFileOutputH\x00\x12\x17\n\rwebsocket_url\x18\x04 \x01(\tH\x00\x12(\n\x08webhooks\x18\x05 \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06output\"\xe0\x01\n\x10\x44irectFileOutput\x12\x10\n\x08\x66ilepath\x18\x01 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x05 \x01(\x08\x12\x1f\n\x02s3\x18\x02 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x03 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x04 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x06 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\x8e\x02\n\x11\x45ncodedFileOutput\x12+\n\tfile_type\x18\x01 \x01(\x0e\x32\x18.livekit.EncodedFileType\x12\x10\n\x08\x66ilepath\x18\x02 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x06 \x01(\x08\x12\x1f\n\x02s3\x18\x03 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x04 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x05 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x07 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"E\n\x13UpdateLayoutRequest\x12\x1e\n\tegress_id\x18\x01 \x01(\tB\x0b\xbaP\x08\x65gressID\x12\x0e\n\x06layout\x18\x02 \x01(\t\"\xa0\x01\n\x13UpdateStreamRequest\x12\x1e\n\tegress_id\x18\x01 \x01(\tB\x0b\xbaP\x08\x65gressID\x12\x17\n\x0f\x61\x64\x64_output_urls\x18\x02 \x03(\t\x12\x1a\n\x12remove_output_urls\x18\x03 \x03(\t\x12\x34\n\x10\x61\x64\x64_destinations\x18\x04 \x03(\x0b\x32\x1a.livekit.StreamDestination\"3\n\x0eStreamInfoList\x12!\n\x04info\x18\x01 \x03(\x0b\x32\x13.livekit.StreamInfo*W\n\x0c\x41udioChannel\x12\x16\n\x12\x41UDIO_CHANNEL_BOTH\x10\x00\x12\x16\n\x12\x41UDIO_CHANNEL_LEFT\x10\x01\x12\x17\n\x13\x41UDIO_CHANNEL_RIGHT\x10\x02*\xe0\x01\n\x15\x45ncodingOptionsPreset\x12\x10\n\x0cH264_720P_30\x10\x00\x12\x10\n\x0cH264_720P_60\x10\x01\x12\x11\n\rH264_1080P_30\x10\x02\x12\x11\n\rH264_1080P_60\x10\x03\x12\x19\n\x15PORTRAIT_H264_720P_30\x10\x04\x12\x19\n\x15PORTRAIT_H264_720P_60\x10\x05\x12\x1a\n\x16PORTRAIT_H264_1080P_30\x10\x06\x12\x1a\n\x16PORTRAIT_H264_1080P_60\x10\x07\x12\x0f\n\x0bPASSTHROUGH\x10\x08*L\n\x0f\x45ncodedFileType\x12\x14\n\x10\x44\x45\x46\x41ULT_FILETYPE\x10\x00\x12\x07\n\x03MP4\x10\x01\x12\x07\n\x03OGG\x10\x02\x12\x07\n\x03MP3\x10\x03\x12\x08\n\x04MCAP\x10\x04*H\n\x0eStreamProtocol\x12\x14\n\x10\x44\x45\x46\x41ULT_PROTOCOL\x10\x00\x12\x08\n\x04RTMP\x10\x01\x12\x07\n\x03SRT\x10\x02\x12\r\n\tWEBSOCKET\x10\x03*e\n\x15SegmentedFileProtocol\x12#\n\x1f\x44\x45\x46\x41ULT_SEGMENTED_FILE_PROTOCOL\x10\x00\x12\x10\n\x0cHLS_PROTOCOL\x10\x01\x12\x15\n\x11HLS_FMP4_PROTOCOL\x10\x02*/\n\x13SegmentedFileSuffix\x12\t\n\x05INDEX\x10\x00\x12\r\n\tTIMESTAMP\x10\x01*f\n\x0fImageFileSuffix\x12\x16\n\x12IMAGE_SUFFIX_INDEX\x10\x00\x12\x1a\n\x16IMAGE_SUFFIX_TIMESTAMP\x10\x01\x12\x1f\n\x1bIMAGE_SUFFIX_NONE_OVERWRITE\x10\x02*J\n\x10\x45gressSourceType\x12\x1a\n\x16\x45GRESS_SOURCE_TYPE_WEB\x10\x00\x12\x1a\n\x16\x45GRESS_SOURCE_TYPE_SDK\x10\x01*\x9f\x01\n\x0c\x45gressStatus\x12\x13\n\x0f\x45GRESS_STARTING\x10\x00\x12\x11\n\rEGRESS_ACTIVE\x10\x01\x12\x11\n\rEGRESS_ENDING\x10\x02\x12\x13\n\x0f\x45GRESS_COMPLETE\x10\x03\x12\x11\n\rEGRESS_FAILED\x10\x04\x12\x12\n\x0e\x45GRESS_ABORTED\x10\x05\x12\x18\n\x14\x45GRESS_LIMIT_REACHED\x10\x06*U\n\x0b\x41udioMixing\x12\x12\n\x0e\x44\x45\x46\x41ULT_MIXING\x10\x00\x12\x16\n\x12\x44UAL_CHANNEL_AGENT\x10\x01\x12\x1a\n\x16\x44UAL_CHANNEL_ALTERNATE\x10\x02\x32\xdd\x05\n\x06\x45gress\x12?\n\x0bStartEgress\x12\x1b.livekit.StartEgressRequest\x1a\x13.livekit.EgressInfo\x12\x41\n\x0cUpdateLayout\x12\x1c.livekit.UpdateLayoutRequest\x1a\x13.livekit.EgressInfo\x12\x41\n\x0cUpdateStream\x12\x1c.livekit.UpdateStreamRequest\x1a\x13.livekit.EgressInfo\x12\x45\n\nListEgress\x12\x1a.livekit.ListEgressRequest\x1a\x1b.livekit.ListEgressResponse\x12=\n\nStopEgress\x12\x1a.livekit.StopEgressRequest\x1a\x13.livekit.EgressInfo\x12T\n\x18StartRoomCompositeEgress\x12#.livekit.RoomCompositeEgressRequest\x1a\x13.livekit.EgressInfo\x12@\n\x0eStartWebEgress\x12\x19.livekit.WebEgressRequest\x1a\x13.livekit.EgressInfo\x12P\n\x16StartParticipantEgress\x12!.livekit.ParticipantEgressRequest\x1a\x13.livekit.EgressInfo\x12V\n\x19StartTrackCompositeEgress\x12$.livekit.TrackCompositeEgressRequest\x1a\x13.livekit.EgressInfo\x12\x44\n\x10StartTrackEgress\x12\x1b.livekit.TrackEgressRequest\x1a\x13.livekit.EgressInfoBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -36,6 +36,8 @@ _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' _globals['_MEDIASOURCE'].fields_by_name['video_track_id']._loaded_options = None _globals['_MEDIASOURCE'].fields_by_name['video_track_id']._serialized_options = b'\272P\014videoTrackID' + _globals['_VIDEOSELECTOR'].fields_by_name['track_id']._loaded_options = None + _globals['_VIDEOSELECTOR'].fields_by_name['track_id']._serialized_options = b'\272P\007trackID' _globals['_AUDIOROUTE'].fields_by_name['track_id']._loaded_options = None _globals['_AUDIOROUTE'].fields_by_name['track_id']._serialized_options = b'\272P\007trackID' _globals['_DATASELECTOR'].fields_by_name['track_id']._loaded_options = None @@ -118,26 +120,26 @@ _globals['_UPDATELAYOUTREQUEST'].fields_by_name['egress_id']._serialized_options = b'\272P\010egressID' _globals['_UPDATESTREAMREQUEST'].fields_by_name['egress_id']._loaded_options = None _globals['_UPDATESTREAMREQUEST'].fields_by_name['egress_id']._serialized_options = b'\272P\010egressID' - _globals['_AUDIOCHANNEL']._serialized_start=10244 - _globals['_AUDIOCHANNEL']._serialized_end=10331 - _globals['_ENCODINGOPTIONSPRESET']._serialized_start=10334 - _globals['_ENCODINGOPTIONSPRESET']._serialized_end=10558 - _globals['_ENCODEDFILETYPE']._serialized_start=10560 - _globals['_ENCODEDFILETYPE']._serialized_end=10626 - _globals['_STREAMPROTOCOL']._serialized_start=10628 - _globals['_STREAMPROTOCOL']._serialized_end=10700 - _globals['_SEGMENTEDFILEPROTOCOL']._serialized_start=10702 - _globals['_SEGMENTEDFILEPROTOCOL']._serialized_end=10803 - _globals['_SEGMENTEDFILESUFFIX']._serialized_start=10805 - _globals['_SEGMENTEDFILESUFFIX']._serialized_end=10852 - _globals['_IMAGEFILESUFFIX']._serialized_start=10854 - _globals['_IMAGEFILESUFFIX']._serialized_end=10956 - _globals['_EGRESSSOURCETYPE']._serialized_start=10958 - _globals['_EGRESSSOURCETYPE']._serialized_end=11032 - _globals['_EGRESSSTATUS']._serialized_start=11035 - _globals['_EGRESSSTATUS']._serialized_end=11194 - _globals['_AUDIOMIXING']._serialized_start=11196 - _globals['_AUDIOMIXING']._serialized_end=11281 + _globals['_AUDIOCHANNEL']._serialized_start=10599 + _globals['_AUDIOCHANNEL']._serialized_end=10686 + _globals['_ENCODINGOPTIONSPRESET']._serialized_start=10689 + _globals['_ENCODINGOPTIONSPRESET']._serialized_end=10913 + _globals['_ENCODEDFILETYPE']._serialized_start=10915 + _globals['_ENCODEDFILETYPE']._serialized_end=10991 + _globals['_STREAMPROTOCOL']._serialized_start=10993 + _globals['_STREAMPROTOCOL']._serialized_end=11065 + _globals['_SEGMENTEDFILEPROTOCOL']._serialized_start=11067 + _globals['_SEGMENTEDFILEPROTOCOL']._serialized_end=11168 + _globals['_SEGMENTEDFILESUFFIX']._serialized_start=11170 + _globals['_SEGMENTEDFILESUFFIX']._serialized_end=11217 + _globals['_IMAGEFILESUFFIX']._serialized_start=11219 + _globals['_IMAGEFILESUFFIX']._serialized_end=11321 + _globals['_EGRESSSOURCETYPE']._serialized_start=11323 + _globals['_EGRESSSOURCETYPE']._serialized_end=11397 + _globals['_EGRESSSTATUS']._serialized_start=11400 + _globals['_EGRESSSTATUS']._serialized_end=11559 + _globals['_AUDIOMIXING']._serialized_start=11561 + _globals['_AUDIOMIXING']._serialized_end=11646 _globals['_STARTEGRESSREQUEST']._serialized_start=78 _globals['_STARTEGRESSREQUEST']._serialized_end=471 _globals['_TEMPLATESOURCE']._serialized_start=473 @@ -145,89 +147,93 @@ _globals['_WEBSOURCE']._serialized_start=572 _globals['_WEBSOURCE']._serialized_end=664 _globals['_MEDIASOURCE']._serialized_start=667 - _globals['_MEDIASOURCE']._serialized_end=825 - _globals['_PARTICIPANTVIDEO']._serialized_start=827 - _globals['_PARTICIPANTVIDEO']._serialized_end=892 - _globals['_AUDIOCONFIG']._serialized_start=894 - _globals['_AUDIOCONFIG']._serialized_end=965 - _globals['_AUDIOROUTE']._serialized_start=968 - _globals['_AUDIOROUTE']._serialized_end=1152 - _globals['_DATACONFIG']._serialized_start=1154 - _globals['_DATACONFIG']._serialized_end=1229 - _globals['_DATASELECTOR']._serialized_start=1231 - _globals['_DATASELECTOR']._serialized_end=1318 - _globals['_ENCODINGOPTIONS']._serialized_start=1321 - _globals['_ENCODINGOPTIONS']._serialized_end=1640 - _globals['_OUTPUT']._serialized_start=1643 - _globals['_OUTPUT']._serialized_end=1870 - _globals['_FILEOUTPUT']._serialized_start=1872 - _globals['_FILEOUTPUT']._serialized_end=1973 - _globals['_STREAMOUTPUT']._serialized_start=1975 - _globals['_STREAMOUTPUT']._serialized_end=2096 - _globals['_STREAMDESTINATION']._serialized_start=2098 - _globals['_STREAMDESTINATION']._serialized_end=2142 - _globals['_SEGMENTEDFILEOUTPUT']._serialized_start=2145 - _globals['_SEGMENTEDFILEOUTPUT']._serialized_end=2561 - _globals['_IMAGEOUTPUT']._serialized_start=2564 - _globals['_IMAGEOUTPUT']._serialized_end=2940 - _globals['_STORAGECONFIG']._serialized_start=2943 - _globals['_STORAGECONFIG']._serialized_end=3122 - _globals['_S3UPLOAD']._serialized_start=3125 - _globals['_S3UPLOAD']._serialized_end=3574 - _globals['_S3UPLOAD_METADATAENTRY']._serialized_start=3527 - _globals['_S3UPLOAD_METADATAENTRY']._serialized_end=3574 - _globals['_GCPUPLOAD']._serialized_start=3576 - _globals['_GCPUPLOAD']._serialized_end=3666 - _globals['_AZUREBLOBUPLOAD']._serialized_start=3668 - _globals['_AZUREBLOBUPLOAD']._serialized_end=3762 - _globals['_ALIOSSUPLOAD']._serialized_start=3764 - _globals['_ALIOSSUPLOAD']._serialized_end=3874 - _globals['_PROXYCONFIG']._serialized_start=3876 - _globals['_PROXYCONFIG']._serialized_end=3943 - _globals['_LISTEGRESSREQUEST']._serialized_start=3946 - _globals['_LISTEGRESSREQUEST']._serialized_end=4078 - _globals['_LISTEGRESSRESPONSE']._serialized_start=4080 - _globals['_LISTEGRESSRESPONSE']._serialized_end=4187 - _globals['_STOPEGRESSREQUEST']._serialized_start=4189 - _globals['_STOPEGRESSREQUEST']._serialized_end=4240 - _globals['_EGRESSINFO']._serialized_start=4243 - _globals['_EGRESSINFO']._serialized_end=5309 - _globals['_STREAMINFO']._serialized_start=5312 - _globals['_STREAMINFO']._serialized_end=5552 - _globals['_STREAMINFO_STATUS']._serialized_start=5506 - _globals['_STREAMINFO_STATUS']._serialized_end=5552 - _globals['_FILEINFO']._serialized_start=5554 - _globals['_FILEINFO']._serialized_end=5670 - _globals['_SEGMENTSINFO']._serialized_start=5673 - _globals['_SEGMENTSINFO']._serialized_end=5890 - _globals['_IMAGESINFO']._serialized_start=5892 - _globals['_IMAGESINFO']._serialized_end=5988 - _globals['_AUTOPARTICIPANTEGRESS']._serialized_start=5991 - _globals['_AUTOPARTICIPANTEGRESS']._serialized_end=6226 - _globals['_AUTOTRACKEGRESS']._serialized_start=6229 - _globals['_AUTOTRACKEGRESS']._serialized_end=6452 - _globals['_EXPORTREPLAYREQUEST']._serialized_start=6455 - _globals['_EXPORTREPLAYREQUEST']._serialized_end=6910 - _globals['_ROOMCOMPOSITEEGRESSREQUEST']._serialized_start=6913 - _globals['_ROOMCOMPOSITEEGRESSREQUEST']._serialized_end=7588 - _globals['_WEBEGRESSREQUEST']._serialized_start=7591 - _globals['_WEBEGRESSREQUEST']._serialized_end=8193 - _globals['_PARTICIPANTEGRESSREQUEST']._serialized_start=8196 - _globals['_PARTICIPANTEGRESSREQUEST']._serialized_end=8627 - _globals['_TRACKCOMPOSITEEGRESSREQUEST']._serialized_start=8630 - _globals['_TRACKCOMPOSITEEGRESSREQUEST']._serialized_end=9263 - _globals['_TRACKEGRESSREQUEST']._serialized_start=9266 - _globals['_TRACKEGRESSREQUEST']._serialized_end=9455 - _globals['_DIRECTFILEOUTPUT']._serialized_start=9458 - _globals['_DIRECTFILEOUTPUT']._serialized_end=9682 - _globals['_ENCODEDFILEOUTPUT']._serialized_start=9685 - _globals['_ENCODEDFILEOUTPUT']._serialized_end=9955 - _globals['_UPDATELAYOUTREQUEST']._serialized_start=9957 - _globals['_UPDATELAYOUTREQUEST']._serialized_end=10026 - _globals['_UPDATESTREAMREQUEST']._serialized_start=10029 - _globals['_UPDATESTREAMREQUEST']._serialized_end=10189 - _globals['_STREAMINFOLIST']._serialized_start=10191 - _globals['_STREAMINFOLIST']._serialized_end=10242 - _globals['_EGRESS']._serialized_start=11284 - _globals['_EGRESS']._serialized_end=12017 + _globals['_MEDIASOURCE']._serialized_end=900 + _globals['_PARTICIPANTVIDEO']._serialized_start=902 + _globals['_PARTICIPANTVIDEO']._serialized_end=967 + _globals['_VIDEOCONFIG']._serialized_start=969 + _globals['_VIDEOCONFIG']._serialized_end=1046 + _globals['_VIDEOSELECTOR']._serialized_start=1048 + _globals['_VIDEOSELECTOR']._serialized_end=1173 + _globals['_AUDIOCONFIG']._serialized_start=1175 + _globals['_AUDIOCONFIG']._serialized_end=1246 + _globals['_AUDIOROUTE']._serialized_start=1249 + _globals['_AUDIOROUTE']._serialized_end=1470 + _globals['_DATACONFIG']._serialized_start=1472 + _globals['_DATACONFIG']._serialized_end=1547 + _globals['_DATASELECTOR']._serialized_start=1549 + _globals['_DATASELECTOR']._serialized_end=1673 + _globals['_ENCODINGOPTIONS']._serialized_start=1676 + _globals['_ENCODINGOPTIONS']._serialized_end=1995 + _globals['_OUTPUT']._serialized_start=1998 + _globals['_OUTPUT']._serialized_end=2225 + _globals['_FILEOUTPUT']._serialized_start=2227 + _globals['_FILEOUTPUT']._serialized_end=2328 + _globals['_STREAMOUTPUT']._serialized_start=2330 + _globals['_STREAMOUTPUT']._serialized_end=2451 + _globals['_STREAMDESTINATION']._serialized_start=2453 + _globals['_STREAMDESTINATION']._serialized_end=2497 + _globals['_SEGMENTEDFILEOUTPUT']._serialized_start=2500 + _globals['_SEGMENTEDFILEOUTPUT']._serialized_end=2916 + _globals['_IMAGEOUTPUT']._serialized_start=2919 + _globals['_IMAGEOUTPUT']._serialized_end=3295 + _globals['_STORAGECONFIG']._serialized_start=3298 + _globals['_STORAGECONFIG']._serialized_end=3477 + _globals['_S3UPLOAD']._serialized_start=3480 + _globals['_S3UPLOAD']._serialized_end=3929 + _globals['_S3UPLOAD_METADATAENTRY']._serialized_start=3882 + _globals['_S3UPLOAD_METADATAENTRY']._serialized_end=3929 + _globals['_GCPUPLOAD']._serialized_start=3931 + _globals['_GCPUPLOAD']._serialized_end=4021 + _globals['_AZUREBLOBUPLOAD']._serialized_start=4023 + _globals['_AZUREBLOBUPLOAD']._serialized_end=4117 + _globals['_ALIOSSUPLOAD']._serialized_start=4119 + _globals['_ALIOSSUPLOAD']._serialized_end=4229 + _globals['_PROXYCONFIG']._serialized_start=4231 + _globals['_PROXYCONFIG']._serialized_end=4298 + _globals['_LISTEGRESSREQUEST']._serialized_start=4301 + _globals['_LISTEGRESSREQUEST']._serialized_end=4433 + _globals['_LISTEGRESSRESPONSE']._serialized_start=4435 + _globals['_LISTEGRESSRESPONSE']._serialized_end=4542 + _globals['_STOPEGRESSREQUEST']._serialized_start=4544 + _globals['_STOPEGRESSREQUEST']._serialized_end=4595 + _globals['_EGRESSINFO']._serialized_start=4598 + _globals['_EGRESSINFO']._serialized_end=5664 + _globals['_STREAMINFO']._serialized_start=5667 + _globals['_STREAMINFO']._serialized_end=5907 + _globals['_STREAMINFO_STATUS']._serialized_start=5861 + _globals['_STREAMINFO_STATUS']._serialized_end=5907 + _globals['_FILEINFO']._serialized_start=5909 + _globals['_FILEINFO']._serialized_end=6025 + _globals['_SEGMENTSINFO']._serialized_start=6028 + _globals['_SEGMENTSINFO']._serialized_end=6245 + _globals['_IMAGESINFO']._serialized_start=6247 + _globals['_IMAGESINFO']._serialized_end=6343 + _globals['_AUTOPARTICIPANTEGRESS']._serialized_start=6346 + _globals['_AUTOPARTICIPANTEGRESS']._serialized_end=6581 + _globals['_AUTOTRACKEGRESS']._serialized_start=6584 + _globals['_AUTOTRACKEGRESS']._serialized_end=6807 + _globals['_EXPORTREPLAYREQUEST']._serialized_start=6810 + _globals['_EXPORTREPLAYREQUEST']._serialized_end=7265 + _globals['_ROOMCOMPOSITEEGRESSREQUEST']._serialized_start=7268 + _globals['_ROOMCOMPOSITEEGRESSREQUEST']._serialized_end=7943 + _globals['_WEBEGRESSREQUEST']._serialized_start=7946 + _globals['_WEBEGRESSREQUEST']._serialized_end=8548 + _globals['_PARTICIPANTEGRESSREQUEST']._serialized_start=8551 + _globals['_PARTICIPANTEGRESSREQUEST']._serialized_end=8982 + _globals['_TRACKCOMPOSITEEGRESSREQUEST']._serialized_start=8985 + _globals['_TRACKCOMPOSITEEGRESSREQUEST']._serialized_end=9618 + _globals['_TRACKEGRESSREQUEST']._serialized_start=9621 + _globals['_TRACKEGRESSREQUEST']._serialized_end=9810 + _globals['_DIRECTFILEOUTPUT']._serialized_start=9813 + _globals['_DIRECTFILEOUTPUT']._serialized_end=10037 + _globals['_ENCODEDFILEOUTPUT']._serialized_start=10040 + _globals['_ENCODEDFILEOUTPUT']._serialized_end=10310 + _globals['_UPDATELAYOUTREQUEST']._serialized_start=10312 + _globals['_UPDATELAYOUTREQUEST']._serialized_end=10381 + _globals['_UPDATESTREAMREQUEST']._serialized_start=10384 + _globals['_UPDATESTREAMREQUEST']._serialized_end=10544 + _globals['_STREAMINFOLIST']._serialized_start=10546 + _globals['_STREAMINFOLIST']._serialized_end=10597 + _globals['_EGRESS']._serialized_start=11649 + _globals['_EGRESS']._serialized_end=12382 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/egress.pyi b/livekit-protocol/livekit/protocol/egress.pyi index 343abbde..8f83ec4f 100644 --- a/livekit-protocol/livekit/protocol/egress.pyi +++ b/livekit-protocol/livekit/protocol/egress.pyi @@ -32,6 +32,7 @@ class EncodedFileType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): MP4: _ClassVar[EncodedFileType] OGG: _ClassVar[EncodedFileType] MP3: _ClassVar[EncodedFileType] + MCAP: _ClassVar[EncodedFileType] class StreamProtocol(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () @@ -93,6 +94,7 @@ DEFAULT_FILETYPE: EncodedFileType MP4: EncodedFileType OGG: EncodedFileType MP3: EncodedFileType +MCAP: EncodedFileType DEFAULT_PROTOCOL: StreamProtocol RTMP: StreamProtocol SRT: StreamProtocol @@ -165,14 +167,18 @@ class WebSource(_message.Message): def __init__(self, url: _Optional[str] = ..., audio_only: bool = ..., video_only: bool = ..., await_start_signal: bool = ...) -> None: ... class MediaSource(_message.Message): - __slots__ = ("video_track_id", "participant_video", "audio") + __slots__ = ("video_track_id", "participant_video", "videos", "audio", "data") VIDEO_TRACK_ID_FIELD_NUMBER: _ClassVar[int] PARTICIPANT_VIDEO_FIELD_NUMBER: _ClassVar[int] + VIDEOS_FIELD_NUMBER: _ClassVar[int] AUDIO_FIELD_NUMBER: _ClassVar[int] + DATA_FIELD_NUMBER: _ClassVar[int] video_track_id: str participant_video: ParticipantVideo + videos: VideoConfig audio: AudioConfig - def __init__(self, video_track_id: _Optional[str] = ..., participant_video: _Optional[_Union[ParticipantVideo, _Mapping]] = ..., audio: _Optional[_Union[AudioConfig, _Mapping]] = ...) -> None: ... + data: DataConfig + def __init__(self, video_track_id: _Optional[str] = ..., participant_video: _Optional[_Union[ParticipantVideo, _Mapping]] = ..., videos: _Optional[_Union[VideoConfig, _Mapping]] = ..., audio: _Optional[_Union[AudioConfig, _Mapping]] = ..., data: _Optional[_Union[DataConfig, _Mapping]] = ...) -> None: ... class ParticipantVideo(_message.Message): __slots__ = ("identity", "prefer_screen_share") @@ -182,6 +188,26 @@ class ParticipantVideo(_message.Message): prefer_screen_share: bool def __init__(self, identity: _Optional[str] = ..., prefer_screen_share: bool = ...) -> None: ... +class VideoConfig(_message.Message): + __slots__ = ("capture_all", "selectors") + CAPTURE_ALL_FIELD_NUMBER: _ClassVar[int] + SELECTORS_FIELD_NUMBER: _ClassVar[int] + capture_all: bool + selectors: _containers.RepeatedCompositeFieldContainer[VideoSelector] + def __init__(self, capture_all: bool = ..., selectors: _Optional[_Iterable[_Union[VideoSelector, _Mapping]]] = ...) -> None: ... + +class VideoSelector(_message.Message): + __slots__ = ("track_id", "participant_identity", "track_name", "exclude") + TRACK_ID_FIELD_NUMBER: _ClassVar[int] + PARTICIPANT_IDENTITY_FIELD_NUMBER: _ClassVar[int] + TRACK_NAME_FIELD_NUMBER: _ClassVar[int] + EXCLUDE_FIELD_NUMBER: _ClassVar[int] + track_id: str + participant_identity: str + track_name: str + exclude: bool + def __init__(self, track_id: _Optional[str] = ..., participant_identity: _Optional[str] = ..., track_name: _Optional[str] = ..., exclude: bool = ...) -> None: ... + class AudioConfig(_message.Message): __slots__ = ("capture_all", "routes") CAPTURE_ALL_FIELD_NUMBER: _ClassVar[int] @@ -191,16 +217,20 @@ class AudioConfig(_message.Message): def __init__(self, capture_all: bool = ..., routes: _Optional[_Iterable[_Union[AudioRoute, _Mapping]]] = ...) -> None: ... class AudioRoute(_message.Message): - __slots__ = ("track_id", "participant_identity", "participant_kind", "channel") + __slots__ = ("track_id", "participant_identity", "participant_kind", "track_name", "exclude", "channel") TRACK_ID_FIELD_NUMBER: _ClassVar[int] PARTICIPANT_IDENTITY_FIELD_NUMBER: _ClassVar[int] PARTICIPANT_KIND_FIELD_NUMBER: _ClassVar[int] + TRACK_NAME_FIELD_NUMBER: _ClassVar[int] + EXCLUDE_FIELD_NUMBER: _ClassVar[int] CHANNEL_FIELD_NUMBER: _ClassVar[int] track_id: str participant_identity: str participant_kind: _models.ParticipantInfo.Kind + track_name: str + exclude: bool channel: AudioChannel - def __init__(self, track_id: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_kind: _Optional[_Union[_models.ParticipantInfo.Kind, str]] = ..., channel: _Optional[_Union[AudioChannel, str]] = ...) -> None: ... + def __init__(self, track_id: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_kind: _Optional[_Union[_models.ParticipantInfo.Kind, str]] = ..., track_name: _Optional[str] = ..., exclude: bool = ..., channel: _Optional[_Union[AudioChannel, str]] = ...) -> None: ... class DataConfig(_message.Message): __slots__ = ("capture_all", "selectors") @@ -211,12 +241,16 @@ class DataConfig(_message.Message): def __init__(self, capture_all: bool = ..., selectors: _Optional[_Iterable[_Union[DataSelector, _Mapping]]] = ...) -> None: ... class DataSelector(_message.Message): - __slots__ = ("track_id", "participant_identity") + __slots__ = ("track_id", "participant_identity", "track_name", "exclude") TRACK_ID_FIELD_NUMBER: _ClassVar[int] PARTICIPANT_IDENTITY_FIELD_NUMBER: _ClassVar[int] + TRACK_NAME_FIELD_NUMBER: _ClassVar[int] + EXCLUDE_FIELD_NUMBER: _ClassVar[int] track_id: str participant_identity: str - def __init__(self, track_id: _Optional[str] = ..., participant_identity: _Optional[str] = ...) -> None: ... + track_name: str + exclude: bool + def __init__(self, track_id: _Optional[str] = ..., participant_identity: _Optional[str] = ..., track_name: _Optional[str] = ..., exclude: bool = ...) -> None: ... class EncodingOptions(_message.Message): __slots__ = ("width", "height", "depth", "framerate", "audio_codec", "audio_bitrate", "audio_frequency", "video_codec", "video_bitrate", "key_frame_interval", "audio_quality", "video_quality") diff --git a/livekit-protocol/protocol b/livekit-protocol/protocol index 32f24249..4f5a18f3 160000 --- a/livekit-protocol/protocol +++ b/livekit-protocol/protocol @@ -1 +1 @@ -Subproject commit 32f242495a62e4d991c6bc6ea787eb6f2ba6d69b +Subproject commit 4f5a18f3bdb37bd8dbbd4969100db7baebe797d7