废话不多说,先列二者功能:
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"
Enable video streaming of the front facing camera !
vlc "rtsp://xxx.xxx.xxx.xxx:8086?h264&camera=front"
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"
Enable video streaming and set bitrate to 200kb/s
vlc "rtsp://xxx.xxx.xxx.xxx:8086?h264=200"
Enable video streaming and set bitrate to 500kb/s and framerate to 20fps
vlc "rtsp://xxx.xxx.xxx.xxx:8086?h264=500-20"
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"
Enable aac streaming (introduced in v3.3): this is very experimental and it requieres ICS
vlc "rtsp://xxx.xxx.xxx.xxx:8086?aac"
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/"
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"
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"
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"
vlc "http://xxx.xxx.xxx.xxx:8080/spydroid.sdp?id=1&amr"
curl "http://xxx.xxx.xxx.xxx:8080/spydroid.sdp?id=1&stop"
2. 大牛直播轻量级RTSP服务SDK:
为满足内网无纸化/电子教室等内网超低延迟需求,避免让用户配置单独的服务器,大牛直播SDK在推送端发布了轻量级RTSP服务SDK:
简单来说,之前推送端SDK支持的功能,内置轻量级RTSP服务SDK后,功能继续支持。
Windows/Android/iOS内置轻量级RTSP服务SDK功能说明
- 支持Windows/Android/iOS平台RTMP直播SDK除推送RTMP外的所有常规功能;
- 音频编码:AAC;
- 视频编码:H.264;
- 内置服务协议:RTSP;
- 支持RTSP端口设置;
- 支持RTSP鉴权用户名、密码设置;
- 支持获取当前RTSP服务会话连接数;
- 支持同时创建多个内置RTSP服务。
对应Demo:
- Windows测试程序:SmartPublisherDemo.exe;
- Windows C++工程:WIN-PublisherSDK-CPP-Demo;
- Windows C#工程:WIN-PublisherSDK-CSharp-Demo;
- Android工程:SmartPublisherV2;
- iOS工程:SmartiOSPublisherV2。
技术对比:
1. Spydroid最新的代码,更新于5年前,目前支持android平台,可采集安卓摄像头和音频,对外提供http server和rtsp server,延迟和丢包处理有待优化,优势在于,代码逻辑简单,便于初学者根据协议规范,快速迭代产品初步模型,video编码支持H.263和H.264,audio支持AMR和AAC编码。
2. 大牛直播内置RTSP服务SDK系商业化SDK,技术成熟,有专人维护、迭代,覆盖windows、android、iOS平台,支持采集屏幕、摄像头,支持实时静音、快照、扩展录像、外部编码前后数据对接等,功能更强大,video编码支持H.264和H.265,audio支持AAC编码,亦可扩展拉取外部rtsp或rtmp流,扩展RTSP网关服务器,支持RTSP鉴权和多个RTSP service启动。