假设有一个连续的http视频流(编码是H.264)来自相机的URL
由于某些安全原因,我无法将此URL暴露给我的用户(或者假设只能在Intranet中访问),所以现在我想使用我的用户可以访问的ASP.Net应用程序将此流重定向到另一个URL.
建议使用ASP.NET 4.0和IIS 7.5或任何其他开源插件或Expression Encoder实现此目的的方法.是否可以使用一些URL屏蔽?
asp.net video-streaming windows-media-services expression-encoder-4
我们每晚都在TeamCity构建服务器上运行Selenium测试.
我们有一些测试在我们的夜间运行期间间歇性地失败.
失败测试的屏幕截图并没有真正提供答案,所以我想记录失败测试的执行情况.
我已经实现了以下内容来记录我想要调查的测试的测试执行情况.
ScreenCaptureJob = new ScreenCaptureJob
{
CaptureRectangle = Screen.PrimaryScreen.Bounds,
ShowFlashingBoundary = true,
OutputPath = outputPath
};
ScreenCaptureJob.Start();
Debug.WriteLine($"Status: {ScreenCaptureJob.Status}");
Test code...
ScreenCaptureJob.Stop();
Run Code Online (Sandbox Code Playgroud)
如果测试失败,我会对捕获的视频进行编码并保存.当我在本地运行测试时,这很好用.
但是,当我在构建服务器上运行它时,ScreenCaptureJob的状态为NotStarted.
没有临时文件写入光盘,因此测试失败时无需编码.
MediaItem mediaItem = new MediaItem(fileName);
Job job = new Job();
job.MediaItems.Add(mediaItem);
job.ApplyPreset(Presets.VC1HD720pVBR);
job.OutputDirectory = outputPath;
job.Encode();
Run Code Online (Sandbox Code Playgroud)
当我尝试从临时文件创建新的MediaItem时发生异常.
TestCleanup method UITests.FailingTest.TestCleanup threw exception. Microsoft.Expression.Encoder.InvalidMediaFileException: Microsoft.Expression.Encoder.InvalidMediaFileException: File not found.
Run Code Online (Sandbox Code Playgroud)
EE4安装在构建服务器上,我已经测试了使用EE4程序本身的捕获.
有没有人知道为什么ScreenCaptureJob无法在服务器上启动?
c# teamcity selenium expression-encoder-4 windows-server-2012-r2