我将图像从远程视频源以大约每秒5帧的速度发送到我的数据库作为JPEG图像.我试图找出如何将这些图像转换为视频格式,以便我可以将实时视频源流式传输到Silverlight.
创建MJPEG流似乎有意义,但我遇到了一些问题.首先,我试图通过HTTP请求流,所以我没有与套接字达成协议,但这可能会破坏我的代码.
如果我尝试从QT冲浪到我的流我得到视频错误,媒体播放器显示第一帧图像和Silverlight崩溃:)
这是流的代码 - 因为我使用这种方式的内容类型只有在我知道它不理想并且可能是根本原因时才能发送.所有图像都通过LINQ2SQL对象进入.
我已经尝试过简单地更新Silverlight中图像控件的图像源,但闪烁是不可接受的.如果Silverlight不支持MJPEG,那么即使继续也没有意义,但看起来确实如此.我确实可以访问h.264帧,但通过MP4看起来更复杂.
Response.Clear();
Response.ContentType = "multipart/x-mixed-replace; boundary=--myboundary";
ASCIIEncoding ae = new ASCIIEncoding();
HCData data = new HCData();
var videos = (from v in data.Videos
select v).Take(50); // sample the first 50 frames
foreach (Video frame in videos)
{
byte[] boundary = ae.GetBytes("\r\n--myboundary\r\nContent-Type: image/jpeg\r\nContent-Length:" + frame.VideoData.ToArray().Length + "\r\n\r\n");
var mem = new MemoryStream(boundary);
mem.WriteTo(Response.OutputStream);
mem = new MemoryStream(frame.VideoData.ToArray());
mem.WriteTo(Response.OutputStream);
Response.Flush();
Thread.Sleep(200);
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
编辑:我有在firefox中工作的流,所以如果我浏览页面,我会看到视频!但没有其他人接受这种格式.不是IE,SL,媒体播放器 - 没什么.
我正在尝试创建提醒日历,以便添加和删除提醒.它实际上在我使用的设备(iPhone 5/4S/4)上运行良好,但在某些仍然是iPhone的客户端设备上 - 我在下面收到关于不支持提醒的帐户的错误.
这是工作流程:
* Init the event store.
* Request permission (check its granted for Reminder types) (iOS6+) for lower we just init.
* Create a new calendar, local storage, type = Reminder
* Save calendar to get its Identifier.
Run Code Online (Sandbox Code Playgroud)
在大多数情况下工作,这出现在一些设备上 -
Error Domain=EKErrorDomain Code=24 “That account does not support reminders.”
Run Code Online (Sandbox Code Playgroud)
权限在"设置","隐私","提醒"下授予和检查.我在文档中找不到有关您遇到此错误的条件的任何内容.
谢谢!
是的,听起来倒退了.我想在我的Silverlight应用程序中创建一个区域或框架,以便从我的网站托管另一个页面.我以前看过它,但我似乎找不到任何例子.
这样我可以使用SL控制整个页面布局,但仍然使用现有的aspx页面.
谢谢
我希望能够更改每个API网关方法中定义的终点,以便称为"Dev"的临时环境指向我的内部Dev API,Prod阶段当然会路由到我的Production API.
现在我必须手动更改每个方法,然后部署到prod stag但现在要进行任何测试我必须再次将它们全部更改为开发阶段.
我正在推进DNS交换机以将Dev移至Prod,但未来的开发仍需要对每种方法进行更改.
例:
我有一个名为User的资源和一个映射到终点的GET方法(HTTP代理) - > http://dev.mytestapp.com/api/v1/user
然后我部署到一个名为Dev的阶段 - 开发阶段给我一个URL来调用请求这个资源,例如.https://xxxxobl.execute-api.us-east-1.amazonaws.com/dev/user
现在我测试它并按预期工作,所以我想将它移动到一个生产阶段,只是称为阶段.当我部署到prod时,我的呼叫网址现在是https://xxxxobl.execute-api.us-east-1.amazonaws.com/prod/user
但问题是API仍然将终点映射到http://dev.mytestapp.com/api/v1/user,而不是http://prod.mytestapp.com/api/v1/user
所以我的舞台和网址已经改变,但被调用的实际API被硬编码为dev.
有任何想法吗?谢谢
对于C#(3.0)控制台应用程序来说,这是一个非常奇怪的安全问题.
应用程序创建一个文件夹并将一堆文件复制到该文件夹中,然后它还会生成一些文件并将它们保存到同一文件夹中.文件流始终关闭.复制的文件使用File.Copy完成.一旦文件在那里,我似乎无法再次访问它们 - 稍后在代码中,如果我想删除或打开现有文件我得到访问被拒绝错误但我刚刚创建或复制了那里的文件我知道我有权利!
Visual Studio 2008,Windows 7(测试版) - 尝试以管理员身份运行,但它没有帮助.我还给了父文件夹权限,以便"Everyone"具有写入权限,并且在我登录的用户文档文件夹下.
谢谢!
更新:我在XP上试过这个并且得到了相同的结果,所以它不是Win 7 :)