我通过UDP从网络摄像头/麦克风传输视频和音频。当我查看流(即使在同一台机器上)时,会有大约4秒的延迟。我尝试将UDP缓存设置为0或1,但似乎没有帮助。我尝试降低视频和音频比特率,使用单声道声音并降低采样率都无济于事。
有没有人有任何想法如何减少延迟,更适合视频会议,即< 1秒钟?
我可以应用于可以提供帮助的观众/流媒体吗?
谢谢,
马克
答案 0 :(得分:9)
如果您使用rtsp协议流式传输到视频/音频,则可以在
处调整延迟tools-> preferences-> all-> input / codecs-> demuxers-> RTP / RTSP->缓存值
tools-> preferences-> all-> input / codecs-> demuxers-> RTP-> RTP去抖动缓冲区长度
答案 1 :(得分:5)
试试这个。
#!/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.5Mbit / s的流量和一个核心的负载~30%。
答案 2 :(得分:3)
在我使用网络摄像头进行VLC流式传输的研究中,我使用带有 cif 视频大小的戴尔创意集成网络摄像头的WMV / ASF容器+ WMV2编解码器转码的UDP多播流延迟了2-3秒。
如果使用MP4 / MOV容器+ H.264编解码器,我在前者的延迟时间是比特率,fps和比例相同的两倍。
我在两种流媒体设置中都禁用了音频,因为我对它不感兴趣。
我用两个VLC版本进行了研究:
对于第一个版本,我可以从网络摄像头进行转码和流式传输,但无法正常播放流(它只是给了一个黑化的视频流)
对于第二个版本,它适用于转码,流媒体和播放。
本研究完成于:
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