1

I have such gstreamer pipeline:

gst-launch v4l2src always-copy=false chain-ipipe=true \
! video/x-raw-yuv,format='(fourcc)'NV12, width=640, height=480, framerate='(fraction)'15/1 \
! dmaiaccel ! dmaienc_h264 ddrbuf=true encodingpreset=2 ratecontrol=4 maxbitrate=4000000 targetbitrate=2000000 \
! dmaiperf print-arm-load=true ! rtph264pay \
! queue ! udpsink port=3000 host=192.168.1.16 sync=false

I can capture it on my host and play it with command:

gst-launch udpsrc port=3000 ! "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, sprop-parameter-sets=(string)\"Z2QAKK2EBUViuKxUdCAqKxXFYqOhAVFYrisVHQgKisVxWKjoQFRWK4rFR0ICorFcVio6ECSFITk8nyfk/k/J8nm5s00IEkKQnJ5Pk/J/J+T5PNzZprQFAeyA\,aO48sA\=\=\", payload=(int)96, ssrc=(guint)2498431066, clock-base=(guint)297251943, seqnum-base=(guint)34949" ! rtph264depay ! queue ! ffdec_h264 ! ffmpegcolorspace ! videoscale ! ximagesink sync=false show-preroll-frame=false

Now i want to transcode it to vp8 and resink it to another port. So i've been trying:

gst-launch udpsrc port=3000 ! "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, sprop-parameter-sets=(string)\"Z2QAKK2EBUViuKxUdCAqKxXFYqOhAVFYrisVHQgKisVxWKjoQFRWK4rFR0ICorFcVio6ECSFITk8nyfk/k/J8nm5s00IEkKQnJ5Pk/J/J+T5PNzZprQFAeyA\,aO48sA\=\=\", payload=(int)96, ssrc=(guint)2498431066, clock-base=(guint)297251943, seqnum-base=(guint)34949" \
! rtph264depay ! queue ! ffdec_h264 ! ffmpegcolorspace ! videoscale ! queue \
! vp8enc bitrate=256000 speed=2 max-latency=1 error-resilient=true \
! rtpvp8pay ! udpsink host=192.168.1.16 port=5004

But it not working. I'm not familiar with gstreamer so much and i guess that there are something wrong with my last pipeline. How can i do it properly?

Footniko
  • 2,682
  • 2
  • 27
  • 36
  • what error are you getting from gstreamer? – Benjamin Trent Dec 05 '14 at 23:36
  • Hi, Benjamin. Thanks for response. As you may guess i'm still trying to stream video to janus-gateway. Actually, the command above works properly. I just made stupid mistake with ports. But another problem - i got too big latency (about 5 seconds) and glitches with picture when try to display this stream using Janus. Now i'm trying understand. Is it because i made transcoding or there are something wrong with my pipelines... – Footniko Dec 06 '14 at 11:47
  • Yeah, I had a similar issue until I upgraded my pipeline to gstreamer 1.4. The newest implementation of the VP8 encoding is tons better and the decoder can even handle variable framerate and resolution. – Benjamin Trent Dec 06 '14 at 14:07

0 Answers0