我想通过Wcf将大图像发送到服务器.我可以将其作为字节[]传递.我该怎么做.什么是MTOM ...我在哪里可以找到样本......?
我正在开发能够播放目标广告的流媒体服务器.基本上听众会听到相同的音乐,但每一个,比方说,30分钟就会出现一块广告,每个听众都有自己的音乐.实现这样的流服务器带来了各种问题,这个问题就是其中之一.
服务器将以类似于Icecast的方式工作,即它将从某个流生成器通过网络读取流并将其转发给每个侦听器.当广播广告时,服务器停止从生成器获取流,从文件中读取广告并将它们插入到每个侦听器的缓冲区中,传输它们并从发生器的中继流中恢复.
当服务器从中继流切换到广播广告时,它必须连接两个MP3流(我们用MP3播放).我担心的是,简单地追加一个接一个的数据可能会产生一些可听到的伪像.可以无缝完成吗?
我已经想到了这个: - 我可以让服务器知道MP3帧,以避免同步错误. - 我正在考虑在流中的MP3帧之后从广告文件中添加MP3帧. - 由于广告是从正确编码的MP3文件中加载的,因此我避免了字节存储的问题,因为文件中的第一帧无法使用它.
但我担心的是MDCT的工作方式.听众不知道我的服务器会做什么,因此他们的MP3解码器可能会产生一些工件,因为不正确的MDCT数据会在他们下载的流中一个接一个地放置.广告文件开头的零填充是否会对此进行补偿?
你知道任何可以无缝地连接两个MP3文件而不解压缩它们的库/工具(如果可能的话,开源)吗?
你能指出任何描述MP3格式的好资源吗?我搜索了很多网,发现了很多信息,但我仍然想念整体情况.
也许你知道如果我使用像OGG/Vorbis,AAC这样的其他编解码器会更容易吗?
PS.这个问题并不重复合并mp3文件的最佳方法是什么?.mp3wrap和工具都不适合我.
几乎与服务器端推送相反,也称为Comet.我想知道是否可以使用长期的HTTP连接将信息推送到服务器.
与简单的XHR不同,连接将保持活动状态,并且数据将按时间间隔流式传输到服务器,因为用户完成了操作等.
使用标准技术我不相信这是可能的,但我愿意接受有关可能的开发或巧妙实现这一目标的建议.目的是完成向服务器的低延迟数据推送,以实现快速有效的单向流.
我对使用flash/java桥接器的套接字实现不感兴趣,因为服务跨域策略或获得java签名的麻烦.欢迎使用无需额外依赖性的原始黑客.优选地,解决方案将使用javascript完成.
我对密码学几乎一无所知,但我想弄清楚如何加密HTTP直播流并在iphone上解密.
HTTP加密的苹果文档内容如下:
////////////////////////////
包含流段的媒体文件可以单独加密.使用加密时,对索引文件中会出现对相应密钥文件的引用,以便客户端可以检索密钥以进行解密.
当索引文件中列出密钥文件时,密钥文件包含密码密钥,该密钥必须用于解密索引文件中列出的后续媒体文件.目前,HTTP Live Streaming支持使用16个八位字节密钥进行AES-128加密.密钥文件的格式是二进制格式的这16个八位字节的打包数组.
Apple提供的媒体流分段器提供加密,并支持三种配置加密的模式.
第一种模式允许您指定磁盘上现有密钥文件的路径.在此模式下,分段器将现有密钥文件的URL插入索引文件中.它使用此密钥加密所有媒体文件.
第二种模式指示分段器生成随机密钥文件,将其保存在指定位置,并在索引文件中引用它.使用此随机生成的密钥加密所有媒体文件.
第三种模式指示分段器生成随机密钥文件,将其保存在指定位置,在索引文件中引用它,然后每n个文件重新生成并引用一个新的密钥文件.此模式称为键旋转.每组n个文件使用不同的密钥加密.
您可以使用HTTP或HTTPS提供密钥文件.您还可以选择使用自己的基于会话的身份验证方案来保护密钥文件的传递.
/////////////////////////////////////////
使用加密方法1,这是我认为我需要做的:
谁能帮助解除雾气?
谢谢!!!!
我正在开发Android蓝牙项目,以便从定制硬件发送和接收数据.我在SDK中使用蓝牙聊天示例作为基础.
我正在将数据从一台设备发送到另一台设备(LG Nexus 4).一切都好,直到我达到1004字节的长度(这是音频数据).此时,在大多数情况下,它将其分为2个990和14字节的消息.但奇怪的是它有时发送1004没有分裂(大约4次100).
我送的1004个字节,其中有该包4个字节是我的头和1000个字节剩下的就是我想在头按指令用实际的数据,现在如果数据包分割按照上述方式比我做不到处理流程.
所以,请让我知道为什么包以这样的方式分割和我怎样才能制止这种分裂,或者,如果我不能做到这一点,不是请给我建议任何替代的方式来做到这一点.
谢谢.
通过websocket,我检索PNG格式的图像的二进制缓冲区(类似的东西).
我想将此PNG缓冲区加载到画布中,然后读取不同的像素以读取未压缩的数据.
我设法做到了,但这是愚蠢的:
function onBinaryMessage(/*ArrayBuffer*/ input) {
input = new Uint8Array(input);
var str = '';
for (var i = 0; i < input.byteLength; i++)
str = str + String.fromCharCode(input[i]);
var image = document.getElementById("image");
image.src = 'data:image/png;base64,' + btoa(str);
var c = document.getElementById("canvas");
var ctx = c.getContext("2d");
ctx.drawImage(image, 0, 0);
var imgData = ctx.getImageData(0, 0, image.width, image.height);
console.log(imgData);
}
Run Code Online (Sandbox Code Playgroud)
我必须将我的二进制文件转换成一个字符串来编码64这个字符串,而不是我影响我的图像src到这个新创建的encoded64字符串...浏览器必须将这个编码的64数据重新转换为我得到的原始PNG缓冲区...
有没有办法直接设置画布缓冲区?或者有什么方法可以更好地处理流媒体?
我想我可以使用File API将缓冲区写入临时文件,但创建文件会花费很多:(
有什么建议吗?
jplayer支持mp4.但是,我有一台服务器可以传输原始h.264视频.是否可以使用jPlayer直接在客户端流式传输?如果是,请告诉我应该怎么做.如果不是,我如何将视频放入mp4容器?
或者,是否有任何其他JS库或jQuery插件可用于显示h.264流?
我正在使用Twitter连接器。我想在一分钟后停止直播。谁能为此做个主意?我尝试了ssc.awaitTermination(60000)。但这没用。
这个问题是关于使用MPEG-DASH和/或HLS的视频流.我试图了解商业DRM系统(例如EZDRM,BuyDRM等)与简单加密流式传输(例如AES-128加密的HLS)相比所增加的价值.我在商业口号中有点迷失.
因此,如果我有实时或VOD流,如果我"免费"使用HLS,我可以轻松发送使用AES-128加密的流.在我看来,当我为我的MPEG-DASH流设置付费DRM时,基本上会发生相同的事情,流被加密并且细节以标准化方式共享(CENC).
因此,在播放器方面的两种情况下,我所需要的只是解密的关键.从任何Web服务单独获取该密钥应该不是什么大问题.这就是全部..?
基于此,实现一些自定义密钥提供程序服务将非常简单,但显然市场由大型提供商拥有,因此我必须在这里忽略一些重要方面.
(澄清一下:我不是在讨论DRM中的所有内容,只是当我有一些直播视频和一个提供这些视频的网站时)
任何帮助和良好的综合文章链接表示赞赏.
我有安装了Hadoop和Flume的服务器X,而且我的服务器Y既没有,也没有在同一个网络上.
服务器Y当前将数据存储到一个连续写入的日志文件中,直到在当天结束时附加日期戳并启动新的日志文件.
目标是使用flume将日志从服务器Y直播到服务器X,处理数据并将其放入HDFS.
我认为,最好的办法是在服务器Y上的syslog守护进程转发TCP通过这些事件,但有很多篮球的组织内逐步完成,即使知道可以这样做.另一个选项是(选项2 :)以某种方式从服务器Y的目录中的文件中读取,或者(选项3 :)将目录安装到服务器X,将目录视为假脱机目录.选项2的问题在于服务器Y没有安装水槽,这样做是不可能的.选项2和3的问题在于传入的信息可能不是活动的,并且在每天结束的过渡期间可能存在数据丢失.还有一个身份验证问题,必须使用单独的用户名和密码登录到服务器Y. 我们显然无法将信息硬编码到连接配置中.
我的主要问题是:是否需要在源服务器上安装Flume才能使此设置生效?水槽代理可以专门在服务器X上运行吗?哪个选项是理想的?
streaming ×10
javascript ×3
aes ×1
ajax ×1
android ×1
apache-spark ×1
buffer ×1
comet ×1
connector ×1
drm ×1
encryption ×1
flume ×1
h.264 ×1
hadoop ×1
html5 ×1
html5-canvas ×1
http ×1
iphone ×1
jplayer ×1
jquery ×1
logging ×1
lossless ×1
mp3 ×1
mpeg-dash ×1
scala ×1
syslog ×1
twitter ×1
wcf ×1
wcf-client ×1