簡體   English   中英

gstreamer視頻在UDP上每幀多個片段上撕裂

[英]gstreamer video tearing on multiple slices per frame over UDP

出於帶寬原因,我修改了切片標頭間距,以使每個I幀使用更多切片, 這會導致接收端撕裂。

問題似乎好像是對單個片進行解碼而沒有為omxh264dec緩沖整個I幀? 這有點奇怪,因為Tegra解碼器應該只能在幀級別工作。

也許可以通過在接收端正確同步GstBuffer:s來緩解此問題?

復制案例:(Jetson TX2)

# Sender:
gst-launch-1.0 nvcamerasrc ! 'video/x-raw(memory:NVMM), width=(int)1280, height=(int)720, format=(string)I420, framerate=(fraction)60/1' ! nvvidconv flip-method=0 ! 'video/x-raw(memory:NVMM), format=(string)I420' ! omxh264enc iframeinterval=1 bit-packetization=TRUE slice-header-spacing=450000 control-rate=2 preset-level=0 profile=1 qp-range=-1,-1:10,10:-1,-1 ! 'video/x-h264, stream-format=(string)byte-stream' ! h264parse ! rtph264pay mtu=60000 ! udpsink host=127.0.0.1 port=5000

# Reciever:
gst-launch-1.0 udpsrc port=5000 ! "application/x-rtp,encoding-name=H264,payload=96" ! rtph264depay ! h264parse ! omxh264dec ! videoconvert ! xvimagesink async=TRUE sync=TRUE

正如Florian Zwoch所建議的那樣,使用rtpjitterbuffer解決了此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM