2015-03-25 107 views
0

我已经编程的服务器端和客户端从java摄像头接收视频流。Opencv和jmf在一起

这是我使用在客户端什么:

public void update (ReceiveStreamEvent event) { 

       if (event instanceof NewReceiveStreamEvent) { 
        ecritureAffichage("Reception d'un flux"); 
       //new flux received 
        ReceiveStream rs = event.getReceiveStream(); 

        try { 
         Player p = Manager.createRealizedPlayer(rs.getDataSource()); 

         //if the payer has a visual component , then create new jframe 

我完全从服务器获取数据流,我现在需要的是做客户端上的一些运动检测,我我在想使用OpenCv,但我不知道如何使它工作! 我所知道的是OpenCv可以直接打开视频文件或使用网络摄像头,我不知道的是它可以将视频流作为输入吗?

可以这样做吗?或者我只是走错了路。 请给我一些想法,谢谢

回答

0

OpenCV允许你打开一个视频流。你可以按照建议去做on this link

从本质上讲,视频操作所需的所有功能都集成在VideoCapture C++类中。这本身就建立在FFmpeg开源库上。这是OpenCV的一个基本依赖关系,因此您不必担心这一点。视频由一系列图像组成,我们在文献中将这些视为帧。在视频文件的情况下,帧速率指定两帧之间的时间长度。虽然摄像机通常每秒钟可以数字化的帧数有限,但这个特性并不重要,因为摄像机在任何时候都能看到当前的世界快照。

+0

这是什么意思,这是直接使用相机或打开一个视频文件 但我有什么是从服务器流到客户端,这意味着相机是在服务器端。我希望你明白了我的意思,谢谢:) – 2015-03-25 21:10:00

+0

请问有没有人可以帮助我? – 2015-03-26 09:05:39