首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android -流相机作为RTMP流

Android -流相机作为RTMP流
EN

Stack Overflow用户
提问于 2015-03-12 19:27:16
回答 3查看 35.1K关注 0票数 13

我想从Android设备上捕获摄像头流,然后用RTMP将其流到服务器上(服务器是我控制的out )。我还没有弄清楚如何从相机本身创建数据流,但这是以后的关注。

目前有两个问题:我希望支持API 9+,RTMP不是由Android支持的。

我环顾四周,发现了这个,所以发布将视频输入流转换为RTMPhttps://github.com/yixia/VitamioBundle。前者建议图书馆几乎没有文档。后者可能支持它(?),但它需要API 14+。

是否有合适的例子或库支持来自Android设备的RTMP流?我还读过一些关于转换RTSP或FFMPEG的内容,如果这是一种可行的方法,那么我想它也足够了。

编辑1:

我已经找到了这个图书馆 (它与上面提到的非常相似),并尝试使用。我在Android中导入了它,并编写了一些代码,但它似乎在内部崩溃,出现了java.lang.NoClassDefFoundError RTSP Codec Factory错误。所以很明显,这在Android系统上效果不太好。

另外,我也遇到过几次Adobe。我不想在Action 3 (AS3)中编写代码,因为这个库只是本地应用程序的一个(小)部分。如果Adobe有一个我不知道的库,那么如果可能的话,我很乐意集成它。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-03-15 14:16:24

接受你所联系的问题的答案中,有人建议使用JavaCV。

它需要API 8或更高版本,并具有一个FFmpegFrameRecorder类。

链接到github:

https://github.com/bytedeco/javacv

他们甚至有一个捕获flv的完整示例(它相当大,所以我不会在这里粘贴它):https://github.com/bytedeco/javacv/blob/master/samples/RecordActivity.java

在您的情况下,您可能需要替换:

代码语言:javascript
复制
private String ffmpeg_link = "/mnt/sdcard/stream.flv";

使用

代码语言:javascript
复制
private String ffmpeg_link = "rtmp://<server>:<port>/stream";
票数 19
EN

Stack Overflow用户

发布于 2015-03-13 18:16:47

如果您可以使用ffmpeg支持的协议(请参阅支持的协议列表)从android设备上发布,您可以使用以下命令将视频传输到服务器:

代码语言:javascript
复制
ffmpeg -re -i <input link> -vcodec h264 -ar 44100 -f flv "rtmp://<host>/<publication>"
票数 3
EN

Stack Overflow用户

发布于 2015-03-12 19:47:56

您应该看看spydroid;它正是您想要的。他们的网站可以在这里找到:https://code.google.com/p/spydroid-ipcamera/

它们提供了一个您可以使用的库,并解释了各种流选项和一些代码示例。上述信息可以在这里找到:https://github.com/fyhertz/libstreaming

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29018606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档