2012-02-02 187 views
13

我是通过UDP从我的网络摄像头/麦克风传输视频和音频。当我查看流(甚至在同一台机器上)时,延迟时间约为4秒。我曾尝试将UDP缓存设置设置为0或1,但似乎没有帮助。我曾尝试降低视频和音频比特率,使用单声道并降低采样率,但都无济于事。如何减少延迟 - 来自网络摄像机的VLC流式传输

有没有人有任何想法,我可以减少延迟,更适合于一个视频会议,即< 1秒?

有没有可以适用于查看器/流器的设置?

感谢,

马克

回答

3

在我的VLC流媒体与网络摄像头的研究中,我得到了2-3秒的延迟与WMV/ASF容器+ WMV2编解码器从戴尔的创新集成网络摄像头与转码UDP组播流cif视频大小。

如果使用MP4/MOV容器+ H.264编解码器,我得到了前者的两倍延迟,具有相同的比特率,fps和比例设置。

我在两个流媒体设置中都禁用了音频,因为我对它不感兴趣。

我确实有两个版本VLC的研究:

  • VLC 1.1.11(最新的Windows稳定版)
  • VLC 2.1.0(最新的每日构建版)

随着第一个版本,我可以转码和从网络摄像头流,但它无法正确播放流(它只是给一个变黑的视频流)

随着第二个版本,它的工作适用于转码,流媒体和播放。

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 
+0

我试过我的笔记本电脑上的simular设置,处理器是一个i7,但显卡是一个集成的英特尔。你知道当流式传输视频时显卡处理器是否被使用吗?这可能是我的问题。 – Marc 2012-02-13 11:33:13

+1

是的,在Windows下,'dshow://'是一个DirectShow接口;与任何DirectX界面一样,它将使用DirectX GPU的所有硬件加速功能,如果在服务器端或客户端检测到这些功能,都可以提高性能。 – ecle 2012-02-13 13:33:09

7

如果使用RTSP协议以流视频/音频,您可以调整在

工具 - >首选项 - >清一色>输入延迟:

这项研究上完成/ codecs-> demuxers-> RTP/RTSP->缓存值

工具 - >首选项 - >清一色>输入/ codecs-> demuxers-> RTP-> RTP去抖动缓冲器长度

+8

注意:每晚构建版本VLC 2.1.0-git-20120203-0008的GUI中不存在“缓存值(ms)”和“RTP去抖动缓冲区长度(msec)”选项。即使是'输入/编解码器 - >访问模块 - > UDP'树项目也缺失,因此'UDP缓存'选项在GUI中不可用。 – ecle 2012-02-13 13:27:10

+2

现在他们称之为“网络缓存”,但它似乎并没有以同样的方式工作。我无法获得我在2.0.4中获得的1.1.9(〜100-150 ms)的巨大延迟(远远更多,对于这样的低值变得不稳定)。 – 2013-01-26 12:49:52

+1

@YngveSneenLindal你在1.1.9中使用了什么样的命令行? – rogerdpack 2013-10-17 21:32:55

4

尝试此。

#!/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 

我已经2秒720p的摄像头的延迟,它产生约2.5Mbit/s的TRAFIC和负载为一个芯〜30%。

相关问题