fyhertz / spydroid-ipcamera Goto Github PK
View Code? Open in Web Editor NEWA powerful and funny android app. that streams the camera and microphone of your phone to your browser or to VLC
License: GNU General Public License v3.0
A powerful and funny android app. that streams the camera and microphone of your phone to your browser or to VLC
License: GNU General Public License v3.0
mMediaRecorder.setOutputFile(mSender.getFileDescriptor());
mMediaRecorder.prepare();
mMediaRecorder.start();
With above code lines, throw a IllegalStateException If mSender is a socket, I see it work fine with mMediaRecorder.setOutputFile(local_file). I think it a bug of Google API. Please help me check it.
Thank
Bao Doan
This error shows up on the web interface when I click on Disconnect and Connect again.
On the phone: preview video freezes.
Web interface: "An error occured :( SetPreviewDisplay Failed"
Simple workaround is to close and start Spydroid and to click on Connect again.
But it should refresh or simply off preview video after disconnecting or something.
SpyDroid 9.1
The first congratulate and thank you for your fantastic project.
How I can make streaming work when the app is in background?
Thanks for your help.
Regards
Hey, yesterday I started developing this app by cloning, it is working on mobile devices but not on Tablet and android box. Please help me out for this
Hi Guys,
I am facing black screen issue, when I changed the screen resolution. It is only working with default resolution only which is given 320240. Can you please suggest a solution . Which things I need to change in terms of Ex. 640480 resolution. I have also changed the bitrate and fps. But couldn't work.
spydroid v10 has worked exactly one time with vlc
since then vlc tells: VLC is unable to open the MRL 'rtsp://192.168.220.141:8086'.
live555 error: SETUP of'video/H264' failed 500 Internal Server Error
live555 error: Nothing to play for rtsp://192.168.220.141:8086
access_realrtsp warning: only real/helix rtsp servers supported for now
main error: open of `rtsp://192.168.220.141:8086' failed
html streams don#t work either.
Hello
these 3 packages are missing
net.majorkernelpanic.streaming.gl
net.majorkernelpanic.streaming.hw
net.majorkernelpanic.streaming.exceptions
hence I get a lot of warning of missing types.
what's wrong with these?
Do we need them? can you please push them to the master branch?
thanks for providing this awesome software
With this option users would be allowed to select which proctol they prefered, and more media players would got benifits from this.
I expect it to go on.
When I use a VLC to connect to RTSP, the display is normal, but when I use a second VLC to connect, the first one will be stopped. The log is as follows:
2019-12-26 20:17:21.329 28836-31681/com.xzh.ipcamera I/RtspServer: Connection from 192.168.31.189
2019-12-26 20:17:21.331 28836-31681/com.xzh.ipcamera E/RtspServer: OPTIONS rtsp://192.168.31.29:8086/spydroid.sdp?id=0&h264=1000-20-480-320&flash=off&camera=front
2019-12-26 20:17:21.355 28836-31681/com.xzh.ipcamera E/RtspServer: DESCRIBE rtsp://192.168.31.29:8086/spydroid.sdp?id=0&h264=1000-20-480-320&flash=off&camera=front
2019-12-26 20:17:21.387 28836-31688/com.xzh.ipcamera E/VideoStream: zzx===>camera Id: 1
2019-12-26 20:17:21.382 28836-28836/com.xzh.ipcamera W/Thread-10: type=1400 audit(0.0:5278697): avc: denied { read } for name="u:object_r:camera_prop:s0" dev="tmpfs" ino=20798 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:camera_prop:s0 tclass=file permissive=0
2019-12-26 20:17:21.388 28836-31688/com.xzh.ipcamera E/libc: Access denied finding property "camera.hal1.packagelist"
2019-12-26 20:17:21.392 28836-28940/com.xzh.ipcamera E/Camera: Error 2
2019-12-26 20:17:21.392 28836-28940/com.xzh.ipcamera E/VideoStream: Error unknown with the camera: 2
2019-12-26 20:17:22.161 28836-31681/com.xzh.ipcamera E/RtspServer: SETUP 192.168.31.29:8086/trackID=1
2019-12-26 20:17:23.744 28836-31729/com.xzh.ipcamera I/OMXClient: Treble IOmx obtained
2019-12-26 20:17:23.751 28836-31729/com.xzh.ipcamera I/ExtendedACodec: setupVideoEncoder()
2019-12-26 20:17:23.753 28836-31729/com.xzh.ipcamera I/ACodec: setupAVCEncoderParameters with [profile: Main] [level: Level41]
2019-12-26 20:17:23.753 28836-31729/com.xzh.ipcamera I/ACodec: h264type nBFrames is 0, nAllowedPictureTypes is 3
2019-12-26 20:17:23.753 28836-31729/com.xzh.ipcamera I/ACodec: [OMX.google.h264.encoder] cannot encode color aspects. Ignoring.
2019-12-26 20:17:23.753 28836-31729/com.xzh.ipcamera I/ACodec: [OMX.google.h264.encoder] cannot encode HDR static metadata. Ignoring.
2019-12-26 20:17:23.753 28836-31729/com.xzh.ipcamera I/ACodec: setupVideoEncoder succeeded
2019-12-26 20:17:23.755 28836-31729/com.xzh.ipcamera W/ExtendedACodec: Failed to get extension for extradata parameter
2019-12-26 20:17:23.806 28836-31732/com.xzh.ipcamera I/MediaCodecInputStream: {max-bitrate=1000000, csd-1=java.nio.HeapByteBuffer[pos=0 lim=10 cap=10], mime=video/avc, width=416, bitrate=1000000, height=200, csd-0=java.nio.HeapByteBuffer[pos=0 lim=18 cap=18]}
2019-12-26 20:17:23.901 28836-31681/com.xzh.ipcamera E/RtspServer: PLAY 192.168.31.29:8086/
2019-12-26 20:17:31.900 28836-28939/com.xzh.ipcamera E/RtspServer: TEARDOWN 192.168.31.29:8086/
2019-12-26 20:17:31.962 28836-28939/com.xzh.ipcamera I/qtaguid: Untagging socket 62 failed errno=-22
2019-12-26 20:17:31.963 28836-28939/com.xzh.ipcamera I/RtspServer: Client disconnected
2019-12-26 20:17:45.618 28836-28843/com.xzh.ipcamera I/zygote64: Compiler allocated 6MB to compile void android.view.ViewRootImpl.performTraversals()
2019-12-26 20:18:11.658 28836-28843/com.xzh.ipcamera I/zygote64: Do full code cache collection, code=250KB, data=164KB
2019-12-26 20:18:11.659 28836-28843/com.xzh.ipcamera I/zygote64: After code cache collection, code=204KB, data=127KB
2019-12-26 20:18:21.924 28836-31681/com.xzh.ipcamera E/RtspServer: OPTIONS 192.168.31.29:8086/
2019-12-26 20:18:22.029 28836-31681/com.xzh.ipcamera E/RtspServer: TEARDOWN 192.168.31.29:8086/
2019-12-26 20:18:22.954 28836-31681/com.xzh.ipcamera I/qtaguid: Untagging socket 73 failed errno=-22
2019-12-26 20:18:22.955 28836-31681/com.xzh.ipcamera I/RtspServer: Client disconnected
Hi
In a recent code snapshot, I've found a following suspicious code in src/net/majorkernelpanic/streaming/video/CodecManager.java
157 for (int i = 0; i < types.length; i++) {
158 if (types[i].equalsIgnoreCase(mimeType)) {
159 MediaCodecInfo.CodecCapabilities capabilities = codecInfo.getCapabilitiesForType(mimeType);
160
161 boolean software = false;
162 for (int k=0;k<SOFTWARE_ENCODERS.length;k++) {
163 if (codecInfo.getName().equalsIgnoreCase(SOFTWARE_ENCODERS[i])) {
164 software = true;
165 }
166 }
Currently, SOFTWARE_ENCODERS has only one value, so it might not be an issue if the length of types are not > 1. But wanted to report just in case. Thanks!
hey hi, i was trying the example 2 application that uses this library with VLC on the other end as client playing using the sdp file. VLC recognises the audio track but its not receiving any audio blocks to decode. i guess something is not right with the audio streaming package. the spydroid app also had the same problem. i tried with both AAC and AMR. no use.
I tried replacing
public VideoStream() {
this(CameraInfo.CAMERA_FACING_FRONT);
but it didn't work , even tried to utilize public void switchCamera() API ,
was not able to switch to front ,camera any suggestions on this
There seems to always be a 1 second - 3 second delay on the stream. I'd love to use this as the basis for an open source FPV (first person view) robotic controller application. Do you have any ideas on how to reduce the latency to 500ms or lower?
your app is Great,i installed it on android 4.1 when i opened rtsp in vlc my laptop,it returns errors in win8.1
VLC is unable to open the mrl
live555 error: Failed to connect with rtsp://192.168.137.2:9090
core error: open of `rtsp://192.168.137.2:9090' failed
@fyhertz Thanks amillion for this
I am not able to connect to the phone app from web please help
I get below error on dev console
.
Dear sir,
I have iBall Slide D7061. When i play rtsp then log create as i attached.
Please help. I am in trouble since 20 days.
Note: My code is working on all other devices i tested.
error.txt
Caused by: java.lang.ClassCastException: android.view.SurfaceView cannot be cast to net.majorkernelpanic.streaming.gl.SurfaceView
04-30 02:13:59.532: E/AndroidRuntime(28121): at net.majorkernelpanic.spydroid.ui.PreviewFragment.onCreateView(PreviewFragment.java:79)
First thanks a lot for the nice app! It must be really helpful for many people under the siege we are in right now :)
Not sure if this is the same issue that I'm experiencing with a previous reporter (#11), but I guess it will be best to open a separate bug report (let me know if there's an open issue about he same thing, I might have missed it..)
OS is Mint 19.3
Firefox 76.0 (64-bit)
VLC is 3.0.8-0ubuntu18.04.1
The device is a OnePlus One with its default setup.
spydroid is the latest present version from F-Droid.
On an initial connection to the phone's portal address (i.e. 192.168.xx.xx:8080) the page greets me with a "You need to install or update VLC and the VLC mozilla plugin !".
I have all available plugins for vlc installed in Mint, but I'm really unsure if the reported missing plugin is not something not provided in Mint/Ubuntu repositories.
Let me know if I should share any other info in order to investigate this further.
hello i have installed app from play store and gave the IP address in chrome which was mentioned on app first screen but player on chrome always says CONNECTION and status remain same that is TRYING TO CONNECT....whats the issue and how can i handle it...???
Hi,
VLC player does not work very well anymore on osx. (looks like the api changed, I got javascript error:
Uncaught TypeError: Cannot read property 'add' of undefined ui.js:42 )
I'm interested in writing an html5 player.
Just looking whether this might already have been attempted.
The video streamed form 7'' or 8'' tablets (where both back and front cameras are in the reversed landscape mode) is flipped. Actually if I open the test mp4 file used to get SDP -- the video is also flipped in the player.
I don't run on browser and vlc when build spyandroid v10
Hi
I cloned the project with Android Studio and the following imports give a compiler error:
import org.apache.http.ConnectionClosedException;
import org.apache.http.HttpException;
import org.apache.http.HttpServerConnection;
import org.apache.http.impl.DefaultConnectionReuseStrategy;
import org.apache.http.impl.DefaultHttpResponseFactory;
import org.apache.http.impl.DefaultHttpServerConnection;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.CoreConnectionPNames;
import org.apache.http.params.CoreProtocolPNames;
import org.apache.http.params.HttpParams;
import org.apache.http.protocol.BasicHttpContext;
import org.apache.http.protocol.BasicHttpProcessor;
import org.apache.http.protocol.HttpContext;
import org.apache.http.protocol.HttpRequestHandler;
import org.apache.http.protocol.HttpRequestHandlerRegistry;
import org.apache.http.protocol.ResponseConnControl;
import org.apache.http.protocol.ResponseContent;
import org.apache.http.protocol.ResponseDate;
import org.apache.http.protocol.ResponseServer;
import org.apache.http.protocol.UriPatternMatcher;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Binder;
import android.os.IBinder;
import android.preference.PreferenceManager;
import android.util.Log;
What is the best way to get them please? Did you use Maven or something?
Duplicate class com.google.ads.AdRequest found in modules GoogleAdMobAdsSdk-6.1.0.jar (GoogleAdMobAdsSdk-6.1.0.jar) and play-services-ads-lite-12.0.1-runtime.jar (com.google.android.gms:play-services-ads-lite:12.0.1)
Duplicate class com.google.ads.AdRequest$ErrorCode found in modules GoogleAdMobAdsSdk-6.1.0.jar (GoogleAdMobAdsSdk-6.1.0.jar) and play-services-ads-lite-12.0.1-runtime.jar (com.google.android.gms:play-services-ads-lite:12.0.1)
Duplicate class com.google.ads.AdRequest$Gender found in modules GoogleAdMobAdsSdk-6.1.0.jar (GoogleAdMobAdsSdk-6.1.0.jar) and play-services-ads-lite-12.0.1-runtime.jar (com.google.android.gms:play-services-ads-lite:12.0.1)
Duplicate class com.google.ads.AdSize found in modules GoogleAdMobAdsSdk-6.1.0.jar (GoogleAdMobAdsSdk-6.1.0.jar) and play-services-ads-lite-12.0.1-runtime.jar (com.google.android.gms:play-services-ads-lite:12.0.1)
Duplicate class com.google.ads.mediation.EmptyNetworkExtras found in modules GoogleAdMobAdsSdk-6.1.0.jar (GoogleAdMobAdsSdk-6.1.0.jar) and play-services-ads-lite-12.0.1-runtime.jar (com.google.android.gms:play-services-ads-lite:12.0.1)
Duplicate class com.google.ads.mediation.MediationAdRequest found in modules GoogleAdMobAdsSdk-6.1.0.jar (GoogleAdMobAdsSdk-6.1.0.jar) and play-services-ads-lite-12.0.1-runtime.jar (com.google.android.gms:play-services-ads-lite:12.0.1)
Duplicate class com.google.ads.mediation.MediationAdapter found in modules GoogleAdMobAdsSdk-6.1.0.jar (GoogleAdMobAdsSdk-6.1.0.jar) and play-services-ads-lite-12.0.1-runtime.jar (com.google.android.gms:play-services-ads-lite:12.0.1)
Duplicate class com.google.ads.mediation.MediationBannerAdapter found in modules GoogleAdMobAdsSdk-6.1.0.jar (GoogleAdMobAdsSdk-6.1.0.jar) and play-services-ads-lite-12.0.1-runtime.jar (com.google.android.gms:play-services-ads-lite:12.0.1)
Duplicate class com.google.ads.mediation.MediationBannerListener found in modules GoogleAdMobAdsSdk-6.1.0.jar (GoogleAdMobAdsSdk-6.1.0.jar) and play-services-ads-lite-12.0.1-runtime.jar (com.google.android.gms:play-services-ads-lite:12.0.1)
Duplicate class com.google.ads.mediation.MediationInterstitialAdapter found in modules GoogleAdMobAdsSdk-6.1.0.jar (GoogleAdMobAdsSdk-6.1.0.jar) and play-services-ads-lite-12.0.1-runtime.jar (com.google.android.gms:play-services-ads-lite:12.0.1)
Duplicate class com.google.ads.mediation.MediationInterstitialListener found in modules GoogleAdMobAdsSdk-6.1.0.jar (GoogleAdMobAdsSdk-6.1.0.jar) and play-services-ads-lite-12.0.1-runtime.jar (com.google.android.gms:play-services-ads-lite:12.0.1)
Duplicate class com.google.ads.mediation.MediationServerParameters found in modules GoogleAdMobAdsSdk-6.1.0.jar (GoogleAdMobAdsSdk-6.1.0.jar) and play-services-ads-lite-12.0.1-runtime.jar (com.google.android.gms:play-services-ads-lite:12.0.1)
Duplicate class com.google.ads.mediation.MediationServerParameters$MappingException found in modules GoogleAdMobAdsSdk-6.1.0.jar (GoogleAdMobAdsSdk-6.1.0.jar) and play-services-ads-lite-12.0.1-runtime.jar (com.google.android.gms:play-services-ads-lite:12.0.1)
Duplicate class com.google.ads.mediation.MediationServerParameters$Parameter found in modules GoogleAdMobAdsSdk-6.1.0.jar (GoogleAdMobAdsSdk-6.1.0.jar) and play-services-ads-lite-12.0.1-runtime.jar (com.google.android.gms:play-services-ads-lite:12.0.1)
Duplicate class com.google.ads.mediation.NetworkExtras found in modules GoogleAdMobAdsSdk-6.1.0.jar (GoogleAdMobAdsSdk-6.1.0.jar) and play-services-ads-lite-12.0.1-runtime.jar (com.google.android.gms:play-services-ads-lite:12.0.1)
Duplicate class com.google.ads.mediation.admob.AdMobAdapter found in modules GoogleAdMobAdsSdk-6.1.0.jar (GoogleAdMobAdsSdk-6.1.0.jar) and play-services-ads-lite-12.0.1-runtime.jar (com.google.android.gms:play-services-ads-lite:12.0.1)
Duplicate class com.google.ads.mediation.customevent.CustomEventAdapter found in modules GoogleAdMobAdsSdk-6.1.0.jar (GoogleAdMobAdsSdk-6.1.0.jar) and play-services-ads-lite-12.0.1-runtime.jar (com.google.android.gms:play-services-ads-lite:12.0.1)
Duplicate class com.google.ads.mediation.customevent.CustomEventBanner found in modules GoogleAdMobAdsSdk-6.1.0.jar (GoogleAdMobAdsSdk-6.1.0.jar) and play-services-ads-lite-12.0.1-runtime.jar (com.google.android.gms:play-services-ads-lite:12.0.1)
Duplicate class com.google.ads.mediation.customevent.CustomEventBannerListener found in modules GoogleAdMobAdsSdk-6.1.0.jar (GoogleAdMobAdsSdk-6.1.0.jar) and play-services-ads-lite-12.0.1-runtime.jar (com.google.android.gms:play-services-ads-lite:12.0.1)
Duplicate class com.google.ads.mediation.customevent.CustomEventInterstitial found in modules GoogleAdMobAdsSdk-6.1.0.jar (GoogleAdMobAdsSdk-6.1.0.jar) and play-services-ads-lite-12.0.1-runtime.jar (com.google.android.gms:play-services-ads-lite:12.0.1)
Duplicate class com.google.ads.mediation.customevent.CustomEventInterstitialListener found in modules GoogleAdMobAdsSdk-6.1.0.jar (GoogleAdMobAdsSdk-6.1.0.jar) and play-services-ads-lite-12.0.1-runtime.jar (com.google.android.gms:play-services-ads-lite:12.0.1)
Duplicate class com.google.ads.mediation.customevent.CustomEventListener found in modules GoogleAdMobAdsSdk-6.1.0.jar (GoogleAdMobAdsSdk-6.1.0.jar) and play-services-ads-lite-12.0.1-runtime.jar (com.google.android.gms:play-services-ads-lite:12.0.1)
Duplicate class com.google.ads.mediation.customevent.CustomEventServerParameters found in modules GoogleAdMobAdsSdk-6.1.0.jar (GoogleAdMobAdsSdk-6.1.0.jar) and play-services-ads-lite-12.0.1-runtime.jar (com.google.android.gms:play-services-ads-lite:12.0.1)
Go to the documentation to learn how to Fix dependency resolution errors.
My phone is Galaxy S7, Android 8.0.0 stock. 352x288, 30 FPS seems to be the best I can get.
Here's what I get when the preview in VLC works, but FPS and resolution don't match:
[darkognu@DarkoGNU ~]$ vlc "rtsp://192.168.0.104:8086?h264=5000-60-480-360"
VLC media player 3.0.9.2 Vetinari (revision 3.0.9.2-0-gd4c1aefe4d)
[0000555cb84e65b0] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
Created new TCP socket 26 for connection
[00007f279000b6b0] avcodec decoder: Using NVIDIA VDPAU Driver Shared Library 440.82 Wed Apr 1 19:39:06 UTC 2020 for hardware decoding
[00007f279000b6b0] main decoder error: buffer deadlock prevented
Here's what I get when it doesn't work at all:
[darkognu@DarkoGNU ~]$ vlc "rtsp://192.168.0.104:8086?h264=5000-60-1920-1080"
VLC media player 3.0.9.2 Vetinari (revision 3.0.9.2-0-gd4c1aefe4d)
[0000561997f515b0] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
Created new TCP socket 26 for connection
[00007f08ec001140] live555 demux error: SETUP of'video/H264' failed 500 Internal Server Error
[00007f08ec001140] live555 demux error: Nothing to play for rtsp://192.168.0.104:8086?h264=5000-60-1920-1080
[00007f08ec002f50] satip stream error: Failed to setup RTSP session
Created new TCP socket 27 for connection
[00007f08ec009710] live555 demux error: SETUP of'video/H264' failed 500 Internal Server Error
And it repeats. Any ideas?
when works on android 4.4.2,I cant receive any video from vlc player,but it works fine when android version bellow 4.4.3
how can i resolve this problem?
12-08 15:18:54.286: E/Camera-JNI(32587): Callback buffer was too small! Expected 3110400 bytes, but got 38016 bytes!
12-08 15:18:54.286: E/Camera-JNI(32587): Couldn't allocate byte array for JPEG data
12-08 15:18:54.291: D/MzSplitActionBarContainer(32587): onMeasure:mBackButton=null; mMenuView=null; mEnableBackButton=false
12-08 15:18:54.291: D/MzSplitActionBarContainer(32587): onMeasure:backButtonWidth=0; menuWidth=0
12-08 15:18:54.316: E/Camera-JNI(32587): Callback buffer was too small! Expected 3110400 bytes, but got 38016 bytes!
12-08 15:18:54.316: E/Camera-JNI(32587): Couldn't allocate byte array for JPEG data
12-08 15:18:54.341: E/Camera-JNI(32587): Null byte array!
12-08 15:18:54.341: E/AndroidRuntime(32587): FATAL EXCEPTION: Thread-1037
12-08 15:18:54.341: E/AndroidRuntime(32587): Process: net.majorkernelpanic.spydroid, PID: 32587
12-08 15:18:54.341: E/AndroidRuntime(32587): java.lang.NullPointerException: Attempt to read from null array
12-08 15:18:54.341: E/AndroidRuntime(32587): at net.majorkernelpanic.streaming.hw.NV21Convertor.convert(NV21Convertor.java:141)
12-08 15:18:54.341: E/AndroidRuntime(32587): at net.majorkernelpanic.streaming.hw.NV21Convertor.convert(NV21Convertor.java:108)
12-08 15:18:54.341: E/AndroidRuntime(32587): at net.majorkernelpanic.streaming.video.VideoStream$2.onPreviewFrame(VideoStream.java:455)
12-08 15:18:54.341: E/AndroidRuntime(32587): at android.hardware.Camera$EventHandler.handleMessage(Camera.java:1127)
12-08 15:18:54.341: E/AndroidRuntime(32587): at android.os.Handler.dispatchMessage(Handler.java:102)
12-08 15:18:54.341: E/AndroidRuntime(32587): at android.os.Looper.loop(Looper.java:135)
12-08 15:18:54.341: E/AndroidRuntime(32587): at net.majorkernelpanic.streaming.video.VideoStream$3.run(VideoStream.java:542)
12-08 15:18:54.341: E/AndroidRuntime(32587): at java.lang.Thread.run(Thread.java:818)
I'm experimenting with using a OnePlus 5T phone as a camera for my YouTube videos.
I'd want to stream the image to my Linux PC for capture.
If I can get the image in Full HD, 60FPS in decent bitrate via RDP, I can capture that with VLC to a file.
The camera of that phone can also capture 4K 30 FPS video, I'd love to be able to stream that too.
SpyDroid seems to be lacking some options here though ;)
When open a client with VideoView, the latency is about 5~6 sec, as the time goes by, latency increased. after 0.5hour, latency will be about 50 sec.
Maybe the time stamp is wrong?
I see "Turn on wiki or tethering" and HTTP and RTSP ports are closed.
Although Anroid does not know about custom reverse tethering network set from root, I expect Spydroid to be able to just listen 0.0.0.0 and accept connections from nowhere.
If I enable Wi-Fi it works also from cable.
I installed Spydroid v8.0.2, using a mobile running Android 5.1,
Cannot access the camera no matter using http or rtsp by vlc.
When Preview, it shows black and said "Start a stream to enable the preview!"
Has anyone have the same issue and what's the solution to this? Thanks.
Just to clarify, I'm not very familiar with neither java or any of its build tools (gradle, maven, etc.), nor android development in general, and even though I've tried to build this project, I just get build errors.
I see there's a file called build.xml in the project root, but I'm still not sure what tool to use it with.
So how would I go about building this application and compiling it into an apk?
Hi,
is there any way to save stream in sd card in mp4 format?
12-20 13:48:42.746 26266-5118/net.majorkernelpanic.spydroid E/TinyHttpServer﹕ Fail to connect to camera service
12-20 13:48:42.746 26266-5118/net.majorkernelpanic.spydroid W/System.err﹕ java.lang.RuntimeException: Fail to connect to camera service
12-20 13:48:42.746 26266-5118/net.majorkernelpanic.spydroid W/System.err﹕ at android.hardware.Camera.native_setup(Native Method)
12-20 13:48:42.746 26266-5118/net.majorkernelpanic.spydroid W/System.err﹕ at android.hardware.Camera.(Camera.java:350)
12-20 13:48:42.746 26266-5118/net.majorkernelpanic.spydroid W/System.err﹕ at android.hardware.Camera.open(Camera.java:309)
12-20 13:48:42.746 26266-5118/net.majorkernelpanic.spydroid W/System.err﹕ at net.majorkernelpanic.streaming.video.VideoStream.createCamera(VideoStream.java:444)
12-20 13:48:42.746 26266-5118/net.majorkernelpanic.spydroid W/System.err﹕ at net.majorkernelpanic.streaming.video.H264Stream.testH264(H264Stream.java:126)
12-20 13:48:42.746 26266-5118/net.majorkernelpanic.spydroid W/System.err﹕ at net.majorkernelpanic.streaming.video.H264Stream.generateSessionDescription(H264Stream.java:84)
12-20 13:48:42.746 26266-5118/net.majorkernelpanic.spydroid W/System.err﹕ at net.majorkernelpanic.streaming.Session.getSessionDescription(Session.java:165)
12-20 13:48:42.746 26266-5118/net.majorkernelpanic.spydroid W/System.err﹕ at net.majorkernelpanic.spydroid.api.CustomHttpServer$DescriptionRequestHandler.handle(CustomHttpServer.java:268)
12-20 13:48:42.746 26266-5118/net.majorkernelpanic.spydroid W/System.err﹕ at org.apache.http.protocol.HttpService.doService(HttpService.java:243)
12-20 13:48:42.746 26266-5118/net.majorkernelpanic.spydroid W/System.err﹕ at org.apache.http.protocol.HttpService.handleRequest(HttpService.java:187)
12-20 13:48:42.746 26266-5118/net.majorkernelpanic.spydroid W/System.err﹕ at net.majorkernelpanic.http.TinyHttpServer$WorkerThread.run(TinyHttpServer.java:651)
This project seems to be not correctly working on modern android versions. The last commit is by seven years ago.
Is this project still alive?
Do you need help?
@fyhertz
When I open the app it force closes immediately. Don't have a log right now but should be able to provide it if needed.
2020-05-07 11:30:04.809 1684-1684/net.majorkernelpanic.spydroid E/AndroidRuntime: FATAL EXCEPTION: main
Process: net.majorkernelpanic.spydroid, PID: 1684
java.lang.RuntimeException: Unable to start activity ComponentInfo{net.majorkernelpanic.spydroid/net.majorkernelpanic.spydroid.ui.SpydroidActivity}: android.view.InflateException: Binary XML file line #52: Binary XML file line #52: Error inflating class com.google.ads.AdView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2856)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2931)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1620)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:173)
at android.app.ActivityThread.main(ActivityThread.java:6698)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782)
Caused by: android.view.InflateException: Binary XML file line #52: Binary XML file line #52: Error inflating class com.google.ads.AdView
Caused by: android.view.InflateException: Binary XML file line #52: Error inflating class com.google.ads.AdView
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.ads.AdView" on path: DexPathList[[zip file "/data/app/net.majorkernelpanic.spydroid-JdFKPgwwjViQUFOkk3zFhA==/base.apk"],nativeLibraryDirectories=[/data/app/net.majorkernelpanic.spydroid-JdFKPgwwjViQUFOkk3zFhA==/lib/arm64, /system/lib64, /system/vendor/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at android.view.LayoutInflater.createView(LayoutInflater.java:610)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:794)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:734)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:867)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:870)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:870)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828)
at android.view.LayoutInflater.inflate(LayoutInflater.java:519)
at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:418)
at android.app.Activity.setContentView(Activity.java:2708)
at net.majorkernelpanic.spydroid.ui.SpydroidActivity.onCreate(SpydroidActivity.java:86)
at android.app.Activity.performCreate(Activity.java:7040)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2809)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2931)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1620)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:173)
at android.app.ActivityThread.main(ActivityThread.java:6698)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782)
when I set resolution bigger than 352, 288,it occur error.(But I'm sure my phone support the resolution)
error msg:
12-07 14:46:33.163: E/RtspServer(11095): SETUP 192.168.1.104:3333/trackID=0
12-07 14:46:33.263: E/RtspServer(11095): SETUP 192.168.1.104:3333/trackID=1
12-07 14:46:33.433: E/CheckPermission(11095): camera-code= 3
12-07 14:46:33.633: E/CheckPermission(11095): media_record-code= 24
12-07 14:46:33.633: E/CheckPermission(11095): media_record-code= 22
12-07 14:46:33.633: E/CheckPermission(11095): media_record-code= 2
12-07 14:46:33.633: E/CheckPermission(11095): media_record-code= 23
12-07 14:46:33.633: E/CheckPermission(11095): media_record-code= 11
12-07 14:46:33.633: E/CheckPermission(11095): media_record-code= 13
12-07 14:46:33.633: E/CheckPermission(11095): media_record-code= 14
12-07 14:46:33.633: E/CheckPermission(11095): media_record-code= 18
12-07 14:46:33.633: E/CheckPermission(11095): media_record-code= 19
12-07 14:46:33.633: E/CheckPermission(11095): media_record-code= 20
12-07 14:46:33.633: E/CheckPermission(11095): media_record-code= 17
12-07 14:46:33.633: E/CheckPermission(11095): media_record-code= 21
12-07 14:46:33.633: E/CheckPermission(11095): media_record-code= 9
12-07 14:46:33.633: E/CheckPermission(11095): media_record-code= 8
12-07 14:46:33.643: E/MediaRecorder(11095): start failed: -38
12-07 14:46:33.643: E/RtspServer(11095): An error occurred
12-07 14:46:33.643: E/Parcel(11095): Reading a NULL string not supported here.
12-07 14:46:33.653: E/Parcel(11095): Reading a NULL string not supported here.
12-07 14:46:33.653: E/Parcel(11095): Reading a NULL string not supported here.
12-07 14:46:33.663: E/Parcel(11095): Reading a NULL string not supported here.
12-07 14:46:33.663: E/Parcel(11095): Reading a NULL string not supported here.
12-07 14:46:33.663: E/Parcel(11095): Reading a NULL string not supported here.
12-07 14:46:33.663: E/Parcel(11095): Reading a NULL string not supported here.
why is not working when streaming video via 3G 4G network?
How to stream the video and audio on spydroid via 3G 4G network. any suggestion ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.