标签: streaming

.net 中的流式 XML 序列化

我正在尝试IEnumerable<MyObject>使用 an序列化一个非常大XmlSerializer的对象,而不将所有对象保留在内存中。

IEnumerable<MyObject>实际上是懒..

我正在寻找一种流媒体解决方案,它将:

  1. IEnumerable<MyObject> 使用标准序列化将对象从序列化到底层流(我不想在这里手工制作 XML!
  2. 丢弃内存数据并移动到下一个

我正在尝试使用此代码:

using (var writer = new StreamWriter(filePath))
{
 var xmlSerializer = new XmlSerializer(typeof(MyObject));
  foreach (var myObject in myObjectsIEnumerable)
  {
   xmlSerializer.Serialize(writer, myObject);
  }
}
Run Code Online (Sandbox Code Playgroud)

但是我得到了多个 XML 标头,而且我无法指定根标记,<MyObjects>因此我的 XML 无效。

任何的想法?

谢谢

.net c# xml streaming serialization

3
推荐指数
1
解决办法
1万
查看次数

通过 SSL 的 ShoutCast

所以我已经开始设置我的 ShoutCast 服务器 DNAS 并在我的主机上的 Winamp 中设置我的 DSP。服务器侦听端口 8000,因此根据某些说明,我为 winamp(Shoutcast DSP)安装了一个输出插件,并使用 8000 和密码进行连接。服务器接受连接。

现在,我现在该怎么办?我的主机受 SSL 保护,DNAS 服务器安装在安全 Web 目录中(如果这很重要)。我想要的最终结果是我想在家里(主机)上从任何计算机上收听我的 ShoutCast 设置。

我尝试浏览到我的 IP 地址和端口 8000(不使用 HTTPS),但它什么也没回来。如果我浏览HTTPS://my.server.com:8000,我得到错误代码:ssl_error_rx_record_too_long)

我完全错过了什么,还是我只是个白痴?

谢谢。

streaming ssl shoutcast internet-radio winamp

3
推荐指数
1
解决办法
8722
查看次数

wowza/red5表现

我需要为视频流服务构建基础架构,能够处理> 100个直播,平均有50个观众,其中顶级流可以有多达5000个观众.所有流都将作为多播提供,不需要额外的转码(输入和输出将为h.264),不会进行录制.我很好奇有多少流可以处理简单,非专业的服务器(客户托管在OVH中) - 让我们说四核服务器上有32g的RAM?

PS我试过问wowza,但他们的回答并不能满足我(营销的东西,没有什么真正有用的).

flash streaming red5 video-streaming wowza

3
推荐指数
1
解决办法
4328
查看次数

Connection拒绝了PythonAnywhere上的Twitter API

我试图在任何地方连接到Python上的Twitter流API,但总是得到连接拒绝错误.

我在我的应用程序中使用Tweepy,并测试连接我正在使用可以在repo中找到的流示例.

HEre是代码的总结:

from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
from tweepy import Stream

# Go to http://dev.twitter.com and create an app. 
# The consumer key and secret will be generated for you after
consumer_key=""
consumer_secret=""

# After the step above, you will be redirected to your app's page.
# Create an access token under the the "Your access token" section
access_token=""
access_token_secret=""

class StdOutListener(StreamListener):
    """ A listener handles tweets are the received from the stream. 
    This …
Run Code Online (Sandbox Code Playgroud)

python twitter streaming twitter-oauth pythonanywhere

3
推荐指数
1
解决办法
1659
查看次数

iPhone以编程方式同时使用wifi和蓝牙?

我很感兴趣如果iPhone/iPad可以同时使用wifi和蓝牙进行视频流传输?我有一个通过wifi发送图片的相机应用程序,我在想是否可以使用蓝牙同时镜像.(从wifi获取图片,通过蓝牙重新发送)wifi和蓝牙是否使用不同的天线?或者它是一次一个还是某种形式共享同一个天线?

谢谢!

iphone streaming bluetooth wifi

3
推荐指数
1
解决办法
2303
查看次数

如何在 ASP.net MVC 4 中将文本流式传输到浏览器?

我试图弄清楚如何让 ASP.net MVC 4 在长时间运行的操作期间将数据发送回浏览器。因为我以前从未这样做过,所以我从一个简单的例子开始:

public void Index()
{
    Response.Write("<p>Hello, world! Counting to 5!</p>");
    for (int i = 0; i < 5; i++)
    {
        Thread.Sleep(1000);
        Response.Write("<p>" + i + "</p>");
        Response.Flush();
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为这段代码应该立即发送“你好,世界!数到 5!” 到浏览器,然后每秒发送一位,直到达到五。

但是,当我运行此代码时,它需要五秒钟的时间,并且所有文本都会一次输出。

我认为 Response.Flush() 方法应该允许您以增量方式将数据发送到浏览器。

我怎样才能使这项工作?

asp.net asp.net-mvc streaming asp.net-mvc-4

3
推荐指数
1
解决办法
1821
查看次数

读取日志时,JSON从双引号变为单引号

使用 apache 日志(如下),我可以解析出一个 JSON:

[2014.02.14_21.24.22.543] other info I don't care about json: {
  "petstore": "store_number_8",
  "dogs":{
    "terrier":{
      "total":2
    }
  },
  "cat":{
    "siamese":{
      "total":5
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

1) 这是有效的 JSON 吗?2)为什么双引号会变成单引号?

读入后,解析出 JSON,并显示它,我得到以下信息:

{
  'petstore': 'store_number_8',
  'dogs':{
    'terrier':{
      'total':2
    }
  },
  'cat':{
    'siamese':{
      'total':5
    }
  }
} 
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我正在使用 Node.js'fs.createStream读取日志,然后简单地执行控制台输出(到目前为止我没有进行任何清理,最终我会将其写入文件)。

fs.creatReadStream(logs).pipe(split()).on(data, function(line){
  if(line.match(/json\:/)){
    shouldThisBeValidJSON = JSON.parse(line.slice(line.indexOf('{'), line.length));
    console.log(shouldThisBeValidJSON);
  }
Run Code Online (Sandbox Code Playgroud)

先感谢您。

streaming logging parsing json node.js

3
推荐指数
1
解决办法
1768
查看次数

MPEG-DASH和RTSP有什么区别?

  • 实时流协议(RTSP) - 是一种媒体播放控制协议.可与RTSP结合使用的其他协议包括:
    • 实时传输协议(RTP) - 用于通过IP网络传送多媒体(例如音频和视频流)的分组格式.RTP是RTCP的姐妹协议.
    • RTP控制协议(RTCP) - 用于监视传输指标和服务质量(QoS),同时帮助多个流的同步.RTCP是RTP的姐妹协议.
    • 会话描述协议(SDP) - 由RTSP等协议用于在握手的初始化阶段描述媒体流.

正如我将上述协议归结为1或2个句子一样,我希望有人能够回答:用外行人的话说,MPEG-DASH和RTSP有什么区别?

从高层次来看,MPEG-DASH似乎是RTSP + RTP + RTCP + SDP的替代品.

media streaming protocols rtsp mpeg-dash

3
推荐指数
1
解决办法
5131
查看次数

GStreamer udpsrc 适用于 gst-launch 但不适用于应用程序 (OSX)

我使用 gst-launch 以这种方式成功地使用 GStreamer 流式传输我的网络摄像头图像:

服务器

./gst-launch-1.0 -v -m autovideosrc ! video/x-raw,format=BGRA ! videoconvert ! queue ! x264enc pass=qual quantizer=20 tune=zerolatency ! rtph264pay ! udpsink host=XXX.XXX.XXX.XXX port=7480
Run Code Online (Sandbox Code Playgroud)

客户

./gst-launch-1.0 udpsrc port=7480 ! "application/x-rtp, payload=127" ! rtph264depay ! decodebin ! glimagesink
Run Code Online (Sandbox Code Playgroud)

现在我尝试使用这个管道在我的应用程序中重现客户端(我没有发布代码,因为我在我的管道和元素周围做了一个 Objective-C 包装器):

  1. udpsrc 带大写:"application/x-rtp,media=video,payload=127,encoding-name=H264"

  2. rtph264depay

  3. 解码器
  4. glimagesink(用于测试)或将图像转换为 CVPixelBufferRef 的自定义应用程序接收器(在拉模式下)(已测试:它适用于 videotestsrc / uridecodebin / 等)

它不起作用,即使管道的状态消息看起来很“正常”。我在控制台中有有关消息,SecTaskLoadEntitlements failed error=22但在使用命令行时也有消息。
我在问自己 gst-launch 下我缺少什么。我在基于 udpsrc 的管道的网络上找不到任何示例。

我的问题是:

  • 有没有人知道我们启动 gst-launch 时实际发生了什么,或者知道实际发生了什么?
  • 是否有一些使用 udpsrc 的代码中工作管道的示例?

编辑


这是我的管道的图像。如您所见,GstDecodeBin 元素不会创建 src pad,因为它没有接收或处理任何内容(我将 udpsrc 元素上的“超时”属性设置为 …

macos streaming udp gstreamer h.264

3
推荐指数
1
解决办法
5627
查看次数

带有 fetch 的 WebAudio 流:DOMException:无法解码音频数据

我正在尝试使用 Chrome 51 播放来自 fetch API 的无限流。(网络摄像头音频流为 Microsoft PCM,16 位,单声道 11025 Hz)

该代码对 mp3 文件几乎可以正常工作,除了一些小故障,但由于某种原因,它对 wav 文件根本不起作用,我得到“DOMException:无法解码音频数据”

该代码改编自此答案断断续续/听不清播放,通过 Web Audio API 使用分块音频

知道是否可以使其与 WAV 流一起使用吗?

function play(url) {
  var context = new (window.AudioContext || window.webkitAudioContext)();
  var audioStack = [];
  var nextTime = 0;

  fetch(url).then(function(response) {
    var reader = response.body.getReader();
    function read() {
      return reader.read().then(({ value, done })=> {
        context.decodeAudioData(value.buffer, function(buffer) {
          audioStack.push(buffer);
          if (audioStack.length) {
              scheduleBuffers();
          }
        }, function(err) {
          console.log("err(decodeAudioData): "+err);
        });
        if (done) {
          console.log('done'); …
Run Code Online (Sandbox Code Playgroud)

audio streaming google-chrome fetch web-audio-api

3
推荐指数
1
解决办法
6618
查看次数