如何从android流式传输到ffserver

前端之家收集整理的这篇文章主要介绍了如何从android流式传输到ffserver前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要从一个 Android摄像头/文件流到一个远程ffserver,它将播放我的视频.我可以通过发出如下命令在ubuntu的桌面上执行此操作:
ffmpeg -f video4linux2 -s 640x480 -r 25 -i /dev/video0 http://192.168.0.20:8090/cam1.ffm

或流式传输这样的文件

ffmpeg -i /home/kev/share/movie.mp4 http://192.168.0.20:8090/cam1.ffm

所以基本上我希望能够从android做到以上.经过几次搜索,这是我到目前为止所做的 – 我遇到了这个链接http://bambuser.com/opensource,我从中下载了ffmpeg源并构建了它.构建输出几件事:
1.共享库[libavcodec,libavcore,libavdevice,libavfilter,libavformat,libavutil,libswscale]
2.可执行文件[ffmpeg,ffprobe]

不知道如何使用这些资源插入我的功能这是我迄今为止尝试过的:
1.使用System.loadLibrary()在我的Activity中加载libs然后将ffmpeg可执行文件复制到assets文件夹,在运行时我复制到我的应用程序的“files”目录,然后使用Runtime.getRuntime()设置可执行文件的权限.exec ().然后最后一步是在java中使用以下语句执行它:

Runtime.getRuntime().exec("ffmpeg -i file:///android_asset/movie.mp4http://<server>:8090/cam1.ffm");

2.复制ffmpeg.c,共享库和构建到我的jni文件生成的“include”文件夹,并添加了一个包装ffmpeg.c中main()函数的jni函数.通过这种方法,我发现自己必须从ffmpeg源复制几个头文件才能使ndk-build成功,我非常怀疑这是否可行.

以上两种方法对我有用,我不知道我哪里出错了,所以任何有关如何做一个简单的ffmpeg流媒体的帮助就像一个来自android的mp4文件将受到高度赞赏.

解决方法

我通过apporach 2使用它,这就是我所做的.
1.将ffmpeg.c,“include”文件夹和共享库复制到我项目的jni文件夹中.

>修改了ffmpeg.c并参考了这篇博文http://demo860.blogspot.com/2010/07/android-ffmpeg-dynamic-module-jni.html
>使用ndk构建时出现了几个错误,所以我只是添加了缺少的依赖项,直到最终构建成功.

起初应用程序会启动,然后立即退出,这是由于我忘了做的一些事情,所以请确保你已经完成以下操作以节省一些时间和脱发:
– 在清单上设置Internet权限(如果媒体文件在sdcard中,设置写入外部存储权限并确保已安装SD卡)
– 确保远程ffserver正在运行并正确配置.您可以通过桌面流式传输进行确认
– 确保你通过了正确的参数

现在我可以从我的SD卡中的mp4文件流式传输到远程ffserver,havnt尝试从设备摄像头流式传输.

原文链接:https://www.f2er.com/android/315726.html

猜你在找的Android相关文章