我已经看到很多关于如何将视频从服务器流式传输到Android设备的信息,但其他方式并不多,ala Qik。有人能指出我在这方面的正确方向,还是就如何处理这个问题给我一些建议?
答案 0 :(得分:121)
我已经托管了一个开源项目,以启用Android手机到IP摄像头:
http://code.google.com/p/ipcamera-for-android
从LocalSocket获取原始视频数据,并在流式传输之前首先检查MP4的MDAT MOOV。实时视频以FLV格式打包,可通过Flash视频播放器播放,内置Web服务器:)
答案 1 :(得分:69)
花了我一些时间,但我终于管理了做一个这样做的应用程序。如果您有兴趣,请查看Google代码页:http://code.google.com/p/spydroid-ipcamera/ 我在我的代码中添加了大量的注释(主要是看看CameraStreamer.java),所以它应该是不言自明的。 实际上,困难的部分是了解RFC 3984并为分组化过程实施适当的算法。 (根据rfc,该算法实际上将MediaRecorder生成的mpeg4 / h.264流转换为一个漂亮的rtp流)
再见
答案 2 :(得分:24)
我也在研究这个问题,虽然我没有很好的解决方案,但我确实设法挖掘了SIPDroid的视频代码:
http://code.google.com/p/sipdroid/source/browse/trunk/src/org/sipdroid/sipua/ui/VideoCamera.java
答案 3 :(得分:19)
我已经构建了一个名为Kickflip的开源SDK,可以让来自Android的流式视频成为一种无痛的体验。
SDK演示如何使用Android 4.3的MediaCodec API将设备硬件编码器的数据包直接指向FFmpeg RTMP(使用librtmp)或HLS H.264流式传输/ AAC。它还演示了实时OpenGL效果(标题,色度键,淡化)和背景录制。
非常感谢,特别是fadden。
答案 4 :(得分:10)
以下是关于将Android相机视频流式传输到网页的完整文章。
Android Streaming Live Camera Video to Web Page
答案 5 :(得分:5)
我可以将实时摄像机视频从手机发送到我的服务器。使用此链接 see the link
参考上面的链接。该链接中有一个示例应用程序。只需要在RecordActivity.class中设置服务URL。
示例: 的 ffmpeg_link = “RTMP:// yourserveripaddress:1935 /活/ venkat”; 强>
我们可以使用该链接发送H263和H264类型的视频。
答案 6 :(得分:3)
这不是一个完整的答案,但webRTC可能正是您所寻找的。以下是webRTC的一些简单示例:http://www.webrtc.org/reference-apps
如果您想要Android特定代码,它就存在! http://www.webrtc.org/native-code/android
答案 7 :(得分:1)
检查Yasea库
Yasea是一款Android流媒体客户端。它编码来自的YUV和PCM数据 摄像头和麦克风到H.264 / AAC,封装在FLV中并传输 RTMP。
<强>功能强>
答案 8 :(得分:0)
Mux(我的公司)有一个open source android app,可将RTMP流传输到服务器,包括设置摄像头和用户交互。它被构建为流传输到Mux的实时流API,但可以轻松地流传输到任何RTMP入口点。
答案 9 :(得分:-5)
根据您的预算,您可以使用可以将图像发送到服务器的Raspberry Pi相机。我在这里添加了两个教程,您可以在其中找到更多详细信息:
本教程向您展示how to use a Raspberry Pi Camera并在Android设备上显示图片
这是第二个教程,您可以在其中找到有关real-time video streaming between camera and android device
的一系列教程