我正在使用网络摄像头/麦克风通过UDP进行视频和音频流传输。即使在同一台机器上查看流媒体,也会出现大约4秒的延迟。我已尝试将UDP缓存设置为0或1,但似乎没有帮助。我已尝试降低视频和音频比特率,使用单声道和降低采样率等方法,但都没有用。
有没有人有任何想法可以减少延迟,使其更适合视频会议,例如<1秒?
是否有设置可应用于查看器/流媒体器以帮助解决此问题?
谢谢,
Marc
我正在使用网络摄像头/麦克风通过UDP进行视频和音频流传输。即使在同一台机器上查看流媒体,也会出现大约4秒的延迟。我已尝试将UDP缓存设置为0或1,但似乎没有帮助。我已尝试降低视频和音频比特率,使用单声道和降低采样率等方法,但都没有用。
有没有人有任何想法可以减少延迟,使其更适合视频会议,例如<1秒?
是否有设置可应用于查看器/流媒体器以帮助解决此问题?
谢谢,
Marc
试试这个。
#!/bin/sh
ETH=eth0
cvlc --miface=$ETH v4l2:///dev/video0 :input-slave=alsa://hw:0,0 :sout=#transcode{vcodec=h264,venc=x264{preset=ultrafast,tune=zerolatency,intra-refresh,lookahead=10,keyint=15},scale=auto,acodec=mpga,ab=128}:rtp{dst=224.10.0.1,port=5004,mux=ts} :sout-keep >/dev/null 2>/dev/null &
vlc1=$!
vlc --miface=$ETH rtp://224.10.0.1 >/dev/null 2>/dev/null &
vlc2=$!
wait $vlc2
kill -9 $vlc1
我的720p网络摄像头有2秒的延迟,它产生大约2.5兆比特每秒的流量,并使一个内核的负载达到了大约30%。
Intel Core 2 Duo T7250
4GB DDR2-667 SDRAM
SATA 7200 RPM HDD
GeForce 8400M GS 128MB GDDR3 (+ 128MB shared memory = 256MB video memory)
Windows XP Pro SP3
dshow://
是一个DirectShow接口;像任何DirectX接口一样,它将使用所有硬件加速功能,如果在服务器端或客户端检测到这些功能,则可以提高性能。 - ecle