(id, video1, video2, names = {})
| 650 | } |
| 651 | |
| 652 | async function analyseSession(id, video1, video2, names = {}) { |
| 653 | const [meta1, meta2, frames1, frames2] = await Promise.all([ |
| 654 | ffprobe(video1), |
| 655 | ffprobe(video2), |
| 656 | decodeGray(video1), |
| 657 | decodeGray(video2) |
| 658 | ]); |
| 659 | const fps = meta1.fps || meta2.fps || 24; |
| 660 | const analysis = analyzeFrames(frames1, frames2, fps); |
| 661 | const session = { |
| 662 | id, |
| 663 | video1, |
| 664 | video2, |
| 665 | names: { |
| 666 | video1: cleanBaseName(names.video1 || video1, "video1"), |
| 667 | video2: cleanBaseName(names.video2 || video2, "video2") |
| 668 | }, |
| 669 | meta1, |
| 670 | meta2, |
| 671 | analysis, |
| 672 | createdAt: Date.now() |
| 673 | }; |
| 674 | sessions.set(id, session); |
| 675 | return session; |
| 676 | } |
| 677 | |
| 678 | async function handleAnalyze(req, res) { |
| 679 | try { |
no test coverage detected