我已经看到了很多关于如何将视频从服务器流到android设备的信息,但关于另一种方式(ala Qik)的信息却不多。谁能给我指点一下方向,或者给我一些建议?


当前回答

查看Yasea图书馆

Yasea是一个Android流媒体客户端。它对YUV和PCM数据进行编码 H.264/AAC,封装在FLV中进行传输 RTMP。

特点:

Android mini API 16。 H.264/AAC硬编码。 H.264软编码。 使用状态回调处理程序的RTMP流。 人像和景观动态方向。 前后摄像头热开关。 流媒体时录制到MP4。

其他回答

Took me some time, but I finally manage do make an app that does just that. Check out the google code page if you're interested: http://code.google.com/p/spydroid-ipcamera/ I added loads of comments in my code (mainly, look at CameraStreamer.java), so it should be pretty self-explanatory. The hard part was actually to understand the RFC 3984 and implement a proper algorithm for the packetization process. (This algorithm actually turns the mpeg4/h.264 stream produced by the MediaRecorder into a nice rtp stream, according to the rfc)

Bye

我构建了一个名为Kickflip的开源SDK,让Android上的流媒体视频成为一种无痛的体验。

SDK演示了如何使用Android 4.3的MediaCodec API将设备硬件编码器的数据包直接定向到FFmpeg,用于H.264 / AAC的RTMP(使用librtmp)或HLS流。它还演示了实时OpenGL效果(标题,色度键,淡出)和背景记录。

非常感谢,尤其是fadden。

我主持了一个开源项目,使Android手机IP摄像头:

http://code.google.com/p/ipcamera-for-android

原始视频数据从LocalSocket获取,在流媒体之前首先检查MP4的MDAT MOOV。现场视频包装在FLV格式,并可以通过Flash视频播放器与内置的web服务器播放:)

我也在研究这个问题,虽然我没有一个很好的解决方案,但我确实设法挖出了SIPDroid的视频代码:

http://code.google.com/p/sipdroid/source/browse/trunk/src/org/sipdroid/sipua/ui/VideoCamera.java

查看Yasea图书馆

Yasea是一个Android流媒体客户端。它对YUV和PCM数据进行编码 H.264/AAC,封装在FLV中进行传输 RTMP。

特点:

Android mini API 16。 H.264/AAC硬编码。 H.264软编码。 使用状态回调处理程序的RTMP流。 人像和景观动态方向。 前后摄像头热开关。 流媒体时录制到MP4。