如何在播放列表中获得流畅的播放体验?
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 播放体验;
打开应用程序的属性文件 -> /usr/local/antmedia/webapps/{YOUR_APP}/WEB-INF/red5-web.properties
添加以下内容属性
settings.hlsflags=delete_segments+append_list+omit_endlist
让我解释一下这是什么意思。
delete_segments
只删除不在文件中的段文件
列出这样你的磁盘就不会满了。
append_list
只是添加了
新的片段文件到旧的 m3u8 文件,以便播放器认为
它只是在播放相同的流。
omit_endlist
禁止写入
EXT-X-ENDLIST 到文件末尾,因此播放器认为新的片段挡住了他们的去路并等待他们。它没有 运行
停止流。
禁用删除 hls 文件结束,以免遇到任何竞争条件。继续编辑文件 /usr/local/antmedia/webapps/{YOUR_APP}/WEB-INF/red5-web.properties
并替换以下行
settings.deleteHLSFilesOnEnded=true
这个
settings.deleteHLSFilesOnEnded=假
重新启动 Ant 媒体服务器
sudo 服务 antmedia 重启
使用 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 播放体验;
打开应用程序的属性文件 ->
/usr/local/antmedia/webapps/{YOUR_APP}/WEB-INF/red5-web.properties
添加以下内容属性
settings.hlsflags=delete_segments+append_list+omit_endlist
让我解释一下这是什么意思。
delete_segments
只删除不在文件中的段文件 列出这样你的磁盘就不会满了。append_list
只是添加了 新的片段文件到旧的 m3u8 文件,以便播放器认为 它只是在播放相同的流。omit_endlist
禁止写入 EXT-X-ENDLIST 到文件末尾,因此播放器认为新的片段挡住了他们的去路并等待他们。它没有 运行 停止流。
禁用删除 hls 文件结束,以免遇到任何竞争条件。继续编辑文件
/usr/local/antmedia/webapps/{YOUR_APP}/WEB-INF/red5-web.properties
并替换以下行settings.deleteHLSFilesOnEnded=true
这个settings.deleteHLSFilesOnEnded=假
重新启动 Ant 媒体服务器
sudo 服务 antmedia 重启