Giter VIP home page Giter VIP logo

curiousme's Introduction

CuriousMe - AR for Android

CuriousMe is an augmented reality application developed by Xhensila Doda and Davide Abati as midterm project for MuMet. It is basically composed of two building blocks:

  • a web server, where the user can couple target images with YouTube videos, and store the combination;
  • an Android application, that can recognize such target images once acquired by the device camera, and play the corresponding video in overlap. Actually, this also relies on the Vuforia SDK and Vuforia Web Services to work, but everything will be clear in a minute!

By now, you can watch a fancy video of CuriousMe.

How does it work?

The whole architecture is explained by this image: curiousme-architecture

1 - User just publishes a new image/video combination on the web application, and the information gets forwarded to the Vuforia Cloud, as an image with textual metadata (the video url);

2 - The Vuforia SDK living in the Android Application queries the cloud web services about the presence of a target image in the acquired frame;

3 - If a target is present, its metadata are sent to the mobile application, containing the video URL;

4 - The mobile application opens a connection to the CuriousMe server, that acts as a proxy to YouTube (this is necessary because Android only supports HLS streams, so a conversion is needed);

5 - The video reaches the mobile phone, and is rendered upon the target image within the acquired frame.

Getting started

Unfortunately, the web application is not available yet :(... but we're working on its release! Anyway, you can still try the mobile application by manually uploading data in the Vuforia Cloud. Here's how it works:

  • Create a Vuforia developer account here.
  • In your Target Manager, create a cloud database and load your first target image, also providing a text file as metadata, containing the HLS url of the stream you want to couple;
  • Checkout this repository in a local folder, and open it with Android Studio (integration with different IDEs is possible, but definitely NOT recommended);
  • In your Vuforia Developer Portal, find out your client access keys for your database, and put them in app/src/main/java/com/mumet/abatidoda/curiousme/VideoPlayback/app/VideoPlayback/VideoPlayback.java, lines 112-113:
private static final String kAccessKey = "INSERT ACCESS KEY HERE";
private static final String kSecretKey = "INSERT SECRET KEY HERE";
  • Install the application on a device, open it and try to frame your target! :)

curiousme's People

Contributors

davidea avatar xhensiladoda avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

curiousme's Issues

Camera scanning is started but it wasn't detected / not rendering video

I'll follow the steps given in readme.md and added keys as stated,
uploaded image and metadata text file in JSON format,
installed the app -> allowed Camera & Storage Permission Manually from Settings -> Reopen App -> Tried to scan Image which is already uploaded on Vuforia Database -> it was not scan !
If possible, please help me out..
Thanks in advanced!

doesn't render video

used the app and added the keys but it still doesn't render video (increases the recognition count in vuforia console)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.