Trying to use encodebin and its profiles. The documentations here: https://gstreamer.freedesktop.org/documentation/pbutils/encoding-profile.html?gi-language=c#defining-a-gstencodingprofile-as-a-string and there: https://gstreamer.freedesktop.org/data/doc/gstreamer/1.9/gst-plugins-base-libs/html/gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile list examples, but they don't really explain how I actually construct those strings.
It names the generic muxer_source_caps:video_encoder_source_caps:audio_encoder_source_caps
format, but where do I get muxer_source_caps from. application/ogg:audio/x-vorbis
from the examples works totally fine.
For instance, how would I proceed to figure out the needed profile to encode to aac in an mp4 container.
Making wild guesses to use mime types from https://github.com/GStreamer/gstreamer/blob/cc55b304ef4ab1cd95f6348d33f268ccebaab8e8/docs/random/mimetypes also won't work.
all attempts are failing with WARNING: erroneous pipeline: could not set property "profile" in element "enc"
or some longer errors when only using audio/x-m4a
without a muxer_source_cap
thanks
at least for ogg, though it doesn't work that way for the other formats I tried.
by using gst-inspect-1.0 | grep ogg -i
oggmux can be found
gst-inspect-1.0 oggmux
yields, among other things:
SINK template: 'audio_%u'
Availability: On request
Capabilities:
audio/x-vorbis
SRC template: 'src'
Availability: Always
Capabilities:
application/ogg
muxer_source_caps is SRC template
, which is application/ogg
audio_encoder_source_caps is SINK template
, which is audio/x-vorbis
makes application/ogg:audio/x-vorbis
sometimes there are variables, like layer
in xingmux. Those are added like:
audio/mpeg,mpegversion=1,layer=3