microsoftgraph / microsoftgraph/microsoft-graph-comms-samples

PolicyRecordingBot and FFMPEG: How do you recover video from received frames and timestamps?

Open
#731 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
253
Forks
275
Avg merge
1d 5h
Merged PRs (30d)
1

Description

PolicyRecordingBot receives H264 frames (Buffer.Data) and some metadata related to them like Timestamp. This data can be read from VideoMediaReceivedEventArgs object.
As I understand, those frames are inter-frame compressed.
Also, I noticed that resolution of those frames can change.
Timestamps are like this one 39264692280552704. That represents year 125 if fed to new DateTime(39264692280552704), so I need to add 1899 years to get a real date.
I merged all the H264 frames in one file like input.h264 and saved all the timestamps in another file like metadata.json. In metadata.json, each object describes a single frame from input.h264.

My question is how to recover the source video from frames and timestamps that I received from Teams? Particularly, using FFMPEG.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with PolicyRecordingBot and the VideoMediaReceivedEventArgs data described in the issue, then review how FFMPEG handles the received H264 frames, timestamps, and changing resolution. Confirm the timestamp interpretation and define a reproducible recovery procedure; done means the issue has actionable guidance for reconstructing the source video.

Written by the indexing model from the issue text.

Assessment

Domain
audio-video-rtc
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.