【问题标题】:Caching time and frame rate in video streaming using vlc media player使用 vlc 媒体播放器在视频流中缓存时间和帧速率
【发布时间】:2013-10-16 08:13:41
【问题描述】:

我正在使用 vlc 媒体播放器将网络摄像头上捕获的视频流式传输到远程计算机。在“流”下的“显示更多选项”中,有一个用于设置“缓存时间”的选项,默认设置为 300 毫秒。在 vlc 流媒体手册中,“缓存时间”是指 vlc 在传输帧之前必须等待的时间。所以 300ms 意味着在一秒钟内,它可以传输 3-4 帧。但接收端的视频看起来相当连续,需要每秒 30 帧的帧速率。那么这是如何维护的呢?

【问题讨论】:

    标签: caching video video-streaming vlc frame-rate


    【解决方案1】:

    实时缓存定义了整个流的延迟,而不是各个帧之间的空闲时间。也就是说,您以全帧速率发送流,延迟为 300 毫秒。

    这样的延迟让发送应用程序可以补偿不规则的帧采集和捕获/读取延迟,同时仍以稳定的速率提供输出。

    要重新定义有效输出捕获率,您通常需要对 Feed 进行转码,例如流输出、目的地、添加、激活转码、编辑所选配置文件、视频编解码器、帧速率。

    【讨论】:

    • 好的,我明白了!那么用户可以指定的缓存时间的下限是多少呢?因为我尝试使用 40ms 并且 vlc 停止播放捕获的视频,但它使用了 50ms。
    • 这很大程度上取决于应用程序本身,我不确定 VLC 是如何准确处理这个问题的,而且它还可能依赖于源代码。您可能看到的是源(网络摄像头)帧被认为是“迟到的”并在被送入流缓存之前被丢弃。也就是说,您可以为您的特定上下文选择值 - 一方面延迟最小,另一方面没有太多丢帧。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多