Decklink multi-channel audio source

John P Poet jppoet at gmail.com
Thu Sep 8 14:52:17 UTC 2016


On Thu, Sep 8, 2016 at 12:33 AM Sebastian Dröge <sebastian at centricular.com>
wrote:

> On Wed, 2016-09-07 at 23:14 +0000, John P Poet wrote:
> >
> > Hi Sebastian,
> >
> > I am attaching my attempt at this.
>
> Thanks, can you put it into Bugzilla? We're using that for patch review
> / discussions:
>
>   https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer


Will do.


> > Unfortunately it does not quite work.  I cannot figure out how to get
> > 8 channels of audio encoded into ac3.  With this pipeline:
> >
> > ```
> > gst-launch-1.0 decklinkvideosrc device-number=${DEVICE} mode=0 !
> > queue ! autovideoconvert ! deinterlace mode=2 ! queue !
> > avenc_mpeg2video bitrate=800000 ! mpegvideoparse ! mpegtsmux name=mux
> > ! filesink location=video.ts decklinkaudiosrc device-number=${DEVICE}
> > audio-channels=8 ! audioconvert ! avenc_ac3 bitrate=640000 ! ac3parse
> > ! queue ! mux.
> > ```
> > [...]
>
> Are the caps set to 8 channels on decklinkaudiosrc?
>

Yes.

Also avenc_ac3 only supports up to 6 channels, not 8. So audioconvert

> would convert to something else.
>

Okay.  I assumed it could handle 7.1.  If AC3 is a bad choice, what would
you recommend?


> The number of channels should also be negotiated via caps, similar to
> what other elements are doing, instead of a property.
>
> > Note: If I set the channel mask to zero, then those pipelines don't
> > run at all.
>
> The problem with setting it to anything else is that you give meaning
> to each channel (the position), which you don't have with decklink. You
> have 8 unpositioned channels and if anything you can know their
> positions from the application.
>
> As such, using 0 as channel mask is the right thing to do here. And it
> would be the applications job to set the actual channel mask via a
> capssetter or similar.
>

I am far from an expert with gstreamer.  It would help me greately if
someone could provide me with a pipeline what should work in this
situation.  Maybe an example of writing 8/16 channels of PCM (LPCM?) audio
to a container, or any other audio encoding which can handle that many
channels.

Thank you,

John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160908/d518baa3/attachment.html>


More information about the gstreamer-devel mailing list