Without further ado, first list the two functions:

1. Spydroid:

  • The stream can be directly read by VLC which is great because VLC is a very powerful tool, for example you can really easily record the stream in a file. [FAQ See the FAQ to find out how].
  • You can enable/disable sound or video streaming
  • The resolution, the bitrate and the framerate of the stream can be configured… Two video encoders are available for the video streaming: H.263 and H.264. For sound streaming AMR and AAC are available.
  • The flash can be controlled remotly !
  • You can choose between the back facing camera and the front facing camera (if your phone has one)
  • Funny sounds can be played on the phone from the HTTP interface ! 
  • You can make the phone vibrate remotely
  • You can see the battery level of the phone

Advanced Use of Spydroid

RTSP Server

Since v3.2, you can pass sophisticated URIs to the RTSP server to remotly configure Spydroid. Here are some example of what you can do:

Enable video streaming & with H.264 and turn flash on ! (H.264 is a standard for video compression)

vlc "rtsp://xxx.xxx.xxx.xxx:8086? h264&flash=on"Copy the code

Enable video streaming of the front facing camera !

vlc "rtsp://xxx.xxx.xxx.xxx:8086? h264&camera=front"Copy the code

Enable video streaming with H.263 and sound streaming with AMR and turn flash on ! (H.263 is also a standard for video compression and AMR is a standard for audio compression)

vlc "rtsp://xxx.xxx.xxx.xxx:8086? h263&amr&flash=on"Copy the code

Enable video streaming and set bitrate to 200kb/s

vlc "rtsp://xxx.xxx.xxx.xxx:8086? h264=200"Copy the code

Enable video streaming and set bitrate to 500kb/s and framerate to 20fps

vlc "rtsp://xxx.xxx.xxx.xxx:8086? h264=500-20"Copy the code

Enable video streaming and set bitrate to 500kb/s / framerate to 20fps / resolution to 320x240px

vlc "rtsp://xxx.xxx.xxx.xxx:8086? h264=500-20-320-240"Copy the code

Enable aac streaming (introduced in v3.3): this is very experimental and it requieres ICS

vlc "rtsp://xxx.xxx.xxx.xxx:8086? aac"Copy the code

You can of course still use the following basic URI. Spydroid will then use a default configuration, that you can modify in the option menu !

vlc "rtsp://xxx.xxx.xxx.xxx:8086/"
Copy the code

HTTP Server

If you don’t want to use the RTSP protocol, you can also start/stop streams using only the HTTP server You can use any of the options presented for the RTSP server ! The HTTP server will respond with a Session Descriptor.

vlc "http://xxx.xxx.xxx.xxx:8080/spydroid.sdp"
Copy the code

Because you’re not using the RTSP protocol, streaming won’t stop when you quit VLC. You have to GET the following URL:

curl "http://xxx.xxx.xxx.xxx:8080/spydroid.sdp? stop"Copy the code

You can start up to two streams with the HTTP server. You can specify a stream id to distinguish the streams. For example:

vlc "http://xxx.xxx.xxx.xxx:8080/spydroid.sdp? id=0&h264&flash=on"Copy the code
vlc "http://xxx.xxx.xxx.xxx:8080/spydroid.sdp? id=1&amr"Copy the code
curl "http://xxx.xxx.xxx.xxx:8080/spydroid.sdp? id=1&stop"Copy the code

2. Daniel liveLightweight RTSP service SDK:

In order to meet the ultra-low latency requirements of the Intranet, such as paperless Intranet/e-classroom, and avoid allowing users to configure a separate server, Danniu Live SDK released the lightweight RTSP service SDK on the push side:

In short, the functions supported by the previous push SDK will continue to be supported after the built-in lightweight RTSP service SDK.

Windows, Android, and iOS built-in lightweight RTSP service SDK function description

  • Support Windows/Android/iOS platform RTMP live SDK except push RTMP all conventional functions;
  • Audio encoding: AAC;
  • Video coding: H.264;
  • Built-in service protocol: RTSP;
  • Support RTSP port Settings;
  • You can set the user name and password for RTSP authentication.
  • Obtain the number of current RTSP service session connections.
  • Supports simultaneous creation of multiple built-in RTSP services.

Corresponding to the Demo:

  • Windows test program: SmartPublisherDemo.exe;
  • Windows C++ project: win-publishersdk-cpp-demo;
  • Windows C# project: win-publishersdk-csharp-demo;
  • Android Project: SmartPublisherV2;
  • IOS project: SmartiOSPublisherV2.

Technical comparison:

1. The latest code of Spydroid, updated 5 years ago, currently supports android platform, can collect Android camera and audio, external HTTP Server and RTSP Server, delay and packet loss processing need to be optimized, the advantage is that the code logic is simple, easy for the beginner to follow the protocol specification, Rapid iteration product preliminary model, video encoding support H.263 and H.264, audio support AMR and AAC encoding.

2. The built-in RTSP service SDK of Daniu Live is a commercial SDK with mature technology, maintained and iterated by special personnel, covering Windows, Android and iOS platforms, supporting screen capture, camera capture, real-time mute, snapshot, extended video recording, data docking before and after external coding, etc., with more powerful functions. Video encoding supports H.264 and H.265, audio supports AAC encoding, can be extended to pull external RTSP or RTMP streams, extended RTSP gateway server, support RTSP authentication and multiple RTSP service startup.