如何从android流式传输到ffserver

如何从android流式传输到ffserver,第1张

概述我需要从一个 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/ 我需要从一个 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尝试从设备摄像头流式传输.

总结

以上是内存溢出为你收集整理的如何从android流式传输到ffserver全部内容,希望文章能够帮你解决如何从android流式传输到ffserver所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1136255.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存