Shmsink/src issue with nvv4l2h264enc

Hi,

I am trying to send the data over shmsink and recording/streaming on other side using shmsrc.

when i am using x264enc plugin both pipeline for sending and receiving working fine , but if we replace the x264enc with nvv4l2h264enc, than recording is done but file is not abel to play and streaming is not working.

sender pipeline with x264enc is as follow:

gst-launch-1.0 -v -e v4l2src do-timestamp=true ! videoconvert ! video/x-raw,width=640,height=480,format=I420,framerate=30/1 ! x264enc tune=zerolatency key-int-max=30 ! rtph264pay ! shmsink socket-path=/tmp/test shm-size=10000000 wait-for-connection=false sync=true

receiver pipeline for above is as follow:

gst-launch-1.0 -v -e shmsrc socket-path=/tmp/test do-timestamp=true is-live=true ! application/x-rtp,clock-rate=90000 ! rtph264depay ! h264parse ! matroskamux ! filesink location=video1.mkv sync=false

sender pipeline with nvv4l2h264enc is as follow:

gst-launch-1.0 -v -e v4l2src do-timestamp=true ! nvvidconv ! video/x-raw(memory:NVMM),width=640,height=480,format=I420,framerate=30/1 ! nvv4l2h264enc maxperf-enable=1 ! rtph264pay ! shmsink socket-path=/tmp/test shm-size=10000000 wait-for-connection=false sync=true

receiver pipeline for above is as follow:

gst-launch-1.0 -v -e shmsrc socket-path=/tmp/test do-timestamp=true is-live=true ! application/x-rtp,clock-rate=90000 ! rtph264depay ! h264parse ! matroskamux ! filesink location=video1.mkv sync=false

Am i missing something in above pipeline for sending and receiving with nvv4l2h264enc ?.

Regards,
vikas.

Hi,

Recording is working Now.

Below is the pipeline for sender with nvv4l2h264enc:

gst-launch-1.0 -v -e v4l2src do-timestamp=true ! nvvidconv ! video/x-raw(memory:NVMM),width=640,height=480,format=I420,framerate=30/1 ! nvv4l2h264enc maxperf-enable=1 insert-sps-pps=1 ! rtph264pay ! shmsink socket-path=/tmp/test shm-size=10000000 wait-for-connection=false sync=true

in above pipline i have enable the insert-sps-pps property for recording. But i don’t know what it was doing , and still streaming is not working .

below is pipeline for the streaming:

./test-launch β€œ( shmsrc socket-path=/tmp/test do-timestamp=true ! application/x-rtp,clock-rate=90000 ! rtph264depay ! rtph264pay name=pay0 pt=96 )”

what should i change so streaming will work.

Hi,

Streaming is also working Now.

Below is the pipeline:

./test-launch β€œ( shmsrc socket-path=/tmp/test do-timestamp=true is-live=true ! application/x-rtp,clock-rate=90000 ! rtph264depay ! rtph264pay name=pay0 pt=96 )”

1 Like

Hi,
Thanks for sharing the solution.

Found a link about SPS/PPS in H264 stream. FYR.