我目前正在构建“视频服务器”,它必须能够通过HTTP将视频发送到使用HTML(标记)网站的客户端。 我在网站上有这个视频标签:
<video src="http://<?php echo $_SERVER['SERVER_ADDR']; ?>:8080/stream/0c73f95521d163257379e8ed37839e34" autoplay controls muted></video>
这个代码在我的服务器上:( ctx是我的HttpListenerContext)
string file = Directory.GetFiles(
contentDirectory,
ctx.Request.RawUrl.Substring(("/stream/").Length) + ".*",
SearchOption.AllDirectories)[0];
//Console.Log(ctx.Request.Headers.GetValues("Range")[0]);
byte[] data = File.ReadAllBytes(file);
ctx.Response.OutputStream.Write(data, 0, data.Length);
ctx.Response.OutputStream.Flush();
ctx.Response.OutputStream.Close();
我一直在寻找一种方法,但我找不到任何方法。
基本上我要做的是通过HTTP从我的C#程序发送视频到我的网站(托管在另一个网络服务器上)。
更新 我昨天找到了这个答案,但我认为我没有用,因为我使用了HttpListener,当我读得更近时,我发现他使用了TcpListener。 Handle range requests with HttpListener
我希望这可以帮助别人!
谢谢!