Exemplo n.º 1
0
        public async Task TestStream()
        {
            var req = new HttpClient();
            var rsp = await req.GetAsync("http://localhost/play-channel/93276");

            if (rsp.IsSuccessStatusCode)
            {
                await PipeStream(await rsp.Content.ReadAsStreamAsync(), async (pr) =>
                {
                    var pes       = new MPEGTS.PESReader();
                    pes.OnPacket += async(pid, data) =>
                    {
                        using var fs = new FileStream($"{pid}.bin", FileMode.Append, FileAccess.ReadWrite);
                        await fs.WriteAsync(data);
                        await fs.FlushAsync();
                        fs.Close();
                    };
                    await foreach (var pkt in MPEGTSReader.TryReadPackets(pr))
                    {
                        await pes.PushPacket(pkt);
                    }
                });
            }
        }