标签: streaming

StreamCorruptedException:无效的类型代码:AC

我的问题是当它第二次尝试读取对象时,会抛出异常:

java.io.StreamCorruptedException: invalid type code: AC
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1356)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
    at Client.run(BaseStaInstance.java:313)

java.io.StreamCorruptedException: invalid type code: AC
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1356)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
    at Client.run(BaseStaInstance.java:313)
Run Code Online (Sandbox Code Playgroud)

我第一次发送完全相同的对象消息; 但是,当我第二次尝试做同样的事情时,它会抛出上面的错误.我是否需要重新初始化readObject()方法?我甚至打印出下面一行正在接收的消息对象,它与第一个正常工作的实例相同.

Object buf = myInput.readObject();
Run Code Online (Sandbox Code Playgroud)

我假设附加有一些问题,但我真的没有用于追加.我只想每次都阅读一条新线.我非常感谢帮助修复这个bug.谢谢.

==================================

在那一行之前,我只是在run()方法中为套接字创建输入和输出对象.对象声明在类中的run()方法之外: -

@Override
public void run() {
    try {
        sleep((int) 1 * 8000);
    } catch (Exception e) {
        e.printStackTrace();
    }

    try {
        //Creating input and output streams to transfer messages to the server
        myOutput = new ObjectOutputStream(skt.getOutputStream());
        myInput = new ObjectInputStream(skt.getInputStream());
        while (true) {
            buf = myInput.readObject();
        }
    } …
Run Code Online (Sandbox Code Playgroud)

java streaming multithreading object

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

从Amazon S3流式传输MP3

有没有办法通过嵌入在网站上的Flash小部件或其他方法流式传输存储在Amazon S3上的MP3?

streaming mp3 amazon-s3

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

如何使用nodejs流式传输MongoDB查询结果?

我一直在寻找一个如何将MongoDB查询的结果流式传输到nodejs客户端的示例.到目前为止我找到的所有解决方案似乎都会立即读取查询结果,然后将结果发送回服务器.

相反,我(显然)希望提供一个回调查询方法,并让MongoDB在结果集的下一个块可用时调用它.

我一直在看猫鼬 - 我应该使用不同的驱动程序吗?

一月

streaming mongodb node.js

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

WebAPI请求流支持

我正在编写一个ASP.NET Web API应用程序,它要求我接受文件上载并将该文件转发到另一个HTTP端点.

我担心如果许多用户尝试上传每个100MB的文件(这是一个有效的用例),那么我的应用程序将占用大量内存,并且根据大量请求的数量,这个足迹可能会变大,我的应用程序会龙骨过度死亡.

理想情况下,只要Web服务器开始接收文件以显着减少服务器上的负载,我就会开始将文件流式传输到其他HTTP端点.

我确信这个过程有一个名字,但我不知道 - 这使得搜索相当艰难.

我已经在Web API中使用Response Streaming做了很多工作,但我以前从未考虑过请求流.

我能说得最好我需要弄清楚如何:

  • 在完成上传之前开始处理流.
  • 使用HttpClient流式传输相同的请求,以将相同的数据流式传输到其他HTTP端点.

任何人都可以给我一些指示吗?

c# asp.net streaming asp.net-web-api

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

在Android中通过蓝牙接收音频

我想创建一个能够接收音频流的Android应用程序.我想过使用A2DP配置文件,但似乎Android不支持A2DP接收器.看起来有很多人在寻找这个问题的解决方案.但接收普通比特流,然后将数据转换为应用程序中的音频呢?我想通过RFCOMM(SPP蓝牙配置文件)接收PCM或Mp3数据流,然后使用AudioTrack播放它.

首先,如何通过RFCOMM在我的Android手机上接收比特流?是否可以通过RFCOMM作为PCM或Mp3流接收比特流?

其次,如果不能通过RFCOMM接收比特流作为PCM或Mp3流,我如何将接收的比特流转换为音频?

第三,如何将接收的数据转换为音频并同时"实时"播放音频?我可以使用onDataReceived吗?

要清楚,我对使用A2DP配置文件不感兴趣!我想通过RFCOMM(SPP蓝牙配置文件)传输数据.接收的数据流将采用PCM或Mp3.我想写自己的应用程序,但如果有人知道一个应用程序来解决这个问题,我很高兴听到它!我正在使用Android 2.3 Gingerbread.

/约翰尼

streaming android bluetooth audio-streaming rfcomm

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

动态创建zip并将其流式传输到客户端

我正在使用NodeJs(w/express),我正在尝试将zip文件流回客户端.zip中包含的文件不在文件系统上,而是动态创建.我想将文件内容流式传输到zip并将zip流式传输回客户端.

IE我希望客户端收到:

tmp.zip
 --> 1.txt
 --> 2.txt
 --> 3.txt
Run Code Online (Sandbox Code Playgroud)

其中1,2,3.txt即时创建并流式传输到zip文件.这可能吗?

streaming zip node.js express

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

Lustre,Gluster或MogileFS ?? 用于视频存储,编码和流媒体

这么多的选项和很少的时间来测试它们......我想知道是否有人有分布式文件系统的视频流和存储/编码经验.

我有很多巨大的视频文件(50GB到250GB),我需要存储在某个地方,能够将它们编码为mp4并从几个Adobe FMS服务器流式传输.处理所有这一切的唯一方法是使用分布式文件系统,但现在的问题是哪个?

到目前为止我的研究告诉我:

  • Lustre:成熟的成熟解决方案,被许多大公司使用,最好用> 10G文件是内核驱动程序.
  • Gluster:新的,不太成熟,基于FUSE意味着易于安装,但由于FUSE开销可能会更慢.最好处理大量的小文件〜1GB
  • MogileFS:似乎只适用于小文件~MB,使用HTTP进行访问?未来可能的FUSE绑定.

到目前为止,Lustre似乎是赢家,但我希望听到我所拥有的特定应用的真实体验.

此外,Hadoop,Redhat GFS,Coda和Windows DFS也可作为选项,因此欢迎任何体验.如果有人有基准,请分享.

经过一些实际经验后,这就是我所学到的:

  • 光泽:
    • 表现:惊人的快!我可以断言Lustre可以服务很多流,并且通过Lustre访问文件不会影响编码速度.
    • POXIS兼容性:非常好!无需修改应用程序即可使用光泽.
    • 复制,负载平衡和故障转移:非常糟糕!对于复制负载平衡我们和故障转移,我们需要依赖其他软件,如虚拟IP和DRDB.
    • 安装:最糟糕的!凡人都无法安装.需要非常具体的内核,光泽补丁和调整组合才能使其正常工作.目前的光泽补丁通常适用于与新硬件/软件不兼容的旧内核.
  • MogileFS:
    • 性能:适用于小文件但不适用于中型到大型文件.这主要是由于HTTP开销,因为所有文件都是通过HTTP请求发送/接收的,这些请求对base64中的所有数据进行编码,为每个文件增加了33%的开销.
    • POXIX兼容性不存在.所有应用程序都需要修改为使用mogilefs,因为大多数流服务器和编码工具都不了解MogileFS协议,因此它无法用于流/编码.
    • 通过一次访问多个跟踪器,可以在应用程序中实现开箱即用的复制和故障转移以及负载平衡.
    • 安装相对容易,大多数发行版中都有现成的软件包.我发现的唯一困难是设置数据库主从,以消除单点故障.
      • Gluster:
    • 性能:非常糟糕的流式传输.在10Gbps网络中,我无法达到超过几Mbps的速度.客户端和服务器CPU在大量写入时飙升.对于编码是有效的,因为CPU在网络和I/O之前已经饱和.
    • POXIS:几乎兼容.我使用的工具可以访问gluster挂载作为磁盘中的普通文件夹,但在某些边缘情况下,事情开始引起问题.检查gluster邮件列表,你会发现有很多问题.
    • 复制,故障转移和负载平衡:最好的!如果他们真的有效 Gluster非常新,它有很多bug和性能问题.
    • 安装太简单了.管理命令行非常棒,在多个服务器之间设置复制,条带和分布式卷并不容易.

定论:

不幸的是,结论是"没有单一的银弹".

目前,我们将Gluster3.2中的媒体文件放在复制卷中以进行存储和转码.只要您没有很多服务器,就可以避免地理复制和条带卷工作正常.

当我们要传输媒体文件时,我们将它们复制到通过DR:DB复制到第二个光泽卷的光泽卷.然后,wowza服务器从光泽卷中读取媒体文件.

最后,我们使用MogileFS来提供Web应用程序服务器中的缩略图.

video streaming microsoft-distributed-file-system

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

流媒体Youtube视频

我正在编写一个使用流媒体播放youtube视频的应用程序.

第一种方法:

我正在使用GData API获取视频的RTSP URL.以下是播放RTSP网址的代码.

   VideoView mVideoView = new VideoView(this);
   setContentView(mVideoView);
   mVideoView.setVideoURI(Uri.parse("rtsp://rtsp2.youtube.com/CiILENy73wIaGQkDwpjrUxOWQBMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp"));
   mVideoView.start();
Run Code Online (Sandbox Code Playgroud)

但它在G1设备和模拟器上都会抛出错误(模拟器根据邮件列表有一些防火墙问题)这是错误信息

ERROR/PlayerDriver(35):命令PLAYER_INIT已完成,错误或信息PVMFFailure

第二种方法:

http://www.youtube.com/get_video?v=&t = <>&<>获取3gp文件路径的黑客方法 .获取文件路径后,我可以调用setVideoURI,它可以正常播放.但这是达到要求的黑客方式.我也检查过Youtube应用程序,它也可以通过hack方式播放youtube网址.(使用logcat检查)

我尝试从VideoView更改为MediaPlayer,但没有更改错误.

有一种"干净"的方式吗?

请让我知道你的想法.

youtube streaming android android-mediaplayer android-videoview

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

GStreamer rtp流到vlc

我在弄清楚如何使用gstreamer创建一个简单的rtp流并在vlc上显示它时遇到了一些麻烦.

我安装了GStreamer 0.10.30和VLC 1.1.3.我唯一的要求是使用MPEG4或H.264编解码器.

现在,我可以通过这个简单的管道流式传输GStreamer videotestsrc:

gst-launch videotestsrc ! ffenc_mpeg4 ! rtpmp4vpay ! udpsink host=127.0.0.1 port=5000
Run Code Online (Sandbox Code Playgroud)

它输出客户端接收流所需的"上限":

/GstPipeline:pipeline0/GstUDPSink:udpsink0.GstPad:sink: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d8800f50a041e1463000001b24c61766335322e3132332e30, payload=(int)96, ssrc=(uint)365697461, clock-base=(uint)390754204, seqnum-base=(uint)10399
Run Code Online (Sandbox Code Playgroud)

我还可以使用以下管道显示流:

gst-launch udpsrc uri=udp://127.0.0.1:5000 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d88007d0a041e1463000001b24c61766335322e3132332e30, payload=(int)96, ssrc=(uint)298758266, clock-base=(uint)3097828288, seqnum-base=(uint)63478" ! rtpmp4vdepay ! ffdec_mpeg4 ! autovideosink
Run Code Online (Sandbox Code Playgroud)

但是当我尝试用vlc接收流时:

vlc -vvv rtp://127.0.0.1:5000
Run Code Online (Sandbox Code Playgroud)

我一无所获......

streaming vlc gstreamer

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

Apache Storm与Hadoop相比

Storm如何与Hadoop相比?Hadoop似乎是开源大规模批处理的事实标准,Storm有没有优于hadoop的优势?还是他们完全不同?

streaming hadoop apache-storm

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