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