GithubHelp home page GithubHelp logo

teaonly / android-eye Goto Github PK

View Code? Open in Web Editor NEW
1.1K 148.0 495.0 2.78 MB

Change your android phone to surveillance camera

License: Other

CSS 0.39% HTML 0.22% JavaScript 2.37% C 87.67% Logos 2.48% Python 0.25% Makefile 0.09% C++ 0.47% Java 6.06%

android-eye's Introduction

android-eye

Change your android phone to a surveillance security camera.

Download

You can download binrary from Google Play: https://play.google.com/store/apps/details?id=teaonly.droideye

Specifications

  • Streaming

    • Build-in web service, you can see the video via browser in pc and another phone, a modem browser with HTML5 is reauired.
    • H.264 video and G.726 audio
    • Streaming via websocket between browser and android phone.
    • Decoding H.264 and G.726 in pure Javascript
  • Smart

    • Support motion detecting (doing)
    • Support advanced vision algorithms (doing)
    • Publishing alarm messages to SNS (not ready)
  • Access over internet

License and third party libraries

Update

  • 2014-10-10 Refine project with new specifications.

... (打酱油) ...

  • 2012-10-30 Finished audio support.
  • 2012-10-28 Fixed small bugs, added audio flash player in Web page.
  • 2012-10-18 Bugs fixed, supported IE, Firefox and Chrome.
  • 2012-08-04 Multiple jpeg streaming is OK, basic framework is OK.
  • 2012-07-26 creating project.

android-eye's People

Contributors

teaonly avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

android-eye's Issues

no mjpeg

Excelent app.
Thanks for source code.
but I very need mjpeg, can you help me? How can I add mjpeg support in your app?

when i import your prohect to android studio in win 8.1

when i import your prohect to android studio in win 8.1
when i want to build your project it returns this errors:

Error:(209) *** Android NDK: Aborting... . Stop.
Error:Execution failed for task ':app:compileDebugNdk'.

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'D:\android-ndk-r10b\ndk-build.cmd'' finished with non-zero exit value 2

findLibrary returned null

Hey there, I got a crash during launch on the emulator :
+1: 02-18 13:33:19.982: E/AndroidRuntime(865): java.lang.UnsatisfiedLinkError: Couldn't load mp3encoder from loader alvik.system.PathClassLoader[dexPath=/data/app/teaonly.droideye-2.apk,libraryPath=/data/app-lib/teaonly.droideye-2]: findLibrary returned null

I tried to fix it with this : #4 but still the same error. Please help :)

won't loadLibrary libmp3encoder.so (my compile or one from online)

The android apk works fine on my Samsung tablet 2. I have got all the source code for android-eye loaded in my netbeans Android IDE and it compiles fine. I fixed the #include "lame.h" in set_get.h and compiled the JNI code with NDK. It loads the libnatpmp.so fine if I put it first, but always crashes the app after a few seconds while trying to load libmp3lame.so (whether first or second). I downloaded compiled copies of these 2 from https://github.com/shreks7/crazyflie-android-no-otg/tree/master/crazyFlie-android-client-no-otg/obj/local/armeabi, and tried them, but with exactly the same results. Can you give me advice what I should do? I'm a 30-year computer guy, but this one seems very hard to diagnose.

Error:(687) Android NDK: Module MediaEncoder depends on undefined modules: cutils gnustl dl

I convert this project into android studio. however, i kept getting the error when building this project:

Error:(687) Android NDK: Module MediaEncoder depends on undefined modules: cutils gnustl dl

This is what is in the Android.mk. I am new to NTK, anybody can advise the issue here?

building application library

include $(CLEAR_VARS)
LOCAL_MODULE := libMediaEncoder
LOCAL_CPP_EXTENSION := .cc .cpp
LOCAL_CPPFLAGS := -O2 -Werror -Wall
LOCAL_C_INCLUDES := $(MY_LOCAL_PATH)
LOCAL_SRC_FILES := main_jni.cpp
h264encoder.cpp
g72x/g726_32.c
g72x/g711.c
g72x/g72x.c

LOCAL_LDLIBS += -llog -lz
LOCAL_SHARED_LIBRARIES := libcutils
libgnustl
libdl

The decoded video color was broken...

I compiled your source cod and installed it to my galluxy 3.
After running Wifi Camera, I tried to connect to my phone and to play it.
Video Streaming was ok, but video lost his color!!!!
I could just see the screen with Black & White + some broken colors...

What was wrong? Please help me. (T.T)

Check that jni/x264/libx264.a exists

Android NDK: ERROR:jni/Android.mk:x264_pre: LOCAL_SRC_FILES points to a missing file
Android NDK: Check that jni/x264/libx264.a exists or that its path is correct
F:/Programs/MyEclipse/Android-NDK/build/core/prebuilt-library.mk:45: *** Android NDK: Aborting . Stop.

mp3encoder error

When I downloaded and installed this app from GooglePlay it works fine but when I downloaded the source, compiled through eclipse, it starts but the preview screen remains dark and after some 10sec I get the "Unfortunately, WifiCamera has stopped" message.

In logcat I found this error java.lang.unsatisfiedlinkerror: cound not load mp3encoder find library return null.

what can I do.

Could you release this under a permissive lisence?

apache v2, bsd, mit, or something? I'd love to use this as a base for an academic project I'm doing, but I need to know the license.
If you don't have an opinion, I'd say go with apache v2, that's what the rest of android is.

streaming to other android device

could you tell please how can manage to stream the flv to andorid device?

i tried this :
webView = (WebView)findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setPluginsEnabled(true);
webView.loadUrl("http://10.0.0.2:8080/");

but i get 👍

but andorid 4.2 isn't support flash anymore.

compiled issue

Hanpped a error bleow ,when i compiled c/c++ code :

could not read symbols: File in wrong format
collect2: ld returned 1 exit status

Which version is being used ? or other issue

My environment : xp + android-ndk-r6 。

help me please , thanks .

JNI build error

Hi I am new to NDK. When i tried to build the JNI it shows following error.

C:\Users\USER\workspace\android-eye\jni>ndk-build
Android NDK: ERROR:C:/Users/USER/workspace/android-eye/jni/Android.mk:x264_pre:
LOCAL_SRC_FILES points to a missing file
Android NDK: Check that C:/Users/USER/workspace/android-eye/jni/x264/libx264.a e
xists or that its path is correct
E:/ms/ndk/android-ndk-r10e/build/core/prebuilt-library.mk:45: *** Android NDK: A
borting . Stop.

fix for libmp3lame/set_get.h

--- a/jni/libmp3lame/set_get.h
+++ b/jni/libmp3lame/set_get.h
@@ -21,7 +21,7 @@
#ifndef SET_GET_H
#define SET_GET_H

-#include <lame.h>
+#include "lame.h"

#if defined(__cplusplus)
extern "C" {

version in google play prints a wrong ip address

Hi,
thanks for the interesting code.

It seems that the binary version in Google Play prints an IpV6 address on activity screen.
I think that most users can't determine their device IpV4 address.

Anyway, great example of android camera streaming!!!

Thank you,
Regards,
Giacomo Stelluti Scala

jni issue.

sam@haifengl /cygdrive/c/git/android-eye/jni
$ $NDK/ndk-build
Compile thumb : mp3encoder <= presets.c
Compile thumb : mp3encoder <= quantize.c
Compile thumb : mp3encoder <= reservoir.c
Compile thumb : mp3encoder <= tables.c
Compile thumb : mp3encoder <= util.c
Compile thumb : mp3encoder <= VbrTag.c
Compile thumb : mp3encoder <= encoder.c
Compile thumb : mp3encoder <= gain_analysis.c
Compile thumb : mp3encoder <= lame.c
Compile thumb : mp3encoder <= newmdct.c
Compile thumb : mp3encoder <= psymodel.c
Compile thumb : mp3encoder <= quantize_pvt.c
Compile thumb : mp3encoder <= set_get.c
Compile thumb : mp3encoder <= takehiro.c
Compile thumb : mp3encoder <= vbrquantize.c
Compile thumb : mp3encoder <= version.c
Compile++ thumb : mp3encoder <= mp3encoder.cpp
Prebuilt : libstlport_static.a <= /sources/cxx-stl/stlport/libs/armea bi/
SharedLibrary : libmp3encoder.so
C:/android-ndk-r8-windows/android-ndk-r8/toolchains/arm-linux-androideabi-4.4.3/ prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linu x-androideabi/bin/ld.exe: C:/git/android-eye/obj/local/armeabi/libstlport_static .a: No such file: Permission denied
collect2: ld returned 1 exit status
/cygdrive/c/android-ndk-r8-windows/android-ndk-r8/build/core/build-binary.mk:369 : recipe for target `/cygdrive/c/git/android-eye/obj/local/armeabi/libmp3encoder .so' failed
make: *** [/cygdrive/c/git/android-eye/obj/local/armeabi/libmp3encoder.so] Error 1

any help? Thanks

Detecting and supporting Tethering mode.

Hi,

I would like to use a phone in tethering mode to enable a phone strapped to a drone to broadcast video.

Tethered will allow me to launch the drone with the phone attached broadcastinf over its WiFi connection. I can then connect any other device to the AP and view live video from the drone.

Currently the code doesn't detect and support the the tethering mode. A reference below provides a way to detect.

http://stackoverflow.com/questions/9065592/how-to-detect-wifi-tethering-state

Orientation - Landscape mode only?

The application seems to support landscape mode only.
My phone mount is vertical only.
Any way to turn the feed 90° to vertical mode?

Latency

How do i reduce the latency? It's lag when streaming between my phone and laptop

cant stream video

Justo installed, no firewall on my phone, it tells me to open on http://30.0.0.101:8080 (this is my network) but when I open it on another pc or on my cellphone (where I installed WiFi camera) it keeps searching but nothing shows :(

Wake lock permission

Dear developers,

I am a researcher from Hong Kong. I am developing a static analysis tool for Android applications.

Recently, I applied my tool to analyze Wifi camera and found that it does not use wake locks or wifi locks, but it acquires wake lock permission.

uses-permission android:name="android.permission.WAKE_LOCK"

Is this really necessary? Looking forward to your reply and hope we can help improve your project.

WifiCamera has stopped.

When I downloaded and installed this app from GooglePlay it works like a charm.
When I downloaded the source, compiled through ADT (Build: v22.6.2), it starts but the preview screen remains dark and after some 10sec I get the "Unfortunately, WifiCamera has stopped" message.
What can be the cause?

How can I use it?

I read its readme file. I did not got clear idea about how to use that app?
Please suggest me the way to use it.
thanks.

https://github.com/Teaonly/android-eye/issues/32.How to solve this problem?

#32
How to solve this problem?
I have x264 file in jni and also run ./build_android.sh but it shows "You must define ANDROID_NDK before starting." "They must point to your NDK directories".My NDK directory is in SDK folder.It is automatically installed by Android Studio.I don't know how to continue...
我已经git了x264这个包解压后文件夹名改为x264并且放在了jni目录下,也有ndk,是android studio自动下载安装的ndk,ndk-bundle目录就是在默认sdk路径下。都是安卓默认的。在x264文件夹下运行了./build_android.sh,显示"You must define ANDROID_NDK before starting." "They must point to your NDK directories".编译还提示config.h文件缺失,也是x264包里的头文件。我不知道如何继续下去了。

Tablet with 3g, I don't show streaming in webbrowser

Hi!

When i use my mobile or tablet with this app, i can't see the streaming in webbrowser.

I see an ip, but i think this is wrong (i see an ip with format 10.X.X.X)...

So, How can i see the streaming with a tablet with 3g/lte and the browser opened in and remote pc?

THANKS!

Stream is stored

started the app, had it on my workstation with Firefox. 3 hours later 12GB of RAM where full. Terminating Firefox solved that, but what can I do for longer use of the app?

Spielmops

License?

I'd llike to distribute this app via f-droid.org. Everything there built from source and must have a FOSS license : could you apply one (copy of the license, choice of license in README, bonus points for headers in source code files)? Because Admob isn't FOSS that would have to be removed. We can link to a donation page. Thanks.

MediaEncoder not found

After installing every time its trying to load librery called MediaEncoder which its unable to find.

Getting it to run, missing LibMediaEncoder.so

I have tried opening this in Eclipse and Android Studio, I have installed the NDK for both but I get this error

02-18 20:30:36.288: E/AndroidRuntime(1918): FATAL EXCEPTION: main
02-18 20:30:36.288: E/AndroidRuntime(1918): Process: teaonly.droideye, PID: 1918
02-18 20:30:36.288: E/AndroidRuntime(1918): java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/teaonly.droideye-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]] couldn't find "libMediaEncoder.so"
02-18 20:30:36.288: E/AndroidRuntime(1918): at java.lang.Runtime.loadLibrary(Runtime.java:366)
02-18 20:30:36.288: E/AndroidRuntime(1918): at java.lang.System.loadLibrary(System.java:989)
02-18 20:30:36.288: E/AndroidRuntime(1918): at teaonly.droideye.MainActivity.(MainActivity.java:535)
02-18 20:30:36.288: E/AndroidRuntime(1918): at java.lang.reflect.Constructor.newInstance(Native Method)
02-18 20:30:36.288: E/AndroidRuntime(1918): at java.lang.Class.newInstance(Class.java:1572)
02-18 20:30:36.288: E/AndroidRuntime(1918): at android.app.Instrumentation.newActivity(Instrumentation.java:1065)
02-18 20:30:36.288: E/AndroidRuntime(1918): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2199)
02-18 20:30:36.288: E/AndroidRuntime(1918): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
02-18 20:30:36.288: E/AndroidRuntime(1918): at android.app.ActivityThread.access$800(ActivityThread.java:144)
02-18 20:30:36.288: E/AndroidRuntime(1918): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
02-18 20:30:36.288: E/AndroidRuntime(1918): at android.os.Handler.dispatchMessage(Handler.java:102)
02-18 20:30:36.288: E/AndroidRuntime(1918): at android.os.Looper.loop(Looper.java:135)
02-18 20:30:36.288: E/AndroidRuntime(1918): at android.app.ActivityThread.main(ActivityThread.java:5221)
02-18 20:30:36.288: E/AndroidRuntime(1918): at java.lang.reflect.Method.invoke(Native Method)
02-18 20:30:36.288: E/AndroidRuntime(1918): at java.lang.reflect.Method.invoke(Method.java:372)
02-18 20:30:36.288: E/AndroidRuntime(1918): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
02-18 20:30:36.288: E/AndroidRuntime(1918): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)

feedback

Nice app, basicly working grate. Thanks q lot for it. Nearly simple perfect but ive got dome feedback:

-could you improve the camara controll and add things like

  • switching focus, flash/led, front/back camara
  • could you add a feature to work without the activity on screen (implement as service) so that i can lock the screen and switch to other apps while streaming.
  • if you do so could you add some command line bindings so i can start/stop and configure the service using ssh.

Thanks a lot in advance and please keep up the good work

Audio Support or Stream Details/Example

Is it possible to show audio support in your html video player? I suppose it is just RAW mono pcm audio, so it shouldn't be to hard to figure out just curious as to why the example seems incomplete.

It would also be nice if you could just include on your main page README something about the media stream you have designed here. It appears you pass a block containing elementary h264 nal units and a block containing pcm audio. The h264 nal unit is without SPS/PPS information correct? I notice you push timing into the video header.

I am looking to take what you have done and decode the stream using Android MediaCodec.

jni failure

jni/libmp3lame/bitstream.c: In function 'do_gain_analysis': jni/libmp3lame/bitstream.c:992:24: warning: unused variable 'rov' [-Wunused-variable] jni/libmp3lame/bitstream.c:991:32: warning: unused variable 'rsv' [-Wunused-variable] jni/libmp3lame/bitstream.c:990:34: warning: unused variable 'cfg' [-Wunused-variable] In file included from jni/libmp3lame/presets.c:29:0: jni/libmp3lame/set_get.h:24:18: fatal error: lame.h: No such file or directory compilation terminated. make: *** [obj/local/armeabi/objs/mp3encoder/libmp3lame/presets.o] Error 1 Compile thumb : mp3encoder <= bitstream.c Compile thumb : mp3encoder <= fft.c Compile thumb : mp3encoder <= id3tag.c Compile thumb : mp3encoder <= mpglib_interface.c Compile thumb : mp3encoder <= presets.c

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.