Audio video muxing issue
Tim Müller
tim at centricular.com
Mon Apr 11 12:31:25 UTC 2016
On Mon, 2016-04-04 at 23:26 -0700, pzymen wrote:
Hi,
> This is how the pipeline looks:
> https://www.dropbox.com/s/rlidka62z2le7mr/pipeline.png?dl=0
> <https://www.dropbox.com/s/rlidka62z2le7mr/pipeline.png?dl=0>
>
> (snip)
> This is the code used to build the pipeline and push data to it. The
> pushVideo/pushAudio functions are called as soon as i get data from
> the source. The timestamps are unix timestamp from the source that i
> offset to make the first keyframe start at 0. That keyframe is also
> the first data that gets pushed to pipeline.
> https://www.dropbox.com/s/szm981gj3iiqwcc/VideoStreamer.cpp?dl=0
> <https://www.dropbox.com/s/szm981gj3iiqwcc/VideoStreamer.cpp?dl=0>
>
> Would be grateful for any tips on how to make this work.
My first guess would be that there's something wrong with the buffers
and/or timestamps you're pushing into the appsrc elements.
Couple of things to check:
- are you configuring the appsrc elements to operate in format=time
(so the segment event sent is a GST_FORMAT_TIME segment)
- are you offsetting the buffers to start with timestamp 0 ?
- the audioparse element should not be needed and might mess up
timestamping if you don't feed it a perfect stream. You should set the
right audio caps on appsrc and push audio buffers with the right
timestamps that are a multiple of the audio sample size.
- does it work if you don't set timestamps but instead use do-
timestamp=true is-live=true ?
- does it work fine if you just pipe both audio/video to an
audiosink/videosink ?
Cheers
-Tim
--
Tim Müller, Centricular Ltd - http://www.centricular.com
More information about the gstreamer-devel
mailing list