Tag: streaming

流式video(使用FFmpeg AutoGen的C#)发送多个数据请求

我写了一个video生成器,以h264格式(mp4)对video进行修改。 当我从我的azure服务流式传输video时,我看到以下网络流量: 我正在使用的AVCodecContext布局如下: AVCodec* videoCodec = ffmpeg.avcodec_find_encoder(AVCodecID.AV_CODEC_ID_H264) AVCodecContext* videoCodecContext = ffmpeg.avcodec_alloc_context3(videoCodec); videoCodecContext->bit_rate = 400000; videoCodecContext->width = 1280; videoCodecContext->height = 720; videoCodecContext->gop_size = 12; videoCodecContext->max_b_frames = 1; videoCodecContext->pix_fmt = videoCodec->pix_fmts[0]; videoCodecContext->codec_id = videoCodec->id; videoCodecContext->codec_type = videoCodec->type; videoCodecContext->time_base = new AVRational { num = 1, den = 30 }; ffmpeg.av_opt_set(videoCodecContext->priv_data, “preset”, “ultrafast”); 我也尝试通过AVDictionary为avformat_write_header()设置“movflags”选项,但是av_write_trailer()返回-2,导致文件没有完成写入。 我无法弄清楚如何解决这个问题。 使用Windows Movie Maker流生成的video完美无缺。 […]

使用SSH.Net下载并返回非阻塞数据流

我正在使用ssh.net库执行SFTP操作以处理大型数据文件( > = 500MB ) 我遇到了如何以非阻塞方式返回数据的问题。 ftpClient.DownloadFile()方法签名是正确的,当写入文件或者有某种方式我可以实例化流,但是当我想要在不阻塞的情况下返回流时遇到如何使用它的问题。 到目前为止我看到的所有示例都是将下载文件写入文件流。 什么都不会只返回一个流 使用.Net的内置FTP,您只需使用response.GetResponseStream() ,它会回送数据,而不会阻塞。 在return语句中使用它的唯一方法是写入临时文件。 但这导致它成为阻塞操作。 var tmpFilename = “temp.dat”; int bufferSize = 4096; var sourceFile = “23-04-2015.dat”; using (var stream = System.IO.File.Create(tmpFilename , bufferSize, System.IO.FileOptions.DeleteOnClose)) { sftpClient.DownloadFile(sourceFile, stream); return stream; } 我不希望它阻止但是要回流数据。 我也想避免创建一个临时文件。 是否有替代实现使其回流数据? 或者是否有可以实例化的替代流( MemoryStream除外),它可以用于大文件?

如何从json流中反序列化多个对象?

好的,我之前已经问了类似这样的问题,但这是一个不同的主题,所以我觉得我应该做一个关于它的新话题。 对不起,如果这是我不应该做的事情…… 无论如何: 我正在阅读twitterfeed并试图将其转换为丢失(状态)对象。 我现在的代码如下,但失败了: webRequest = (HttpWebRequest)WebRequest.Create(stream_url); webRequest.Credentials = new NetworkCredential(username, password); webRequest.Timeout = -1; webResponse = (HttpWebResponse)webRequest.GetResponse(); Encoding encode = Encoding.GetEncoding(“utf-8”); responseStream = new StreamReader(webResponse.GetResponseStream(), encode); int i = 0; //Read the stream. while (_running) { jsonText = responseStream.ReadLine(); byte[] sd = Encoding.Default.GetBytes(jsonText); stream.Write(sd, i, i + sd.Length); try { status s = […]

使用RTSP通过TCP进行流式传输

VLC媒体播放器如何通过TCP Streaming实现RTSP? 我知道,VLC媒体播放器可以用作流媒体服务器,也可以用作流媒体客户端。 我的要求是使用从服务器到客户端的TCP(over RTSP)数据流,我对C / C ++代码不满意。 我对C#很满意。 有人能指出我在C#中实现TCP Streaming的示例吗? PS-有没有其他播放器支持使用RTSP over TCP / UDP实时流媒体?

用于BinaryReader的EndOfStream

BinaryReader没有EndOfStream属性。 使用以下代码检查是否到达流的末尾是否安全? reader.BaseStream.Length>reader.BaseStream.Position

Mjpeg VLC和HTTP Streaming

我正在生成一个MJpeg Stream并尝试将其流式传输到VLC并在那里播放。 代码: public void SendMultiPartData(String contentType, Func getData) { MemoryStream mem = null; response.StatusCode = 200; for ( byte[] buffer = getData(); buffer != null && buffer.Length > 0; buffer = getData()) { response.ContentType = “multipart/x-mixed-replace; boundary=–testboundary”; ASCIIEncoding ae = new ASCIIEncoding(); byte[] boundary = ae.GetBytes(“\r\n–testboundary\r\nContent-Type: ” + contentType + “\r\nContent-Length:” + buffer.Length + […]

从打开的HTTP流中读取数据

我正在尝试使用.NET WebRequest / WebResponse类来访问Twitter流API,这里是”http://stream.twitter.com/spritzer.json” 。 我需要能够打开连接并从打开的连接中逐步读取数据。 目前,当我调用WebRequest.GetResponse方法时,它会阻塞,直到整个响应被下载。 我知道有一个BeginGetResponse方法,但这只会在后台线程上做同样的事情。 我需要在下载仍然发生时访问响应流。 对于这些类,这对我来说似乎不太可能。 Twitter文档中有关于此的具体评论: “请注意,某些HTTP客户端库仅在服务器关闭连接后才返回响应主体。这些客户端不能用于访问Streaming API。您必须使用将以递增方式返回响应数据的HTTP客户端。最强大的HTTP客户端库将提供此function。例如,Apache HttpClient将处理此用例。“ 他们指向Appache HttpClient,但这没有多大帮助,因为我需要使用.NET。 是否可以使用WebRequest/WebResponse任何想法,或者我是否必须使用较低级别的网络类? 也许还有其他库可以让我这样做? 艾伦

C#中的空引用exception

当我试图从结构中返回一个值时,我遇到了“空引用exception”。 这是代码: AssetItem item = new AssetItem(); item = initModified(); bool found = false; int index = getIndex(barcode); string modifiedFile = filepath + “Modified\\” + dir + “\\” + index + “.asdt”; if(File.Exists(modifiedFile)) { using(StreamReader reader = new StreamReader(modifiedFile)) { string line = reader.ReadLine(); while(line.Trim()!=””) { string[] split = line.Split(‘,’); if(split[1]==barcode) { found = true; […]

如何使用DirectShow.NET C#访问音频流

我想要做的是将任意音频文件传递给DirectShowfilter图并最终使用.NET 3.5 C#和DirectShow.NET接收(PCM音频)流对象。 我想说的是我可以说: Stream OpenFile(string filename) {…} 和 stream.Read(…) 我已经阅读了DirectShow几天,并认为我已经开始掌握filter和filter图的想法。 我找到了如何播放音频或将其写入文件的示例( 文件 / 设备 ),但似乎无法找到Stream对象的解决方案。 这有可能吗? 如果我错过了什么,你能指出我正确的方向吗? 最好, Hauke

如何使用VLC流式传输图像/文件?

所以我知道有很多libVLC.dll的包装器。 但我只是不知道有什么准备做我需要的…… 我需要的只是简单…… 在我的C#程序中,我创建了一些位图(每秒一次或两次)…… 我现在想要将bitmaps作为video(以某种格式VLC可以提供给我)直播到某些http:localhost:port /使用VLC … 怎么做?