Hello!
I'm running gst-launch with an Raspberry Pi 4b as sender and PC with Ubuntu 20.04 on the receiving end. Locally on LAN Ethernet cable. The receiver is getting a good image with only very occasional breakage. The receiver also seem to be keeping the correct playback speed. But it's stuttering, or maybe frame skipping. The receiver PC is otherwise completely fine playing back other video files with the same resolution and higher bit rates. This is the command on the sender, (GStreamer 1.14.4) gst-launch-1.0 -v filesrc location=/home/pi/Videos/mulan_trailer.h264 ! video/x-h264, framerate=25/1, width=1920, height=804 ! queue ! h264parse ! rtph264pay ! udpsink host=127.0.0.1 port=8160 This is the command on the receiver, gst-launch-1.0 udpsrc port=8160 ! application/x-rtp,encoding-name=H264,payload=96 ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink I tried adding that jitter step but it didn't help, gst-launch-1.0 udpsrc port=8160 ! application/x-rtp,encoding-name=H264,payload=96 ! rtpjitterbuffer ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink I don't think this is a hardware limitation but it seems more like there's missing timing meta data on the stream, or that I'm not reading the stream correctly or something like that? Can anyone see what I'm doing wrong? Cheers! -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I've had a stuttery stream before when I didn't parse before decoding. Try
adding h264parse before the avdec_h264 element on the receiving end. -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by RedMarsBlueMoon
Hey,
Can you try to run it with GST_DEBUG=3? Maybe there are some warnings that can help debug. Also, try to add mtu parameter to rtph264pay, and set it to 100 / 300 / 700 etc (default is 1400). I had a similar issue in the past and it appeared to relate to the network I was using. The mtu parameter really helped. -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Thank you both for the suggestions!
I tried to add the 'h264parse' but unfortunately I got no different result with that. I added the debug option and got some interesting messages repeatedly, WARNING: from element /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstXvImageSink:autovideosink0-actual-sink-xvimage: A lot of buffers are being dropped. Additional debug info: gstbasesink.c(3003): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstXvImageSink:autovideosink0-actual-sink-xvimage: There may be a timestamping problem, or this computer is too slow. I don't see any upticks on my CPU monitor. It's sunning at about 10% maybe. A i7-3770 4+4 core. My GPU is a gtx970 which has onboard hw h264 decode according to https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new Is there a way to see what cpu/gpu the decode as actually using for decode? That error message also says, "There may be a timestamping problem" so what could I be missing for that? I thought that's what 'rtph264pay' did? Cheers! -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |