标签: streaming

如何使用FluorineFx从客户端发布音频流?

我无法弄清楚如何在客户端上使用FluorineFx将音频流从客户端发布到服务器.我们希望通过已建立的NetConnection将记录的音频数据从客户端传输到流.FluorineFx中有一个NetStream类,但它没有发布方法.FluorineFx中的NetStream类只有play方法.但据我所知,这会在客户端上播放来自服务器的流.

发布是不是在FluorineFx中实现还是我错过了什么?

c# apache-flex streaming rtmp fluorinefx

5
推荐指数
1
解决办法
1796
查看次数

iPhone/iPad HTTP流媒体库或服务器

有没有可用的开源(首选)或商业图书馆用于动态分段和视频流到iPhone/iPad?

此外,是否有支持此功能的开源/商用服务器(替代Wowza)?

iphone streaming http ipad

5
推荐指数
1
解决办法
3695
查看次数

Java:通过HTTP流式传输Zipfile的内容

我有相当多的可流传输数据(> 100MB),为了压缩,我想在http服务器上托管一个zipfile.所以这个zipfile包含一个文件.

现在java客户端可以通过http流式传输数据,即使它是打包在zipfile中的吗?

根据维基百科,ZIP不是顺序...

http://en.wikipedia.org/wiki/ZIP_(file_format)#Structure

如果这仍然可能以某种方式,那么如何?

编辑:关于gzip:正如我所说的,我使用自定义的java客户端(不是webbrowser)是java http实现中的gzip吗?

java streaming zip http

5
推荐指数
3
解决办法
5904
查看次数

我如何保护mp4和flv视频

我正在开发一个仅限会员的网站,需要保护其上可用的视频网址,以便它们不会被共享或传递给非成员.

我听说过URL屏蔽,但不知道如何做到这一点.或者还有另一种方式吗?

基本上,视频将保存在远程服务器(vps)上或通过Amazon S3保存,该网站将调用视频并在流媒体播放器,JW播放器或我能找到的任何可以保护视频的播放器中播放视频.

有谁知道如何做到这一点?或者知道能为我做这件事的服务?

谢谢

TT

security video streaming

5
推荐指数
1
解决办法
3701
查看次数

实现WSGI流服务:(如何检测客户端断开连接)

所以我正在做的是编写WSGI流服务,该服务利用迭代器中包含的Queue来实现多播推送.以下是该服务的简化模型:

# this is managed by another thread
def processor_runner():
    generator = SerialMessageGenerator()
    for message in generator:
      for client in Processor.connections:
          client.put(message)

# this is managed by twisted's wsgi implementation
def main(environ, start_response):
    queue = Queue()
    Processor.connections.append(queue)
    status = '200 OK'
    response_headers = [
        ('Content-Type', 'application/json'),
        ('Transfer-Encoding', 'chunked')
    ]
    start_response(status, response_headers)
    return iter(queue.get, None)
Run Code Online (Sandbox Code Playgroud)

并且这与作为WSGI服务器的扭曲效果很好(顺便说一下,串行生成器是由进程间队列连接到处理器的独立进程).我的问题是如何检测客户端何时断开连接并将其从队列中删除?我虽然将队列添加为客户端套接字的元组,即(套接字,队列),然后在执行put之前检查套接字是否仍然连接.但是,我不确切地知道从环境中获取什么.在我将某些东西放在一起之前,是否有任何人有这样做的经验?

更新

这是我最终采用的解决方案:

class IterableQueue(Queue):

def __init__(self):
    Queue.__init__(self) # Queue is an old style class
    ShellProcessor.connections.append(self)

def __iter__(self):
    return iter(self.get, None)

def close(self):
    self.put(None)
    self.task_done()
    ShellProcessor.connections.remove(self)
Run Code Online (Sandbox Code Playgroud)

python streaming wsgi twisted

5
推荐指数
1
解决办法
1262
查看次数

使用FFmpeg,如何解码H264数据包

我是FFmpeg的新手,正在努力解码可以作为uint8_t数组获得的H264数据包.

经过多次调查,我认为它应该能够将数组放入如下所示的AVPacket中

AVPacket *avpkt = (AVPacket *)malloc(sizeof(AVPacket) * 1);
av_init_packet(avpkt);  
avpkt->data = ct;   // ct is the array
avpkt->length =....
Run Code Online (Sandbox Code Playgroud)

并通过avcodec_decode_video2()进行解码.代码的一部分就像

...
codec = avcodec_find_decoder(CODEC_ID_H264);
gVideoCodecCtx = avcodec_alloc_context();
gFrame = avcodec_alloc_frame();
avcodec_decode_video2(gVideoCodecCtx, gFrame, &frameFinished, packet);
...
Run Code Online (Sandbox Code Playgroud)

我想我正确设置了所有必需的属性,但这个函数只返回-1 :(

我刚发现-1来自

ret = avctx-> codec-> decode(avctx,picture,got_picture_ptr,avpkt);

在avcodec_decode_video2();

实际上,我想知道的是我是否可以通过avcodec_decode_video2()解码H264数据包(没有RTP头).

我在这里先向您的帮助表示感谢.


/////////// 添加

好的,我还在努力寻找解决方案.我现在正在做的是下面的内容

**该RTP流中的H264流由FU-A编码

  1. 收到RTP数据包

  2. 查看RTP头的第二个字节是否> 0表示它是第一个数据包(可能会被跟踪)

  3. 看看下一个RTP数据包的第二个字节是否也> 0,那么这意味着前一个帧是一个完整的NAL,或者如果这个<0,则该数据包应该附加到前一个数据包.

  4. 删除数据包的所有RTP头,使其只有FU指示符| FU标题| NAL

  5. 尝试用avcodec_decode_video2()播放它

但它只返回-1 .....我是否应该删除FU指示器和标题?

任何建议将非常感谢

提前致谢.

streaming ffmpeg decode h.264

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

为什么使用Ogg封装而不是本机来完成基于HTTP的FLAC流式传输?

所有当前的FLAC流实现(例如带有Icecast的Edcast)似乎在流式传输时使用Ogg作为FLAC的容器.

  1. 这是什么原因?
  2. 使用Ogg和流式传输"本机"FLAC流有什么缺点?

我已经完成了一些通过HTTP传输FLAC的测试,它似乎在VLC中运行得很好.FLAC似乎是以这样一种方式构建的,即帧可以独立存在,使其能够抵御流损坏和/或丢帧.鉴于此,我不太明白为什么在Ogg中包装FLAC是必要的.

streaming ogg flac

5
推荐指数
1
解决办法
3749
查看次数

Node.js-很大的流正在阻塞并且占用大量CPU

我们有一些数据库调用可以轻松地传输10万条记录。我们遇到的问题是,每当我们使用这些流之一时,它就会挂住CPU,并似乎阻塞了所有其他进程。

我尝试了几种不同的技巧来减轻这种情况,但是现在有点卡住了。这是我最近一次尝试将流传输到使用它的Transform的尝试process.nextTick

var stream = require('stream');
var util   = require('util');

function StreamThrottler() {
  stream.Transform.call(this, { objectMode: true });
}

util.inherits(StreamThrottler, stream.Transform);

StreamThrottler.prototype._transform = function(chunk, encoding, cb) {

  process.nextTick(function() {
      console.log('chunk');
      // note: I'm intentionally not pushing the chunk 
      // onto the stream for testing
      cb();
  });
};

StreamThrottler.prototype._flush = function(cb) {
  cb();
};

var streamThrottler = new StreamThrottler();

// now the db call
this.largeDatabaseResultStream().pipe(streamThrottler);
Run Code Online (Sandbox Code Playgroud)

我注意到这个 Node.js问题可能相关,也可能不相关。

有人对如何解决这个问题有其他想法吗?

javascript streaming stream node.js

5
推荐指数
1
解决办法
810
查看次数

使用HTMLMediaElement向后播放音频

我试图成功加载并播放chrome中的音频文件,但我无法向后播放:

      audio = new Audio('http://mathweirdo.com/bingo/audio/buzzer.mp3');
      audio.playbackRate = -1;
      audio.currentTime = audio.duration; // I have tried ommiting this line
      audio.play()
Run Code Online (Sandbox Code Playgroud)

这不会产生声音,只会发生一次timeupdate事件.

javascript audio streaming html5 html5-audio

5
推荐指数
1
解决办法
1135
查看次数

JSON中的时间序列数据

我需要在JSON中建模1,000,000多个数据点.我在想两种方法:

a)对象数组:

[{time:123456789,value:1432423},{time:123456790,value:1432424},....]
Run Code Online (Sandbox Code Playgroud)

要么

b)嵌套数组

[[123456789,1432423],[123456790,1432424],....]
Run Code Online (Sandbox Code Playgroud)

天真地比较这两种方法,感觉后者更快,因为它使用更少的字符,但描述性较差.b真的比一个快吗?你会选择哪一个?为什么?

有第三种方法吗?

javascript streaming json time-series

5
推荐指数
1
解决办法
4214
查看次数