gpt4 book ai didi

android - 如何从android流式传输到ffserver

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:57:47 25 4
gpt4 key购买 nike

我需要从 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 中加载库,然后将 ffmpeg 可执行文件复制到 Assets 文件夹,在运行时我将其复制到我的应用程序的"file"目录,然后使用 Runtime.getRuntime().exec 为可执行文件设置权限().然后最后一步是使用以下语句在 java 中执行它:

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

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

以上两种方法对我没有用,我不确定我哪里出错了,所以任何关于如何像来自 android 的 mp4 文件一样进行简单的 ffmpeg 流式传输的帮助将不胜感激。

最佳答案

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

  1. 引用这篇博文修改了 ffmpeg.c http://demo860.blogspot.com/2010/07/android-ffmpeg-dynamic-module-jni.html

  2. 在使用 ndk 构建时出现了几个错误,所以我只是添加了缺少的依赖项,直到最终构建成功。

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

现在我可以从我的 sdcard 中的 mp4 文件流式传输到远程 ffserver,还没有尝试从设备相机流式传输。

关于android - 如何从android流式传输到ffserver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14751069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com