从arm linux上的CMOS Camera读取流并将其转换为视频/照片

时间:2012-10-29 10:05:26

标签: java linux camera embedded

我在Arm linux设备上做了一些事情,特别是(FriendlyArm 2440)。

我打开cmos相机("/dev/camera"

如何将其转换为视频/照片文件?

我目前的代码是这样的:

FileInputStream fis = null;
    try {
      String file = "/dev/camera";
      fis = new FileInputStream(file);

      byte[] buffer = new byte[1024];
      int count = fis.read(buffer);

      while (count != -1) {
        System.out.println(buffer);
        count = fis.read(buffer);
      } 
    } catch (IOException ex) {
      System.out.println("Error: " + ex.getMessage());
    } finally {
      try {
        fis.close();
      } catch (IOException ex) {
        System.out.println("Error: " + ex.getMessage());
      }
    }

最后,我想通过套接字将数据发送到PC上的客户端程序并将文件保存在那里或只显示实时流

我应该使用哪种技术或资源库来保存为视频/照片?

1 个答案:

答案 0 :(得分:0)

我建议您查看gstreamer包。不确定您的FriendlyArm 2440板是否支持gstreamer,但您可以自己交叉编译并添加gstreamer。然后你可以创建一个自定义插件来支持你的相机,然后使用许多可用的plugins来生成/编码和流式传输来自电路板的视频......假设你拥有CPU资源。

您还可以在接收PC端使用gstreamer接收和显示或处理视频/照片。这也许是一种可能性:将原始视频流式传输到PC,让PC处理它(但这显然需要更多的网络带宽)。

祝你好运,