shmsrc and x264enc do not work together

Aleix Conchillo Flaqué aconchillo at gmail.com
Mon Apr 7 16:41:48 PDT 2014


On Thu, Apr 3, 2014 at 11:42 AM, Cheolho Park <cheolhop at gmail.com> wrote:
> Hi,
>
> I am trying to forward a video between two GStreamer pipelines by using
> shmsink/shmsrc, and make the receiving side to encode the video.
>
> The following is a command line for the sending side:
>
> gst-launch-0.10 -v videotestsrc \
>   ! 'video/x-raw-yuv, format=(fourcc)"I420", framerate=30/1, width=1280,
> height=720' \
>   ! shmsink socket-path=/tmp/xxx shm-size=10000000 wait-for-connection=0
> sync=false
>
> The following is a command line for the receiving side:
>
> gst-launch-0.10 -v shmsrc socket-path=/tmp/xxx \
>   ! 'video/x-raw-yuv, format=(fourcc)"I420", framerate=30/1, width=1280,
> height=720' \
>   ! x264enc
>   ! filesink location=/tmp/yyy
>
> A problem is that nothing is recorded. It seems that the pipeline is not
> rolling. The below shows the output message:
>

Increase the shmsink size, let's say 100MB. shmsink is waiting for
buffer acknowledgments from the shmsrc, if this one gets behind
shmsink will block and if I'm not wrong this is what's happening if
you use x264 with default values (it's not real time).

Aleix


More information about the gstreamer-devel mailing list