标签: streaming

WPF - 透明度 - 流桌面内容

问候

我正在为游戏制作记分牌(星际争霸II).此记分板是作为具有C#代码隐藏的WPF应用程序制作的.我已经有一个在WinForms中可以使用90%的版本,但我缺乏支持,可以轻松地让它在WPF中看起来更好看.

这个应用程序的要点是在正在运行的游戏之上形成一种叠加.这个游戏是在Fulscreen(窗口模式),所以当在WinForms中我编码它,它应该始终在顶部.它会这样做,这没有问题.

由于WPF中应用程序的主要外观基于具有透明背景的图像,因此我将大多数背景值设置为透明.但是,当我这样做时,整个应用程序都没有通过流媒体软件注册.例如,它只是显示我的桌面或我正在玩的游戏,但不是我的应用程序,即使它在那里.我可以亲眼看到它,但流上的观众不能.

有没有人对这个问题有任何经验,因为它确实是我的头脑.如果它在流上不可见,我的整个应用程序将毫无用处.如果我必须将背景设置为颜色而不是透明,则UI的外观也将被完全拆除.

我基本上试图在C#和WPF中进行游戏覆盖.我已经读过你可以用不同的方式做到这一点但我对C++几乎一无所知,也对DirectX一无所知

感谢您抽出时间阅读以及您可能获得的见解.

编辑:最好的解决方案是覆盖类似于Steam/Xfire/Dolby Axon的覆盖.

编辑2:我对所有的建议都没有运气,所以我基本上使我的图像的透明位不透明,让用户根据他们将使用的流媒体软件决定使用哪一个.

c# wpf streaming transparency

16
推荐指数
1
解决办法
2341
查看次数

通过TCP选择JSON的传输

我正在编写一个简单的流式JSON服务.它由间歇性发送的JSON消息组成,持续很长一段时间(数周或数月).

通过普通TCP套接字发送多个JSON消息的最佳实践是什么?

我看过的一些替代方案(及其缺点)是:

  1. 换行符分隔JSON - 缺点:JSON中的换行符需要转义或禁止
  2. websocket灵感来自0x00 0xff框架 - 缺点:它现在是二进制,而不是utf-8
  3. 真正的websockets - 缺点:缺乏(opensource)websocket 客户端
  4. http multipart http://www.w3.org/Protocols/rfc1341/7_2_Multipart.html - 缺点:不完整的客户支持?
  5. 没有分隔符 - 缺点:分块需要JSON解析(不能只计算curlies因为字符串中的curlies)

这样做是否有良好的,或至少是完善的方式?

streaming json multipart websocket ldjson

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

将字符串写入文件末尾(C++)

我已经形成了一个程序,它有一个字符串,我想要流式传输到现有文本文件的末尾.我所拥有的一切都是这样的:(C++)

 void main()
{
   std::string str = "I am here";
   fileOUT << str;
}
Run Code Online (Sandbox Code Playgroud)

我意识到还有很多东西要添加到这里,如果看起来我要求人们为我编码,我会道歉,但我完全迷失了,因为我以前从未做过这种类型的编程.

我尝试过不同的方法,我已经遇到了互联网,但这是最接近的工作,有点熟悉.

c++ string streaming file

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

将StringBuilder传递给文件

我需要创建一个大型文本文档.我目前StringBuilder用来制作文件然后打电话File.WriteallText(filename,sb.ToString).不幸的是,这现在开始抛出内存异常.

有没有更好的方法来流式传输StringBuilder文件,还是我应该使用其他一些技术?

c# string streaming stringbuilder file

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

Jersey REST支持简历/媒体流

我需要支持Jersey REST上的简历,我试图这样做:

@Path("/helloworld")
public class RestServer {

@GET

@Path("say")
@Produces("audio/mp3")
public Response getMessage(@HeaderParam("Range") String r ) throws IOException{
    String str="/Users/dima/Music/crazy_town_-_butterfly.mp3";

    System.out.println(r);
    RandomAccessFile f=new RandomAccessFile(str, "r");

    int off=0;
    int to=(int)f.length();
    byte[] data ;
    if(r!=null){
        String from=r.split("=")[1].split("-")[0];
        String t=r.split("=")[1].split("-")[1];
        off=Integer.parseInt(from);
        to=Integer.parseInt(t);

    }
    data= new byte[to-off];
    f.readFully(data, off, to-off);

    ResponseBuilder res=Response.ok(data)
            .header("Accept-Ranges","bytes")
            .header("Content-Range:", "bytes "+off+"-"+to+"/"+data.length)
            .header("Pragma", "no-cache");;

            if(r==null){
                res=res.header("Content-Length", data.length);
            }
            f.close();

            Response ans=res.build();

            return ans;


}
}
Run Code Online (Sandbox Code Playgroud)

我希望能够流式播放MP3,以便浏览器可以搜索音乐,但在Safari中它仍然无法正常工作.有任何想法吗?

media rest streaming resume jersey

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

Android:将相机作为mjpeg流式传输

经过几天搜索SO和google我开始放弃了,所以我想我也可以在这里发帖.

我正在创建一个应该提供某种视频聊天的Android应用程序.由于这应该是尽可能接近到实时的,我也读到了各种协议,并决定尝试MJPEG对于初学者(不与音频有关现在).

现在流式传输数据让我疯狂.连接建立后,应用程序开始将相机预览帧写入流,但VLC和mplayer都不会开始播放视频.监视连接显示数据已到达.

连接 此代码由异步任务执行,成功通知侦听器:

try
    {
        ServerSocket server = new ServerSocket(8080);

        socket = server.accept();

        server.close();

        Log.i(TAG, "New connection to :" + socket.getInetAddress());

        stream = new DataOutputStream(socket.getOutputStream());
        prepared = true;
    }
    catch (IOException e)
    {
        Log.e(TAG, e.getMessage();
    }
Run Code Online (Sandbox Code Playgroud)

在我的电脑上,我执行'mplayer http://tabletIP:8080',平板电脑注册一个连接(从而启动我的流光和相机预览).这也适用于VLC.

Streaming将标头写入流:

if (stream != null)
{
    try
    {
        // send the header
        stream.write(("HTTP/1.0 200 OK\r\n" +
                      "Server: iRecon\r\n" +
                      "Connection: close\r\n" +
                      "Max-Age: 0\r\n" +
                      "Expires: 0\r\n" +
                      "Cache-Control: no-cache, private\r\n" + 
                      "Pragma: no-cache\r\n" + 
                      "Content-Type: multipart/x-mixed-replace; " …
Run Code Online (Sandbox Code Playgroud)

java streaming android mjpeg

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

如何使用pyglet播放流式音频?

这个问题的目标是试图弄清楚如何使用pyglet播放流式音频.第一个是确保你能够使用pyglet播放mp3文件,这就是第一个片段的目的:

import sys
import inspect
import requests

import pyglet
from pyglet.media import *

pyglet.lib.load_library('avbin')
pyglet.have_avbin = True


def url_to_filename(url):
    return url.split('/')[-1]


def download_file(url, filename=None):
    filename = filename or url_to_filename(url)

    with open(filename, "wb") as f:
        print("Downloading %s" % filename)
        response = requests.get(url, stream=True)
        total_length = response.headers.get('content-length')

        if total_length is None:
            f.write(response.content)
        else:
            dl = 0
            total_length = int(total_length)
            for data in response.iter_content(chunk_size=4096):
                dl += len(data)
                f.write(data)
                done = int(50 * dl / total_length)
                sys.stdout.write("\r[%s%s]" % ('=' * done, ' ' * …
Run Code Online (Sandbox Code Playgroud)

python audio streaming pyglet audio-streaming

16
推荐指数
1
解决办法
965
查看次数

如何在asp.net中流式传输视频内容?

我有以下代码下载视频内容:

WebRequest wreq = (HttpWebRequest)WebRequest.Create(url);
using (HttpWebResponse wresp = (HttpWebResponse)wreq.GetResponse())
using (Stream mystream = wresp.GetResponseStream())
{
  using (BinaryReader reader = new BinaryReader(mystream))
  {
    int length = Convert.ToInt32(wresp.ContentLength);
    byte[] buffer = new byte[length];
    buffer = reader.ReadBytes(length);

    Response.Clear();
    Response.Buffer = false;
    Response.ContentType = "video/mp4";
    //Response.BinaryWrite(buffer);
    Response.OutputStream.Write(buffer, 0, buffer.Length);
    Response.End();
  }
}
Run Code Online (Sandbox Code Playgroud)

但问题是整个文件在播放之前下载.如何进行流式处理和播放,因为它仍在下载?或者由客户/接收器应用程序来管理?

.net c# asp.net streaming video-streaming

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

什么130秒超时正在杀死我的WCF流媒体服务电话?

就在最近,我开始研究WCF流的棘手问题,如果客户端在发送到服务器之间等待的时间超过130秒,则会产生CommunicationException.

以下是完整的例外情况:

System.ServiceModel.CommunicationException was unhandled by user code
  HResult=-2146233087
  Message=The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '23:59:59.9110000'.
  Source=mscorlib
  StackTrace:
    Server stack trace: 
       at System.ServiceModel.Channels.HttpOutput.WebRequestHttpOutput.WebRequestOutputStream.Write(Byte[] buffer, Int32 offset, Int32 count)
       at System.IO.BufferedStream.Write(Byte[] array, Int32 offset, Int32 count)
       at System.Xml.XmlStreamNodeWriter.FlushBuffer()
       at System.Xml.XmlStreamNodeWriter.GetBuffer(Int32 count, Int32& offset)
       at System.Xml.XmlUTF8NodeWriter.InternalWriteBase64Text(Byte[] buffer, Int32 offset, Int32 count)
       at System.Xml.XmlBaseWriter.WriteBase64(Byte[] …
Run Code Online (Sandbox Code Playgroud)

streaming wcf iis-7 .net-4.0 basichttpbinding

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

如何使用Symfony测试客户端检索流式响应(例如,下载文件)

我正在用Symfony2编写功能测试.

我有一个控制器调用一个getImage()流式传输图像文件的函数,如下所示:

public function getImage($filePath)
    $response = new StreamedResponse();
    $response->headers->set('Content-Type', 'image/png');

    $response->setCallback(function () use ($filePath) {
        $bytes = @readfile(filePath);
        if ($bytes === false || $bytes <= 0)
            throw new NotFoundHttpException();
    });

    return $response;
}
Run Code Online (Sandbox Code Playgroud)

在功能测试中,我尝试使用Symfony测试客户端请求内容,如下所示:

$client = static::createClient();
$client->request('GET', $url);
$content = $client->getResponse()->getContent();
Run Code Online (Sandbox Code Playgroud)

问题是它$content是空的,我猜是因为客户端收到HTTP头后立即生成响应,而不等待传递数据流.

有没有办法捕获流式响应的内容,同时仍然使用$client->request()(甚至一些其他功能)将请求发送到服务器?

streaming functional-testing symfony symfony-2.1

15
推荐指数
3
解决办法
6420
查看次数