我希望我的网站能够使用网络摄像头录制flv。这些flv需要顺利播放,以便我可以随后玩它们,例如将它们转码为avis。
我尝试过很多不同的服务器来处理flv录音。例如,在Wimpy FLV播放器中生成的flv播放正常,除了进度指示器不能平滑移动或以常规方式移动。这是一个错误的迹象,如果我尝试使用“ffmpeg -i input.flv output.avi”(有或没有帧速率选项“-r 15”)对它们进行转码,我没有得到正确的avi。
这是我尝试过的以及我遇到的问题:
使用red5(v 0.6.3和0.7.0, 在OS X 10.5.4和Ubuntu 8.04上都有) 和publisher.html的例子呢 包括。这是resulting flv。指标跃向 结束非常迅速。
仍然使用red5,但发布“live”并在几秒钟后开始录制。我用了these example files。这是resulting flv。指标仍然非常迅速地跳到最后,用这种方法完全没有声音......
使用Wowza Media Server Pro(v 1.5.3,在我的Mac上)。进度指示器没有跳到最后,但它在开始时移动得更快。这足以使用ffmpeg转换为其他格式,使视觉与音频不能正确同步。只是为了确保我尝试了video recorder that comes with it,以及使用red5的publisher.html(使用identical results)。
通过www.influxis.com托管的帐户使用Flash Media Server 3。我得到了另一种进展模式。进度指示器在开头稍微跳转,然后变为常规。这是an example。
我知道有可能录制一个“完美无瑕”的flv,因为facebook的视频应用程序会这样做(使用red5?)的确,很容易看到facebook视频的HTML源代码并获取http URL来下载他们制作的flvs 。当在Wimpy中播放时,进度指示器是平滑的,并且使用“ffmpeg -i facebook.flv -r 15 facebook.avi”进行转码会产生良好的avi。这是an example。
那么,我可以设法以恒定的帧速率获得良好的flv吗?
PS:服务器必须可以在Linux上安装,或者在价格合理的托管服务提供商处提供。
编辑:正如所指出的,也许问题不是每个说法的帧率而是其他的。我不熟悉视频,我不知道如何检查我给出的例子来检查;也许有人可以对此有所了解。
答案 0 :(得分:2)
在richflv(非常方便的flv编辑工具)中查看你的red5示例flv,我们可以看到你有常规的关键帧,但没有设置持续时间元数据。
facebook示例flv几乎没有任何关键帧(这意味着你无法在其中“寻找”),但元数据持续时间是正确的。
我会研究flvtool2和flvtool ++(对于长文件来说是一种更有效的内存替代方法),以便在捕获后插入正确的元数据。
答案 1 :(得分:0)
你的问题可能不是帧速率,而是关键帧和标记。