public async Task <IActionResult> Post([FromBody] VideoProcess body) { var videoProcessing = new VideoProcessing(_webHostEnvironment); videoProcessing.SplitVideoIntoFrames(body.ImageName); Hashtable result = new Hashtable(); result.Add("imageId", Path.GetFileNameWithoutExtension(body.ImageName)); return(Json(result)); }
public MainForm() { this.eventAggregator = new EventAggregator(); this.eventAggregator.Subscribe <NewBitmapEvent>(HandleNewBitMap); this.videoProcessing = new VideoProcessing(this.eventAggregator); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { app.UseWebSockets(); app.UseRouting(); app.UseCors(MyAllowSpecificOrigins); app.UseEndpoints(endpoints => { endpoints.MapGet("/video/{standard:int}/{subject:alpha}/{lectureid:int}", async context => { if (context.WebSockets.IsWebSocketRequest) { VideoProcessing stream = new VideoProcessing(); WebSocket webSocket = await context.WebSockets.AcceptWebSocketAsync(); await foreach (var videoByte in stream.CoreProcessingLogic(context)) { await Task.Delay(1000); await webSocket.SendAsync(videoByte, WebSocketMessageType.Binary, true, CancellationToken.None); } await webSocket.CloseAsync(WebSocketCloseStatus.NormalClosure, "Video Stream is completed", CancellationToken.None); } else { await context.Response.WriteAsync("Hello World!"); } }); endpoints.MapGet("/metadata", async context => { Root obj = new Root(); List <Metadata> listofVideos = new List <Metadata>(); using (XLWorkbook wb = new XLWorkbook("metadata-info.xlsx")) { var ws = wb.Worksheets.First(); var range = ws.RangeUsed(); for (int i = 1; i < range.RowCount() + 1; i++) { Metadata data = new Metadata(); for (int j = 1; j < range.ColumnCount() + 1; j++) { switch (j) { case 1: data.Standard = ws.Cell(i, j).Value.ToString(); break; case 2: data.Subject = ws.Cell(i, j).Value.ToString(); break; case 3: data.Lecture = (ws.Cell(i, j).Value).ToString(); listofVideos.Add(data); break; } } } } foreach (var value in listofVideos) { if (obj.standards.ContainsKey(value.Standard)) { var valueFromKey = obj.standards[value.Standard]; if (valueFromKey.subjects.ContainsKey(value.Subject)) { var subjectfromkey = valueFromKey.subjects[value.Subject]; if (subjectfromkey.lectures.ContainsKey(value.Lecture)) { //do nothing } else { var lecture = new lecture(); lecture.lectureid = value.Lecture; subjectfromkey.lectures.Add(value.Lecture, lecture); } } else { var subject = new subject(); subject.name = value.Subject; valueFromKey.subjects.Add(value.Subject, subject); var subjectfromkey = valueFromKey.subjects[value.Subject]; if (subjectfromkey.lectures.ContainsKey(value.Lecture)) { //do nothing } else { var lecture = new lecture(); lecture.lectureid = value.Lecture; subjectfromkey.lectures.Add(value.Lecture, lecture); } } } else { standard std = new standard(); std.name = value.Standard; obj.standards.Add(value.Standard, std); var valueFromKey = obj.standards[value.Standard]; if (valueFromKey.subjects.ContainsKey(value.Subject)) { var subjectfromkey = valueFromKey.subjects[value.Subject]; if (subjectfromkey.lectures.ContainsKey(value.Lecture)) { //do nothing } else { var lecture = new lecture(); lecture.lectureid = value.Lecture; subjectfromkey.lectures.Add(value.Lecture, lecture); } } else { var subject = new subject(); subject.name = value.Subject; valueFromKey.subjects.Add(value.Subject, subject); var subjectfromkey = valueFromKey.subjects[value.Subject]; if (subjectfromkey.lectures.ContainsKey(value.Lecture)) { //do nothing } else { var lecture = new lecture(); lecture.lectureid = value.Lecture; subjectfromkey.lectures.Add(value.Lecture, lecture); } } } } var values = JsonConvert.SerializeObject(obj); await context.Response.WriteAsync(values); }); }); }