V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dabaizuishuai
V2EX  ›  程序员

用 LibVLC 做 RTSP 低延时直播,最低能到多少延时?

  •  
  •   dabaizuishuai · 2021-01-27 11:59:39 +08:00 · 1932 次点击
    这是一个创建于 1178 天前的主题,其中的信息可能已经有所发展或是发生改变。
    项目需求用 C#做 RTSP 低延时直播。如何能够使用社区资源,做到 300ms 以内的延时?
    目前方案是使用 LibVLC 做客户端解析,经过 tuning 已经达到了 500ms 的延时,网络环境是局域网,不知道是否有做过直播的大牛分享一下 tuning 的过程?

    目前的 Tuning 是使用以下参数:

    m.AddOption(":network-caching=150");
    m.AddOption(":clock-jitter=0");
    m.AddOption(":clock-syncro=0");
    9 条回复    2021-01-28 16:03:53 +08:00
    cyberniuniu
        1
    cyberniuniu  
       2021-01-27 12:35:02 +08:00
    用 webrtc 做直播延时更低,效果也更好
    IDAEngine
        2
    IDAEngine  
       2021-01-27 12:39:45 +08:00
    1-3s 内的延时基本可以接受的
    dabaizuishuai
        3
    dabaizuishuai  
    OP
       2021-01-27 12:41:50 +08:00
    @IDAEngine 项目方要求局域网环境 300ms
    dabaizuishuai
        4
    dabaizuishuai  
    OP
       2021-01-27 12:42:02 +08:00
    @cyberniuniu 正在研究 看起来靠谱
    IDAEngine
        5
    IDAEngine  
       2021-01-27 12:58:58 +08:00
    @dabaizuishuai webrtc 局域网是可以做到这个延时,看人数吧,人数多了就扛不住
    march1993
        6
    march1993  
       2021-01-27 16:02:31 +08:00
    自己封装 264 码流吧?
    dabaizuishuai
        7
    dabaizuishuai  
    OP
       2021-01-27 21:18:19 +08:00
    @march1993 会比公共库快 100ms 量级吗
    Vveeb
        8
    Vveeb  
       2021-01-28 09:56:59 +08:00
    借楼问一下, 同 C#, 已经能从 socket 接收到 h264 裸流的情况下,都有什么方法可以解码并用 WPF 界面播放出来。

    之前试过给 stream 直接接到播放器上,然后给播放器窗口嵌到主程序上,虽然功能上是实现了,但是不符合规范。
    希望是自己通过 ffmpeg 或者 vlc 之类的来解码+输出。

    音视频领域完全 0 知识储备,有没有什么开源或者资料的可以参考一蛤
    dabaizuishuai
        9
    dabaizuishuai  
    OP
       2021-01-28 16:03:53 +08:00
    @Vveeb VLC 可以直接当做库来用呀 LibVLC 或者 LibVLCSharp
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2955 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 03:30 · PVG 11:30 · LAX 20:30 · JFK 23:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.