0

I'm seeing weird video artifacts when trying to stream from ffmpeg to gstreamer 0.10.

Sending command:

ffmpeg -re -i test.mp4 -an -pix_fmt yuv420p -crf 0 -b 1000k -f mpegts udp://10.33.1.2:9968

Receiving command:

gst-launch-0.10 udpsrc port=0068 caps='video/mpeg,width=480,height=360' ! ffdec_mpeg4 ! ffmpegcolorspace ! xvimagesink

This is what the video looks like: enter image description here

enter image description here

How can I change the ffmpeg command to avoid these artifacts?

Toast
  • 596
  • 2
  • 19
  • 39
  • What does the FFMPEG command do? Send RTP? Then you should decode RTP on the receiver side too. You should also use a jitter buffer on the receiver side too if you use UDP. – Florian Zwoch May 18 '18 at 08:05
  • I changed the ffmpeg command to send `mpegts` instead of `rtp`. I get the same result. As I understand it, the jitter buffer is only needed for rtp. – Toast May 18 '18 at 08:22
  • 1
    You still have no demuxer of any network transport protocol on on the receiver side. You treat it as raw video bit stream which it clearly isn't. UDP reordering is relevant for all protocols - but probably a lesser problem you are facing right now. – Florian Zwoch May 18 '18 at 08:43
  • Is it possible to use ffmpeg or any other program to create such a raw video bit stream? – Toast May 18 '18 at 09:34
  • I don't know. Maybe it has a raw option for protocol? In the end you still want a network protocol layer. You should add a `mpegtsdemux` after the UDP receiver on the receiving side. – Florian Zwoch May 18 '18 at 09:46
  • Unfortunately, the receiving side is legacy code that I'm not allowed to change :( – Toast May 18 '18 at 09:49

0 Answers0