如何在播放列表中获得流畅的播放体验?

How to have smooth playback experience in playlists?

使用 mp4 URL 创建播放列表后,两个 mp4 文件之间的加载时间很长,并且流 运行 不流畅。请让我知道是否可以通过更改服务器上的一些设置来解决此问题。

让我解释一下最佳做法。希望对你有帮助。

使用WebRTC播放流没有意义,因为它已经是录制文件并且没有超低延迟要求。用 HLS 播放流是有意义的。请记住,WebRTC 播放比 HLS 使用更多的处理资源。即使您想减少切换流的时间,也请阅读以下内容。

首先

打开嵌入式播放器(/usr/local/antmedia/webapps/{YOUR_APP}/play.html`) 找到 genericCallback 方法并在 genericCallback 方法结束时将超时值从 3000 减少到 1000 甚至更低。 It's exactly this line

其次,

减少视频的关键帧间隔。您可以设置为 1 秒。一般推荐值为 2 秒。 WebRTC 需要关键帧才能开始播放。如果关键帧间隔为 10 秒(ffmpeg 中的默认值),播放器最多可能等待 10 秒才能播放。

请执行以下操作以获得非常流畅的 HLS 播放体验;

  1. 打开应用程序的属性文件 -> /usr/local/antmedia/webapps/{YOUR_APP}/WEB-INF/red5-web.properties

  2. 添加以下内容属性

    settings.hlsflags=delete_segments+append_list+omit_endlist

让我解释一下这是什么意思。

  • delete_segments只删除不在文件中的段文件 列出这样你的磁盘就不会满了。
  • append_list 只是添加了 新的片段文件到旧的 m3u8 文件,以便播放器认为 它只是在播放相同的流。
  • omit_endlist 禁止写入 EXT-X-ENDLIST 到文件末尾,因此播放器认为新的片段挡住了他们的去路并等待他们。它没有 运行 停止流。
  1. 禁用删除 hls 文件结束,以免遇到任何竞争条件。继续编辑文件 /usr/local/antmedia/webapps/{YOUR_APP}/WEB-INF/red5-web.properties 并替换以下行 settings.deleteHLSFilesOnEnded=true这个

    settings.deleteHLSFilesOnEnded=假

  2. 重新启动 Ant 媒体服务器

    sudo 服务 antmedia 重启

antmedia.io