摄像头测试

2022-05-25  本文已影响0人  咖喱鸡蛋

摄像头

--gst-debug-level=X 或 --gst-debug=myelement:X(X的取值为[0,5])

推流

1、摄像头推流

1、gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! 'video/x-raw,format=(string)NV12,width=1280,height=768,framerate=(fraction)30/1' ! queue ! mppenc ! udpsink host=182.168.3.128 port=5000 sync=false

2、注意事项
由于是直接将H264进行推流,数据流是直接通过socket发送出去的,因此H264单包数据量不能超过65507,否则会导致数据溢出。

例如:第一条命令,将数据流编码成H264时,码率默认是2Mbit/s,如果将码率设为10Mbit/s,将会出现数据溢出:

gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! 'video/x-raw,format=(string)NV12,width=640,height=480,framerate=(fraction)30/1' ! queue ! x264enc bitrate=10240 ! udpsink host=127.0.0.1 port=5000 sync=false

摄像头拉流

Receiver:

gst-launch-1.0 -v udpsrc port=5000 ! application/x-rtp,clock-rate=90000,payload=96 ! rtph264depay ! h264parse ! autodecbin ! videoconvert ! autovideosink

RTP send recv

sender tv_pad

1 send color-test 
gst-launch-1.0 videotestsrc is-live=true ! video/x-raw,formaterate=30/1 ! videoconvert ! mpph264enc ! h264parse ! rtph264pay ! udpsink host=127.0.0.1 port=5000

2 send cam-video0  ---delay (bufx3 once) 160~1000ms
gst-launch-1.0 v4l2src device=/dev/video0 io-mode=2 ! video/x-raw,format=NV12,formaterate=30/1 ! queue ! mpph264enc ! h264parse ! rtph264pay ! udpsink host=127.0.0.1 port=5000

原始分辨率为4k,延时非常大,连续三帧卡顿一次。
降低分辨率为720p,延时平均150,(直接读约120),编解码+传输延时约30ms(预估)

recv

gst-launch-1.0 -ve udpsrc port=5000 ! application/x-rtp,clock-rate=90000,payload=96 ! rtph264depay ! h264parse ! mppvideodec ! videoconvert ! autovideosink sync=false

recv must start frist and keep alive ,when sender send h264 then the window display

延时计算,测试10次,计算平均值,发现延时平均在166ms(记录别人测试,验证自己测试)


image.png
上一篇下一篇

猜你喜欢

热点阅读