如何通过流畅的播放将网络摄像头录制到flv
时间:2020-03-05 18:54:41 来源:igfitidea点击:
我希望我的网站使用网络摄像头录制flv。这些flv需要流畅播放,这样我以后才能使用它们,例如将它们转码为avis。
我尝试了许多不同的服务器来处理flv录制。例如,生成的flv在Wimpy FLV Player中播放正常,除了进度指示器不能平稳或者以常规方式移动之外。这表明存在问题,如果我尝试使用" ffmpeg -i input.flv output.avi"(带或者不带帧率选项" -r 15")对它们进行转码,我将无法获得正确的avi。
这是我尝试过的方法以及遇到的问题:
- 使用red5(在OS X 10.5.4和Ubuntu 8.04上均为0.6.3和0.7.0版)及其包含的Publisher.html示例。这就是生成的flv。指示器非常快地跳到终点。
- 仍在使用red5,但发布"实时"并在几秒钟后开始录制。我使用了这些示例文件。这就是生成的flv。指示器仍然非常快地跳到终点,用这种方法根本没有声音...
- 使用Wowza Media Server Pro(在我的Mac上为1.5.3版)。进度指示器不会跳到尽头,但在开始时它会更快地移动。这足以使使用ffmpeg转换为其他格式时,视觉效果无法与音频正确同步。只是为了确保我尝试了它随附的录像机,以及使用red5的Publisher.html(结果相同)。
- 通过www.influxis.com上托管的帐户使用Flash Media Server 3. 我得到了另一种进展模式。进度指示器从开始处略微跳动,然后变为常规状态。这是一个例子。
我知道可以录制"无瑕疵"的flv,因为Facebook的视频应用程序可以做到这一点(使用red5?)。确实,很容易查看Facebook视频的HTML来源并获得http URL来下载其产生的flv。在Wimpy中播放时,进度指示器很流畅,并且用" ffmpeg -i facebook.flv -r 15 facebook.avi"进行转码会产生很好的avi。这是一个例子。
因此,我可以在恒定帧率下获得高质量的视频吗?
PS:服务器必须可以在Linux上安装,也可以在价格合理的托管服务提供商处使用。
编辑:如前所述,也许问题不是每说话的帧率,而是其他。我不懂视频,也不知道如何检查示例。也许有人可以对此有所了解。
解决方案
回答
问题可能不是帧速率,而是关键帧和标记。
回答
查看richflv(非常方便的flv编辑工具)中的red5示例flv,我们可以看到我们有常规的关键帧,但是未设置工期元数据。
Facebook示例flv几乎没有任何关键帧(这意味着我们将无法很好地在其中进行"搜索"),但是元数据持续时间是正确的。
我将研究flvtool2和flvtool ++(这是长文件的内存效率更高的替代方案),以插入正确的元数据捕获后的内容。