Beispiel #1
0
        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;
            }
        }