如何减少延迟 - 来自网络摄像头的 VLC 流式传输

发布于 2025-01-02 12:31:03 字数 226 浏览 0 评论 0原文

我通过 UDP 从网络摄像头/麦克风传输视频和音频。当我查看流时(即使在同一台机器上),也会有大约 4 秒的延迟。我尝试将 UDP 缓存设置设置为 0 或 1,但似乎没有帮助。我尝试过降低视频和音频比特率、使用单声道声音并降低采样率,但均无济于事。

有谁知道如何减少延迟,使其更适合视频会议,即< 1秒?

是否有可以应用于查看器/流媒体的设置来提供帮助?

谢谢,

马克

I am streaming video and audio from my web cam/microphone over UDP. When I view the stream (even on the same machine) there is a delay of about 4 seconds. I have tried setting the UDP Cache setting to 0, or 1 but it doesn't seem to help. I have tried reducing the video and audio bit-rates, using mono sound and reducing the sample-rate all to no avail.

Does anyone have any ideas how I could reduce the delay, to something better suited to for a video conference, i.e < 1 second?

Is there a setting I can apply to the viewer/streamer that can help?

Thanks,

Marc

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

瞎闹 2025-01-09 12:31:03

如果您使用rtsp协议流式传输视频/音频,您可以在

工具->首选项->所有->输入/编解码器->解复用器->RTP/RTSP->缓存值

工具 中调整延迟-> 首选项 -> 全部 -> 输入/编解码器 -> 解复用器 -> RTP -> RTP 去抖动缓冲区长度

If you are using rtsp protocol to stream to video/audio, you can adjust the delay at

tools->preferences->all->input/codecs->demuxers->RTP/RTSP->caching value

tools->preferences->all->input/codecs->demuxers->RTP->RTP de-jitter buffer length

桃扇骨 2025-01-09 12:31:03

试试这个。

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

Try this.

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

I've 2 seconds delay with 720p webcam, it produce about 2.5Mbit/s trafic and load for one core ~30%.

噩梦成真你也成魔 2025-01-09 12:31:03

在我对使用网络摄像头进行 VLC 流式传输的研究中,我发现使用戴尔 Creative 集成网络摄像头的 WMV/ASF 容器 + WMV2 编解码器转码的 UDP 多播流有 2-3 秒的延迟,视频大小为 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

In my study of VLC streaming with webcam, I got 2-3 seconds delay for UDP multicast stream transcoded with WMV/ASF container + WMV2 codec from Dell's Creative Integrated Webcam with cif video size.

If using MP4/MOV container + H.264 codec, I got twice the delay of the former with the same settings in bitrate, fps and scale.

I disabled audio in both streaming settings since I wasn't interested in it.

I did the study with two VLC versions:

  • VLC 1.1.11 (latest Windows stable release)
  • VLC 2.1.0 (latest nightly build version)

With the first version, I could transcode and stream from the webcam, but it could not playback the stream properly (it just gave a blackened video stream)

With the second version, it worked well for transcoding, streaming and playback.

This study was done on:

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文