示例#1
0
        public async Task <IActionResult> PostLiveAsync([FromBody] MediaServerLivePost model, CancellationToken cancellationToken)
        {
            var streamId = $"{UserEmail}_{Guid.NewGuid()}";
            var response = await _mediaServerService.PublishLiveAsync(model.Stream, streamId, cancellationToken);

            return(Ok(new
            {
                response,
                FlvOutput = $"{_mediaServerOptions.Value.StreamBaseUrl}live/{streamId}.flv",
                HlsOutput = $"{_mediaServerOptions.Value.StreamBaseUrl}live/{streamId}.m3u8",
                DashOutput = $"{_mediaServerOptions.Value.StreamBaseUrl}live/{streamId}.mpd",
                RtmpOutput = $"{_mediaServerOptions.Value.StreamRtmpBaseUrl}live/{streamId}.mpd",
                WsOutput = $"{_mediaServerOptions.Value.StreamWebsocketBaseUrl}live/{streamId}.flv",
                streamId
            }));
        }
示例#2
0
        public async Task <IActionResult> PostStopLiveAsync([FromBody] MediaServerLivePost model, CancellationToken cancellationToken)
        {
            var response = await _mediaServerService.StopLiveAsync(model.Stream, cancellationToken);

            return(Ok(response));
        }