NGiNX RTMP DASH指令dash_playlist_length有什么作用?

时间:2018-12-31 06:25:16

标签: nginx rtmp mpeg-dash

我正在寻找一种方法,可以将5秒的视频片段从摄像机发送到用户站。我有一个工作设置,将带有ffmpeg的mp4文件发送到nginx(与rtmp-DASH模块一起编译),并使用MPEG-DASH参考Java脚本在客户端用户站上检索了它。我可以反复播放约2.5分钟,然后消失,必须将其重新加载到服务器上。

我怀疑'dash_playlist_length'指令与此有关,但似乎没有任何作用。该文档说:

DateTimeFormatter formatter = new DateTimeFormatterBuilder()
        .appendValue(ChronoField.YEAR_OF_ERA, 4, 19, SignStyle.EXCEEDS_PAD)
        .appendLiteral("-")
        .appendText(ChronoField.MONTH_OF_YEAR, TextStyle.SHORT)
        .appendLiteral("-")
        .appendValue(ChronoField.DAY_OF_MONTH, 2)
        .appendLiteral(" ")
        .appendValue(ChronoField.CLOCK_HOUR_OF_AMPM, 2)
        .appendLiteral(":")
        .appendValue(ChronoField.MINUTE_OF_HOUR, 2)
        .appendLiteral(":")
        .appendValue(ChronoField.SECOND_OF_MINUTE, 2)
        .appendLiteral(" ")
        .appendText(ChronoField.AMPM_OF_DAY, TextStyle.SHORT)
        .toFormatter();

LocalDateTime localDateTime = LocalDateTime.now();
System.out.println(formatter.format(localDateTime));

但是我空手而归,试图找到MPEG-DASH播放列表的长度。搜索引擎没有发现任何有用的东西。这里有人知道吗?

1 个答案:

答案 0 :(得分:0)

它定义了实时流的实时/ DVR窗口应该持续多长时间,或者用DASH术语称为timeShiftBufferDepth

因此,如果您将其设置为例如60秒,然后流持续2个小时或更长的时间,那么DASH清单中仍将仅提供流的最后(即最近)60秒。因此,基本上,它限制了观看时允许客户端从流的实时边缘返回的距离。