当我使用这样的管道时,我使用gstreamer来解码H264:
gst-launch-1.0 udpsrc uri=udp://0.0.0.0:15550 caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,payload=(int)33,encoding-name=(string)MP2T" ! .recv_rtp_sink_0 rtpbin latency=800 ! rtpmp2tdepay ! tsdemux name=demux demux. ! h264parse ! queue ! omxh264dec ! vspfilter ! video/x-raw,width=800,height=480 ! waylandsink sync=false max-lateness=-1 demux. ! aacparse ! queue max-size-buffers=8192000 max-size-time=2000000000 ! faad ! alsasink device=media
只有大约200毫秒的延迟。
当我设置sync=true
时,就像这样:
gst-launch-1.0 udpsrc uri=udp://0.0.0.0:15550 caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,payload=(int)33,encoding-name=(string)MP2T" ! .recv_rtp_sink_0 rtpbin latency=800 ! rtpmp2tdepay ! tsdemux name=demux demux. ! h264parse ! queue ! omxh264dec ! vspfilter ! video/x-raw,width=800,height=480 ! waylandsink sync=true max-lateness=-1 demux. ! aacparse ! queue max-size-buffers=8192000 max-size-time=2000000000 ! faad ! alsasink device=media
dalay将达到1200毫秒
我不知道。