【发布时间】:2022-02-16 09:15:44
【问题描述】:
如何在 nginx-rtmp-module 直播后保存视频并使用 hls 播放。我用record保存到flv,然后将flv转换为m3u8,如果视频很大,需要很多时间。如果我使用 hls_cleanup off,我无法主动选择打开或关闭记录。使用 hls 保存和播放的正确方法是什么?如果你知道,请或告诉我。非常感谢
【问题讨论】:
标签: nginx streaming record rtmp
如何在 nginx-rtmp-module 直播后保存视频并使用 hls 播放。我用record保存到flv,然后将flv转换为m3u8,如果视频很大,需要很多时间。如果我使用 hls_cleanup off,我无法主动选择打开或关闭记录。使用 hls 保存和播放的正确方法是什么?如果你知道,请或告诉我。非常感谢
【问题讨论】:
标签: nginx streaming record rtmp
对于小视频文件,DVR-FLV 或 HLS 都可以。
对于大型视频文件,如您所述,HLS 更好。您需要管理每个 ts 文件及其持续时间,以便在流式传输完成时生成 m3u8 索引。
如果您需要将多个发布流合并到一个流中,HLS 也更好,例如,如果需要调整编码器,使用另一个编码器,或者网络失败重新连接到服务器。如果使用DVR-FLV,会有多个FLV文件,很难合并(需要转换成ts,concat,然后转码)。
此外,HLS 更适合在直播期间制作,例如体育节目,您可能需要在直播期间制作许多 VoD 文件,我们迫不及待地直播结束:
encoder ---RTMP---> Server --HLS--> VoD During Streaming
【讨论】: