[PATCH 0/3] Add VNC Open H.264 Encoding

Dietmar Maurer posted 3 patches 8 months, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20250408071532.2417316-1-dietmar@proxmox.com
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>
There is a newer version of this series
meson.build                   |  10 ++
meson_options.txt             |   2 +
scripts/meson-buildoptions.sh |   5 +-
ui/meson.build                |   1 +
ui/vnc-enc-h264.c             | 269 ++++++++++++++++++++++++++++++++++
ui/vnc-jobs.c                 |  49 +++++--
ui/vnc.c                      |  46 +++++-
ui/vnc.h                      |  24 +++
8 files changed, 389 insertions(+), 17 deletions(-)
create mode 100644 ui/vnc-enc-h264.c
[PATCH 0/3] Add VNC Open H.264 Encoding
Posted by Dietmar Maurer 8 months, 2 weeks ago
As defined by:

https://github.com/rfbproto/rfbproto/blob/master/rfbproto.rst#open-h-264-encoding

The noVNC HTML application recently added support for this encoding. There is
also an open pull request to add audio support to noVNC:

https://github.com/novnc/noVNC/pull/1952

With that in place, the web based VNC console is good enough to display
a VM showing a video with reasonable bandwidth.

Possible improvements:

- Dynamic switching to/from H264 mode at high change rates
- Support for hardware encoders

We may also extend the RFB Audio protocol with "opus" encoding, because uncompressed
audio need too much bandwidth.


Dietmar Maurer (3):
  new configure option to enable gstreamer
  add vnc h264 encoder
  vnc: h264: send additional frames after the display is clean

 meson.build                   |  10 ++
 meson_options.txt             |   2 +
 scripts/meson-buildoptions.sh |   5 +-
 ui/meson.build                |   1 +
 ui/vnc-enc-h264.c             | 269 ++++++++++++++++++++++++++++++++++
 ui/vnc-jobs.c                 |  49 +++++--
 ui/vnc.c                      |  46 +++++-
 ui/vnc.h                      |  24 +++
 8 files changed, 389 insertions(+), 17 deletions(-)
 create mode 100644 ui/vnc-enc-h264.c

-- 
2.39.5