将video从Android相机stream式传输到服务器
我已经看到了很多关于如何将video从服务器stream式传输到Android设备的信息,但是对于其他方面来说,ala Qik并不多。 有人能指出我在这里的正确方向,或者给我一些build议,如何解决这个问题?
我已经主持了一个开源项目,使Android手机到IP摄像头:
http://code.google.com/p/ipcamera-for-android
原始video数据从LocalSocket获取,并且在stream传输之前首先检查MP4的MDAT MOOV。 实时video打包成FLV格式,可以通过Flashvideo播放器播放,内置网页服务器:)
花了我一些时间,但我终于pipe理做一个应用程序,就是这样做。 如果你感兴趣,请查看google代码页面: http : //code.google.com/p/spydroid-ipcamera/我在代码中添加了大量的注释(主要是看CameraStreamer.java),所以它应该是相当不言自明。 最难的部分就是理解RFC 3984,并为分组化过程实现一个合适的algorithm。 (这个algorithm实际上把MediaRecorder生成的mpeg4 / h.264stream变成一个很好的rtpstream,根据rfc)
再见
我也在考虑这个,虽然我没有一个很好的解决scheme,但我确实设法挖掘了SIPDroid的video代码:
http://code.google.com/p/sipdroid/source/browse/trunk/src/org/sipdroid/sipua/ui/VideoCamera.java
我已经构build了一个名为Kickflip的开源SDK,让Android的stream媒体video成为无痛的体验。
该SDK展示了如何使用Android 4.3的MediaCodec API将设备硬件编码器的数据包直接导入FFmpeg,用于RTMP (librtmp)或H.264 / AAC的HLSstream。 它还演示了实时的OpenGL效果(标题,色度键,淡入淡出)和背景logging。
非常感谢,尤其是fadden 。
这里是完整的文章关于stream安卓摄像头video到网页。
Androidstream媒体直播相机video到网页
- 在android应用上使用libstreaming
- 在服务器端Wowza Media Engine用于解码videostream
- 最后jWplayer用于在网页上播放video。
我能够从手机发送实时相机video到我的服务器。使用此链接, 请参阅链接
请参阅上面的链接。该链接中有一个示例应用程序。 只需要在RecordActivity.class中设置服务URL。
例如: ffmpeg_link =“rtmp:// yourserveripaddress:1935 / live / venkat”;
我们可以使用该链接发送H263和H264types的video。
这不是一个完整的答案,但webRTC可能是你在找什么。 这里有一些webRTC的实例: http : //www.webrtc.org/reference-apps
如果你想要Android的特定代码,它存在! http://www.webrtc.org/native-code/android
检查Yasea图书馆
Yasea是一个Androidstream媒体客户端。 它将来自摄像机和麦克风的YUV和PCM数据编码为H.264 / AAC,封装在FLV中并通过RTMP进行传输。
特征:
- Android迷你API 16。
- H.264 / AAC硬编码。
- H.264软编码。
- 带有状态callback处理程序的RTMPstream式传输。
- 纵向和横向dynamic定位。
- 前后摄像头热切换。
- 在stream媒体上录制到MP4。
根据您的预算,您可以使用可以将图像发送到服务器的Raspberry Pi相机。 我在这里添加两个教程,你可以find更多的细节:
本教程将向您展示如何使用Raspberry Pi Camera并在Android设备上显示图像
这是第二个教程,您可以在相机和Android设备之间find关于实时videostream的一系列教程
- “自动”与“自动(延迟启动)”
- android.os.FileUriExposedException:file:///storage/emulated/0/test.txt通过Intent.getData()暴露在应用程序之外
- AAPT2编译失败:Android 3.0 Canary上无效的维度1
- Android Studio编译错误:枚举常量INSTANT_RUN_REPLACEMENT在类中不存在
- UnsatisfiedLinkError:dlopen失败:无法在API <20上find由“libsupportjni.so”引用的符号“strtof”
- 检测对BluetoothAdapter所做的状态更改?
- Android Studio:如何在运行或debugging之前自动卸载APK(或执行adb命令)?
- 如何检查Google Play服务版本?
- 如何强制Android Studio 0.6.0使用SDK Build Tools 19.1.0
- 如何在android中检查文件扩展名
- 将double转换为string