我正在CS5中构建一个网络摄像头录制应用程序,我对录制的flv有一些看似随机的问题 . 目前,我正在使用标准的_netstream.publish(“movieName”,“record”)命令向Wowza Media Server发布流 . 关于此的一切工作正常,我可以播放文件,但有时在视频的开头或结尾有3到4秒的暂停 . 将有一个静止的帧,时间将设置为0,然后捕捉到4.我已经探索了带宽选项,我已经大大降低了分辨率和质量,它似乎没有任何影响,其余的视频将顺利播放 . 这是我目前的相机和麦克风设置 .
_cam.setMode(160, 120, 30, false);
_cam.setQuality(0, 88);
_cam.setKeyFrameInterval(30);
_mic.rate = 11;
我也在关闭发布流之前刷新缓冲区
_netstream.publish('null');
相机初始化/停用会导致滞后吗?
任何帮助将不胜感激 . 如果您需要更多详细信息,请告诉我们
1 回答
我相信这与Flash插件本身初始化和显示相机的方式有关 .
如果您设置了一个简单的测试来尝试设置和取消设置视频流:
当它在两个状态之间切换时,你会注意到一个明确的停顿 .
从我所看到的,每当我用视频对象调用
attachCamera()
时,调用该方法时Flash Player本身会有明显的暂停(包括所有补间,交互,所有内容),即使我附加的对象也是如此是null
.四秒似乎是一个过度延迟,但我注意到输入/视频渲染越大,视频对象上设置
smoothing = true
就会影响延迟的长度 .至于解决方案;我不确定是否有一个可以通过纯ActionScript实现,因为延迟似乎取决于Flash Player本身如何初始化和呈现实时视频对象 .