Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(video): switch vp8 in ffmpeg to realtime #5260

Merged
merged 1 commit into from Feb 3, 2021
Merged

feat(video): switch vp8 in ffmpeg to realtime #5260

merged 1 commit into from Feb 3, 2021

Conversation

dgozman
Copy link
Contributor

@dgozman dgozman commented Feb 2, 2021

This switches vp8 to "realtime" mode that works fast, adapting to
the speed of incoming frames, and produces the best quality in can
given realtime constraints.

In practice, this gives 2x larger video files but no noticible quality
difference. It also eliminates huge delays for encoding the video.

Drive-by: document our ffmpeg option choices and add some links
to documentation for future use.

This switches vp8 to "realtime" mode that works fast, adapting to
the speed of incoming frames, and produces the best quality in can
given realtime constraints.

In practice, this gives 2x larger video files but no noticible quality
difference. It also eliminates huge delays for encoding the video.

Drive-by: document our ffmpeg option choices and add some links
to documentation for future use.
@yury-s
Copy link
Member

yury-s commented Feb 2, 2021

For the record, I ran this script with different setting on Ubuntu 20.04 and got the following numbers:

  • Video resolution == page resolution
with patch:
1 core:
VIDEO SAVE: 36392.871ms
4 cores:
VIDEO SAVE: 8765.019ms

current behavior:
1 core:
VIDEO SAVE: 109553.257ms
4 cores:
VIDEO SAVE: 35889.124ms
  • Video resolution = 800x600
with patch:
1 core:
VIDEO SAVE: 6845.509ms
4 cores:
VIDEO SAVE: 1206.802ms

current behavior:
1 core:
VIDEO SAVE: 16504.808ms
4 cores:
VIDEO SAVE: 3164.540ms

@dgozman dgozman merged commit 1a464c7 into microsoft:master Feb 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants