Video and Audio Recording and Muxing Issue in C++ GStreamer Pipeline

Sulthan Amanu sulthan4380 at gmail.com
Thu Sep 14 04:11:22 UTC 2023


Any update regarding to my query?

On Wed, Sep 13, 2023, 20:55 Sulthan Amanu <sulthan4380 at gmail.com> wrote:

> Dear Team,
>
> I have successfully implemented the GStreamer pipeline provided below in
> raw command-line form. The pipeline captures both audio and video correctly:
>
> **Pipeline**
>
> gst-launch-1.0 -e v4l2src device="/dev/video0" ! videoconvert ! queue !
> x264enc tune=zerolatency ! h264parse config-interval=-1 ! mux. autoaudiosrc
> ! queue ! audioconvert ! audioresample ! volume volume=0.5 mute=false !
> voaacenc ! aacparse ! qtmux name=mux ! filesink
> location=test-autoaudiosrc.mp4 sync=false
>
>
> However, when I converted this pipeline into C++ code, I encountered an
> issue where the audio is not recorded or muxed correctly. I have attempted
> to debug the problem using `GST_DEBUG=2`, and I've attached the error log
> below.
>
> **CODE FILE** =
> [my_gst_app.cpp](/uploads/0a048213b2125af003de6a6ac29cd290/my_gst_app.cpp)
>
> **Running Commend** = g++ -o my_gst_app my_gst_app.cpp `pkg-config
> --cflags --libs gstreamer-1.0` and GST_DEBUG=2 ./my_gst_app
>
> **Error Log:**
>
> GST_DEBUG=2 ./my_gst_app
>
> Audio Elements could linked.
> Video Elements could linked.
> 0:00:00.461866220 30618 0x7f464c0040f0 WARN                audiosrc
> gstaudiosrc.c:197:audioringbuffer_thread_func:<audio-source-actual-src-puls>
> failed to set thread priority
> 0:00:06.889138959 30618 0x7f4658004c50 ERROR               GST_PADS
> gstpad.c:3352:gst_pad_query_latency_default:<mux:src> minimum latency
> bigger than maximum latency
> 0:00:06.890978046 30618 0x55bacd3db630 WARN            audiobasesrc
> gstaudiobasesrc.c:844:gst_audio_base_src_create:<audio-source-actual-src-puls>
> create DISCONT of 236817 samples at sample 282681
> 0:00:06.891032791 30618 0x55bacd3db630 WARN            audiobasesrc
> gstaudiobasesrc.c:849:gst_audio_base_src_create:<audio-source-actual-src-puls>
> warning: Can't record audio fast enough
> 0:00:06.891049693 30618 0x55bacd3db630 WARN            audiobasesrc
> gstaudiobasesrc.c:849:gst_audio_base_src_create:<audio-source-actual-src-puls>
> warning: Dropped 236817 samples. This is most likely because downstream
> can't keep up and is consuming samples too slowly.
> 0:00:07.281026296 30618 0x55bacd3db630 WARN            audiobasesrc
> gstaudiobasesrc.c:844:gst_audio_base_src_create:<audio-source-actual-src-puls>
> create DISCONT of 16317 samples at sample 299880
> 0:00:07.281063662 30618 0x55bacd3db630 WARN            audiobasesrc
> gstaudiobasesrc.c:849:gst_audio_base_src_create:<audio-source-actual-src-puls>
> warning: Can't record audio fast enough
> 0:00:07.281072629 30618 0x55bacd3db630 WARN            audiobasesrc
> gstaudiobasesrc.c:849:gst_audio_base_src_create:<audio-source-actual-src-puls>
> warning: Dropped 16317 samples. This is most likely because downstream
> can't keep up and is consuming samples too slowly.
>
>
> I would like to request your assistance in fixing this bug and providing a
> proper C++ implementation of the pipeline that ensures both audio and video
> are recorded and muxed correctly. Your guidance and expertise would be
> greatly appreciated.
>
> Thank you for your help.
>
> Sincerely,
>
> Sulthan Amanau
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20230914/0ccece6b/attachment.htm>


More information about the gstreamer-devel mailing list