Захват экрана и передача по udp/rtp потоку с самой минимальной задержкой

Вопрос возник, хочу сделaть траснляцию экрана по udp/rtp потоку и принимать его с низкой задержкой, но к сожалению, упираюсь в некоторые вещи. код отправителя(использую ffmpeg, так как на астре qml не дружит с gstreamer)

ffmpeg -f x11grab -s 1920x1080 -framerate 24 \
-i :0.0+0,0 -an \
-pix_fmt yuv420p -c:v libx264 -preset ultrafast -tune zerolatency \
-b:v 6000k -maxrate 6000k -bufsize 6000k -threads 0 \
-crf 30 -x264-params opencl=true -g 48 -sdp_file video.sdp \
-f rtp rtp://127.0.0.1:5004

код получателя

gst-launch-1.0 filesrc location=$(pwd)/video.sdp ! \
sdpdemux timeout=0 ! rtpjitterbuffer latency=0 ! \
rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! \
ximagesink sync=false name=sink

получаю небольшую задержку, иногда артефакты в виде не разборчивых пикслей или зеленого фона. Есть ли способ улучшить все это, какие-то тайные знания имеются?


Ответы (0 шт):