我正在创建TCP远程桌面广播应用程序.(服务器应用程序会像Team Viewer或VNC那样)
1. run on a PC listening for multiple clients on one Thread
2. and on another thread it will record the desktop every second
3. and it will broadcast the desktop for each connected client.
Run Code Online (Sandbox Code Playgroud)
我需要使这个应用程序可以在12KBps上传和50KBps下载DSL连接(客户端和服务器)的连接上运行.
所以..我必须减少每秒发送的数据/图像的大小.
我尝试通过以下方式减少.
I. first i send a Bitmap frame of the desktop and each other time i send only the difference of the previously sent frame.
II. the second way i tried was, each time i send a JPEG frame. …Run Code Online (Sandbox Code Playgroud) 我有一个Django应用程序,它生成视频块到服务器的文件系统中的文件夹.我需要在生成这些块时流式传输这些块,以便用户可以在浏览器中将应用程序的输出视为单个视频.
我无法找到正确方向的解决方案来实现这一目标.有任何想法吗??
好的,我在这里阅读了有关PBO的所有内容:http://www.opengl.org/wiki/Pixel_Buffer_Object ,还有http://www.songho.ca/opengl/gl_pbo.html,但我还有一个问题,我不知道我知道在我的情况下,我是否会从公益组织中获得任何好处:
我正在做视频流,目前我有一个函数将我的数据缓冲区复制到3个不同的纹理,然后我在片段着色器中做一些数学运算并显示纹理.
我认为PBO可以增加上传时间CPU - > GPU,但是这里就是说,我们这里的例子来自上面的第二个链接.
glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_ARB, pboIds[nextIndex]);
// map the buffer object into client's memory
// Note that glMapBufferARB() causes sync issue.
// If GPU is working with this buffer, glMapBufferARB() will wait(stall)
// for GPU to finish its job. To avoid waiting (stall), you can call
// first glBufferDataARB() with NULL pointer before glMapBufferARB().
// If you do that, the previous data in PBO will be discarded and
// glMapBufferARB() returns a …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用VLC在Window 7 Basic的命令行中保存在线视频.
以下是我尝试和部分工作的一些事情:
I:\movies> vlc http://media.ch9.ms/ch9/7492/a92ae0a6-7b81-4114-b102aa055d147492/E2EMeijerBrachaDartMonadsContinuations.wmv --sout="#duplicate{dst=std{access=file,mux=wmv,dst='file.wmv'}, dst=display}"
Run Code Online (Sandbox Code Playgroud)
它在流式传输时播放视频,并且还将流保存到file.wmv.但保存的视频没有音频!该命令部分起作用.
youtube的另一个尝试:
I:\movies> vlc http://www.youtube.com/watch?v=TFr6G5zveS8 --sout="#duplicate{dst=std{access=file,mux=wmv,dst='file.wmv'}, dst=display}"
Run Code Online (Sandbox Code Playgroud)
结果相同:保存的视频没有音频.我在命令行中更改mux=wmv,dst='file.wmv'为mux=webm,dst='file.webm',然后再次运行:
I:\movies> vlc http://www.youtube.com/watch?v=TFr6G5zveS8 --sout="#duplicate{dst=std{access=file,mux=webm,dst='file.webm'}, dst=display}"
Run Code Online (Sandbox Code Playgroud)
它只创建了文件,但既不是视频也不是音频.我再试一次mux=mp4,dst='file.mp4'.同样的结果:视频和音频,但它创建了文件.
知道如何解决这个问题吗?我错过了什么?
至于vlc我正在使用哪个版本,该命令vlc --version给出了:
VLC version 2.0.6 Twoflower (2.0.6-7-g729aa7a)
Compiled by fun on fat (Apr 8 2013 23:22:26)
Compiler: gcc version 4.6.3 (GCC)
Run Code Online (Sandbox Code Playgroud) 我有一个Windows应用程序(C#/ XAML),它与REST服务进行通信.在某些时候,我需要播放此服务提供的视频流.
如果我只是将流URI分配给MediaElement.Source属性,它就不起作用,因为需要对请求进行身份验证.我需要定制通过发送请求MediaElement控制,以增加饼干,凭证和其他一些自定义页眉,但我找不到任何方法或属性做到这一点.
我该怎么做?它甚至可能吗?
c# authentication video-streaming windows-runtime windows-store-apps
我试图建立谷歌眼镜的应用程序,可以流到服务器,并有一个客户端通过Web浏览器查看信息流.到目前为止,我似乎需要通过RTSP到Wowza等媒体服务器这样做,然后有一个托管一些视频播放器的Web服务器来查看RTMP流,但我没有太多运气.
使用libstreaming(https://github.com/fyhertz/libstreaming)我永远无法查看流.
我也有兴趣使用WebRTC做一些事情,这样我就可以制作类似于Hangouts的解决方案,但我不确定是否有任何支持这个的库.
任何帮助表示赞赏.
我需要找到适用于Android的Google的HTTP直播流(HLS)源代码.
在尝试使用NVEnc将OpenGL帧作为H264进行流式传输时,我碰到了一堵完整的砖墙.我已经在这个特殊问题上待了将近8个小时而没有任何进展.
问题是调用nvEncRegisterResource(),代码-23总是失败(枚举值NV_ENC_ERR_RESOURCE_REGISTER_FAILED,记录为"未能注册资源" - 感谢NVidia).
我正在尝试遵循奥斯陆大学本文档中概述的程序(第54页,"OpenGL互操作"),因此我知道这应该有用,但遗憾的是,该文档并未提供代码本身.
这个想法相当简单:
正如我所说,问题是第(3)步.以下是相关的代码片段(为简洁起见,我省略了错误处理.)
// Round up width and height
priv->encWidth = (_resolution.w + 31) & ~31, priv->encHeight = (_resolution.h + 31) & ~31;
// Allocate CUDA "pitched" memory to match the input texture (YUV, one byte per component)
cuErr = cudaMallocPitch(&priv->cudaMemPtr, &priv->cudaMemPitch, 3 * priv->encWidth, priv->encHeight);
Run Code Online (Sandbox Code Playgroud)
这应该分配设备上的CUDA内存("倾斜"类型,尽管我也尝试过非音调,但结果没有任何改变.)
// Register the CUDA buffer as an input resource
NV_ENC_REGISTER_RESOURCE regResParams = { 0 };
regResParams.version = NV_ENC_REGISTER_RESOURCE_VER;
regResParams.resourceType = NV_ENC_INPUT_RESOURCE_TYPE_CUDADEVICEPTR; …Run Code Online (Sandbox Code Playgroud) 关于自适应流媒体播放器的行为(具体地说我对HLS和DASH感兴趣),它应该多久重新加载播放列表?这是指定还是由播放器实现?
当它重新加载播放列表时,是仅针对所谓的变体播放列表还是每次重新加载主节点?
这对于直播和点播内容有何不同?
我有创建视频聊天的任务,这将允许两个人互相交流.我的应用程序架构是:前端 Angular 2/typescript,后端:java,spring boot(和子模块).一切正常,但我有理解如何制作视频流的问题.我一直在寻找任何框架,但我失败了.据我所知,WebSocket在这项任务中没有帮助我,也不适合使用它.另外据我所知,Spring没有任何工具可以解决任务.我是否真的需要通过java中存在的干净UDP创建流媒体,或者还有另一种方式,任何为这个任务提供更高接口的框架?