【发布时间】:2020-08-13 09:19:41
【问题描述】:
我的场景是通过ffmpeg从一个RTSP源拉取数据,发送到nginx-rtmp,使用nginx提供hls播放。网上有很多教程和问答。我关注了这个:
https://docs.peer5.com/guides/setting-up-hls-live-streaming-server-using-nginx/
然而,它惨遭失败。为了让事情更容易理解,我想问一下核心问题:
谁负责创建 m3u8 播放列表文件?
我尝试分两个步骤进行实验:首先,尝试推送本地 mp4 文件并通过 HLS 播放:
按照上面的教程,我尝试使用ffmpeg将本地的mp4文件推送到nginx-rtmp,并使用videojs播放。浏览器报错:
VIDEOJS: ERROR: (CODE:4 MEDIA_ERR_SRC_NOT_SUPPORTED) No compatible source was found for this media.
其次,我已经成功将推送到nginx-rtmp的视频文件保存为一系列flv文件,并且知道可以使用exec_push调用ffmpeg将flv转换为格式与 HLS 兼容。同样,这里的核心问题是,如何创建和更新 m3u8 文件,因为新的视频数据源源不断。
现在,我希望专家帮助我解决第一个问题——通过 HLS 播放静态 mp4 文件。非常感谢任何关于 m3u8 播放列表和 mpeg-ts 文件的教程!
【问题讨论】:
标签: http-live-streaming rtmp m3u8