private async void StartPlay(IChannelHandlerContext ctx, MediaStream stream) { try { await ctx.WriteAndFlushAsync(UserControlMessageEvent.StreamBegin(Constants.DEFAULT_STREAM_ID)); RtmpCommandMessage onStatus = OnStatus("status", "NetStream.Play.Start", "Start live"); await ctx.WriteAndFlushAsync(onStatus); var args = new List <Object>(); args.Add("|RtmpSampleAccess"); args.Add(true); args.Add(true); RtmpCommandMessage rtmpSampleAccess = new RtmpCommandMessage(args); await ctx.WriteAndFlushAsync(rtmpSampleAccess); var metadata = new List <Object>(); metadata.Add("onMetaData"); metadata.Add(stream.Metadata); RtmpDataMessage msgMetadata = new RtmpDataMessage(metadata); await ctx.WriteAndFlushAsync(msgMetadata); await stream.AddSubscriber(ctx.Channel); } catch (Exception ex) { var i = 0; } }