【发布时间】:2017-02-14 00:47:33
【问题描述】:
我有以下用例:
1) Alice 发布流到 nginx-rtmp 服务器
2)服务器将流转为mp4(如果我理解正确,默认是flv,需要编解码器转换)
3) Bob 应该能够在 Alice 仍在发布时对该 mp4 文件进行范围请求
不过,似乎 ffmpeg 将 flv 转换为 mp4 的命令只能在完全生成 mp4 文件时才能完成,然后 ffmpeg 将执行第二遍并将“moov”移动到其新文件的头部
我们的用例是允许 Bob 使用范围请求来检索 mp4 文件,同时 Alice 从时间 0(即从第二个 Alice 开始发布)开始发布(即尽快观看 Alice 的视频)。因此,以 mp4 的 moov 为首,执行范围请求和实现功能很简单。原始 RTMP 似乎不能解决我们的问题,因为我们不能让 Bob 从时间 0 开始观看 Alice 的录音。
问题是: 1) 是否可以在 flv 尚未完全生成时执行此操作? 2) 还有什么想法我们应该如何使用 nginx-rtmp/ffmpeg 来实现我们想要的功能?
非常感谢
【问题讨论】:
标签: video nginx ffmpeg mp4 rtmp