如何将 FLV 直播流转换为 HLS?

How can I convert FLV live stream to HLS?

我想将 FLV 直播流转换为 HLS 并在我的 app.So 中播放 HLS 流 如何将 FLV 直播流转换为 HLS? ..是否有任何工具可以实时将 FLV 转换为 HLS(将 FLV 转换为 h264 acc,将 h264 acc 转换为 HLS)?请帮忙。

FLV 是一种容器格式,类似于 mp4,HLS 是一种流媒体协议,可以将视频容器从服务器流式传输到客户端。

简单来说,查看原始视频及其 'wrapped' 或流式传输前的修改方式:

'raw' video -> encoded video (e.g. h.264) -> container (e.g. FLV, mp4) -> fragmented container (e.g. fragmented MP4) -> Streaming protocol including index and segments or fragments of video (例如 HLS、DASH)

从 fav 转换为 mp4 的一般 ffmpeg 方法是:

ffmpeg -i yourVideo.flv yourVideo.mp4

但是,如果您的 FLV 视频是最新的并且编码器是 h.264,这可能是最常支持的编解码器,那么您可能只需要转换容器而不是编码。这是较少的处理,所以通常是一件好事。您可以使用 'copy' 参数告诉 ffmpeg 执行此操作 - 此处的示例:

您还可以使用 ffmpeg 从 mp4 创建 HLS 索引和段文件:

ffmpeg -I yourVideo.mp4 -c:v h264 -flags +cgop -g 30 -hls_time 1 yourVideo.m3u8

更多详细信息可从此处的 ffmpeg 文档获得:http://ffmpeg.org/ffmpeg-all.html#hls-2

值得注意的是,即使您的视频是 h.264 编码的,h.264 规范中也有不同的配置文件和选项,因此您仍然需要检查您的目标设备是否支持该编码格式您的视频使用。