标签: streaming

尝试通过其访问权限以某种方式访问​​套接字forbbiden.为什么?

 private void StartReceivingData(string ipAddress, int iPort)
    {
        try
        {
            if (!_bContinueReciving)
            {
                //initializeMainSocket(ipAddress, iPort);
                _mSocket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP);//<------HERE IS RAISED THE EXCEPTION
                _mSocket.Bind(new IPEndPoint(IPAddress.Parse(ipAddress), iPort));
                //  _mSocket.Bind(new IPEndPoint(IPAddress.Loopback, iPort));
                _mSocket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.HeaderIncluded, true);
                _mSocket.IOControl(IOControlCode.ReceiveAll, new byte[4] { 1, 0, 0, 0 }, new byte[4] { 0, 0, 0, 0 });
                //var 1
                _mSocket.BeginReceive(_buffReceivedData, 0, _buffReceivedData.Length, SocketFlags.None,
                                     new AsyncCallback(OnReceive), null);
                initializeLocalSocket();
            }
            else
            {
                _bContinueReciving = false;
                _mSocket.Close();
            }
        }
        catch (Exception exception)
        {
            Debug.WriteLine(exception);
        }
    }
Run Code Online (Sandbox Code Playgroud)

我不明白为什么......它有效,现在却没有.有人能帮助我吗?我正在使用vlc进行流式传输,我不会收到数据包,做一些报告,然后在本地重新播放一个播放器

c# sockets video streaming

46
推荐指数
13
解决办法
12万
查看次数

AVPlayer与AVAudioPlayer

AVPlayer文档说明如下:

[该]播放器同样适用于本地和远程媒体文件

但是,AVAudioPlayer文档说明如下:

Apple建议您使用此类进行音频播放,除非您正在播放从网络流捕获的音频

对于我正在做的工作,我需要一些AVAudioPlayer的功能,但我的所有音频都在流式传输.AVAlayer没有的AVAudioPlayer主要需要的是"播放"属性.没有该属性,很难构建一个玩家UI.

那么AVPlayer和AVAudioPlayer之间的区别是什么让后者不适合网络流?有没有办法从AVAlayer获得AVAudioPlayer提供的一些信息,如"播放"属性?

iphone audio streaming core-audio ios4

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

使用MySQL流式传输大型结果集

我正在开发一个使用大型MySQL表的spring应用程序.当加载大表时,我得到一个OutOfMemoryException,因为驱动程序试图将整个表加载到应用程序内存中.

我试过用

statement.setFetchSize(Integer.MIN_VALUE);
Run Code Online (Sandbox Code Playgroud)

但是我打开的每个ResultSet都会挂起close(); 在线查找我发现这是因为它在关闭ResultSet之前尝试加载任何未读的行,但事实并非如此:

ResultSet existingRecords = getTableData(tablename);
try {
    while (existingRecords.next()) {
        // ...
    }
} finally {
    existingRecords.close(); // this line is hanging, and there was no exception in the try clause
}
Run Code Online (Sandbox Code Playgroud)

挂起也发生在小表(3行)上,如果我不关闭RecordSet(发生在一个方法中)然后connection.close()挂起.


堆栈跟踪挂起:

SocketInputStream.socketRead0(FileDescriptor,byte [],int,int,int)行:不可用[native method]
SocketInputStream.read(byte [],int,int)行:129
ReadAheadInputStream.fill(int)行:113
ReadAheadInputStream. readFromUnderlyingStreamIfNecessary(byte [],int,int)行:160
ReadAheadInputStream.read(byte [],int,int)行:188
MysqlIO.readFully(InputStream,byte [],int,int)行:2428 MysqlIO.reuseAndReadPacket(Buffer ,int)行:2882
MysqlIO.reuseAndReadPacket(Buffer)行:2871
MysqlIO.checkErrorPacket(int)行:3414
MysqlIO.checkErrorPacket()行:910
MysqlIO.nextRow(Field [],int,boolean,int,boolean,boolean, boolean,Buffer)行:1405
RowDataDynamic.nextRecord()行:413
RowDataDynamic.next()行:392 RowDataDynamic.close()行:170
JDBC4ResultSet(ResultSetImpl).realClose(boolean)行:7473 JDBC4ResultSet(ResultSetImpl).close( )line:881 DelegatingResultSet.close()行:152
DelegatingResultSet.close()行:152
DelegatingPreparedStatement(DelegatingStatement).clo se()行:163
(这是我的类)Database.close()行:84

java mysql streaming spring

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

Ruby on Rails 3:通过Rails将数据流式传输到客户端

我正在开发一个与RackSpace cloudfiles通信的Ruby on Rails应用程序(类似于Amazon S3但缺少某些功能).

由于缺乏每对象访问权限和查询字符串身份验证的可用性,因此必须通过应用程序调解用户下载.

在Rails 2.3中,看起来您可以动态构建响应,如下所示:

# Streams about 180 MB of generated data to the browser.
render :text => proc { |response, output|
  10_000_000.times do |i|
    output.write("This is line #{i}\n")
  end
}
Run Code Online (Sandbox Code Playgroud)

(来自http://api.rubyonrails.org/classes/ActionController/Base.html#M000464)

而不是10_000_000.times...我可以在那里转储我的cloudfiles流生成代码.

麻烦的是,这是我在Rails 3中尝试使用这种技术时得到的输出.

#<Proc:0x000000010989a6e8@/Users/jderiksen/lt/lt-uber/site/app/controllers/prospect_uploads_controller.rb:75>
Run Code Online (Sandbox Code Playgroud)

看起来可能call没有调用proc对象的方法?还有其他想法吗?

streaming ruby-on-rails cloudfiles ruby-on-rails-3

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

通过网络同步音频

我正在创建一个客户端/服务器音频系统,它可以通过网络任意传输音频.一个中央服务器泵出音频流,x个客户端接收音频数据并播放它.到目前为止还没有任何魔法需要,我甚至可以将这个场景与开箱即用的VLC媒体播放器配合使用.

然而,棘手的部分似乎是同步音频回放,以便所有客户端都处于可听同步状态(只要感知到人类听众同步,就可以允许实际等待时间).

我的问题是,是否有任何已知的方法或算法用于此类同步问题(视频可能以相同的方式解决).我最初的想法围绕在物理机器之间同步时钟,从而创建一个虚拟的"主计时器",并以某种方式对齐音频数据包.

有些产品已经解决了这个问题(但对我的整体用例来说仍然不够):

http://www.sonos.com

http://netchorus.com/

任何指针都是最受欢迎的.谢谢.

PS:这个相关的问题似乎很久以前就已经死了.

algorithm audio streaming synchronization

42
推荐指数
4
解决办法
2万
查看次数

Android - ICS 4.0中的MediaPlayer缓冲区大小

我正在使用套接字作为MediaPlayer的代理,因此我可以在将mp3音频写入套接字之前下载并解密它.这类似于NPR新闻应用程序中显示的示例,但是我将其用于所有Android版本2.1 - 4 atm.

NPR StreamProxy代码 - http://code.google.com/p/npr-android-app/source/browse/Npr/src/org/npr/android/news/StreamProxy.java

我的问题是2.1-2.3的播放速度很快,但在Android 4.0 ICS中,MediaPlayer在触发onPrepared监听器之前会缓冲太多数据.

在onPrepared()之前写入Socket OutputStream的示例数据量:

在SGS2上有2.3.4 - onPrepared()在~133920字节之后

在Nexus S上使用4.0.4 - onPrepared()在~961930字节之后

这也发生在Galaxy Nexus上.

奇怪的是,4.0模拟器不会像4.0设备一样缓冲数据.有人在ICS上遇到与MediaPlayer类似的问题吗?

编辑

以下是代理如何写入套接字.在这个例子中,它来自从文件加载的CipherInputStream,但是当它从HttpResponse加载时也是如此.

final Socket client = (setup above)

// encrypted file input stream
final CipherInputStream inputStream = getInputStream(file);

// setup the socket output stream
final OutputStream output =  client.getOutputStream();

// Writing the header
final String httpHeader = buildHttpHeader(file.length());
final byte[] buffer = httpHeader.getBytes("UTF-8");
output.write(buffer, 0, buffer.length);

int writtenBytes = 0;
int readBytes;
final byte[] buff = new …
Run Code Online (Sandbox Code Playgroud)

audio streaming android audio-player android-music-player

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

从Ustream或Qik上传来自iPhone的直播视频

如何直播视频从iPhone到服务器,如Ustream或Qik?我知道苹果有一种叫做Http Live Streaming的东西,但我发现的大多数资源都只谈到从服务器到iPhone的视频流.

Apple的Http Living Streaming是我应该使用的吗?或者是其他东西?谢谢.

iphone video streaming http live

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

在Stream上应用正则表达式?

我正在寻找在Streams上应用正则表达式的快速而安全的方法.

我在互联网上找到了一些关于将每个缓冲区转换为String然后应用于Regex字符串的示例.

这种方法有两个问题:

  • 性能:转换为字符串和GC字符串是浪费时间和CPU,如果有一种更原生的方式应用于RegexStreams ,肯定可以避免.
  • Regex支持:Regex模式有时只有在将两个缓冲区组合在一起时才能匹配(缓冲区1以匹配的第一部分结束,缓冲区2以匹配的第二部分开始).转换为字符串的方式无法原生地处理这种类型的匹配,我必须提供更多信息,例如模式可以匹配的最大长度,这根本不支持+和*正则表达式标志,并且永远不会支持(无限制匹配)长度).

因此,转换为字符串的方式并不快,并且不完全支持Regex.

是否有任何方法/库可用于Regex在Streams 上应用而无需转换为字符串并具有完整的Regex支持?

.net c# regex streaming

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

如何使用Scala Stream类读取大型CSV文件?

如何使用Scala Stream读取大型CSV文件(> 1 Gb)?你有代码示例吗?或者您是否会使用不同的方式来读取大型CSV文件而不先将其加载到内存中?

csv streaming scala large-files

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

HLS和MPEG-DASH有什么区别?

似乎两个协议都做同样的事情,但是一个优势是否优于另一个?

streaming http-live-streaming mpeg-dash

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