Vicente Louvet III created GUACAMOLE-2298:
---------------------------------------------

             Summary: guacenc: add -c option to encode recordings as VP9/VP8 
(WebM)
                 Key: GUACAMOLE-2298
                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-2298
             Project: Guacamole
          Issue Type: Improvement
          Components: guacenc
            Reporter: Vicente Louvet III
         Attachments: guacenc-vp9-webm.patch

Currently guacenc only produces MPEG-4 video (FILE.m4v). It would be useful to
also support a royalty-free, browser-native output format, so that recordings
can be played back directly in a browser and shared without codec-licensing
concerns. Encoding to VP9 (or VP8) in a WebM container covers this, and libvpx
is already available wherever guacenc's libavcodec is.

The attached patch adds an optional -c flag which selects the libavcodec
encoder by name. For example:

    guacenc -c libvpx-vp9 recording.guac    ->  recording.guac.webm

Details:

- With no -c option, guacenc encodes mpeg4 to FILE.m4v exactly as before. The
  default behavior is unchanged.
- The VP8 (libvpx) and VP9 (libvpx-vp9) encoders are written to a WebM (.webm)
  container. The output container is derived from the codec so the encoded
  stream always lands in a compatible container.
- A codec name that isn't available in the local libavcodec build logs a
  warning and falls back to mpeg4, rather than aborting the run.

guacenc already passes the codec name straight through to libavcodec, so no
encoding logic changed beyond the container selection and the new option. The
diff is small and self-contained -- guacenc only, no libguac / protocol /
client changes. A CUnit test suite under src/guacenc/tests covers the
codec-to-container mapping, and the man page documents the option.

I'm happy to open a pull request against guacamole-server if this looks
reasonable.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to