- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试使用 NDK r7b 构建 FFMPEG 的一体式静态二进制文件,并且一切正常,直到我尝试使用 RTMP 支持构建它。
我使用来自 https://github.com/guardianproject/android-ffmpeg 的资源使用 librtmp2.4 和这样的自定义配置
.configure \
--target-os=linux \
--cross-prefix=arm-linux-androideabi- \
--arch=arm \
--sysroot=/home/andrey/android-ndk-r7b/platforms/android-3/arch-arm \
--enable-static \
--disable-shared \
--disable-symver \
--enable-small \
--disable-devices \
--disable-avdevice \
--enable-gpl \
--enable-librtmp \
--prefix=../build/ffmpeg/armeabi \
--extra-cflags=-I../rtmpdump/librtmp \
--extra-ldflags=-L../rtmpdump/librtmp \
rtmpdump 目录与ffmpeg 处于同一层级。据我了解,我的配置中的最后两个字符串表示编译器可以在哪里找到 librtmp 的来源。但我得到的只是 ERROR: librtmp not found
我没有使用 NDK 的经验,很明显我遗漏了一些重要的部分,但我自己找不到。
最佳答案
这很有挑战性,但我想我有一个解决方案。配置时的问题是 FFmpeg 想要通过 pkg-config 管理系统检测正确的 librtmp 安装。
我假设您已经在 ../rtmpdump 引用的目录中成功交叉编译了 librtmp。编辑 FFmpeg 配置脚本并搜索以下行:
enabled librtmp && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket
注释掉(在该行的前面放一个“#”)。现在,重新运行配置,仅进行以下修改:
--extra-cflags="-I/full/path/to/rtmpdump"
在这里有一个绝对路径可能会有所帮助。此外,在末尾省略/librtmp/,因为 #include 指令已经在头文件前添加了 librtmp/。下一页:
--extra-ldflags="-L/full/path/to/rtmpdump -lrtmp"
同样,绝对路径,并指定要链接的库,因为我们通过配置注释掉了该逻辑。
现在,configure 应该会成功,交叉编译也应该会很顺利。最终的 ffmpeg 二进制文件应该报告协议(protocol)下的 RTMP 模块系列:
ffmpeg -protocols
[...]
rtmp
rtmpe
rtmps
rtmpt
rtmpte
请注意,我没有 NDK 开发环境来测试它。但是我通过编译 librtmp(没有通过 pkg-config 安装包)然后执行上述步骤在我的桌面 Ubuntu 系统上进行了测试。
关于android - 使用 librtmp 为 android 构建 FFMPEG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9634496/
环境:Mac OS X 10.9.2,Xcode 5.1。 我已经成功编译了librtmp、libogg和libspeex,它们在名为fat-librtmp的目录中。 , fat-libogg和 fa
我正在努力在 nginx rtmp 服务器上发布视频。在我的 nginx 配置中,有以下几行: rtmp { server { access_log /var/log/ngin
有没有人成功地为 Android 平台交叉编译 librtmp?我知道 rtmpdump android 下载包含 librtmp.so,但我想我也需要 librtmp.a(我正在尝试交叉编译 ffm
大家好,我是 c 编程的新手,想知道是否有人有一个非常简单的示例来打开 .flv 文件并使用 librtmp 发送到 wowza 服务器。 我发现很多代码可以使用该库进行连接,但在发布 flv 时却没
在为 OSX 编译 ffmpeg 时,我可以简单地使用: ./configure --enable-librtmp --enable-gpl 命令并获得可以使用 rtmp 流进行 I/O 的构建。 如
我一直在努力尝试为启用了 librtmp 的 Android 编译 FFMPEG。我已经使用 Guardian Project 成功构建了 FFMPEG在这里,但它没有 librtmp 支持。我找到的
我正在尝试使用 librtmp 处理数据包,但出现“free(): invalid pointer”错误。 #include #include #include #include int ma
我找到了一个可以使用 ffmpeg 流式传输 rtmp 协议(protocol)的库,然后我使用 --enable-librtmp 编译了 ffmpeg。但下一步会是什么?我找不到任何使用此功能的示例
是否有任何 librtmp c# .net 包装器? 最佳答案 为什么要 librtmp wrpaper?你不能只使用.NET RTMP library吗? ? 关于c# - 是否有任何 librtm
我正在尝试使用 RTMP 开发聊天功能,所以我得到并编译了 libRTMP。 如何向服务器发送 NSDictionary? 我使用了AMFObject,但是Xcode编译的时候出现了错误。 R
我试过像这样通过 Homebrew 软件在 mac lion 中安装 ffmpeg: brew install --use-clang ffmpeg --with-tools --with-ffpla
我正在尝试在 mac 上构建 rtmpdump 和 librtmp,但是我一生都无法弄清楚它为什么不起作用。我正在使用自己构建的 openssl: $ openssl version OpenSSL
如何使用 librtmp 库发布流?我阅读了 librtmp 手册页,并使用 RTMP_Write() 进行发布。 我就是这样做的。 //Code //Init RTMP code RTMP *r;
我正在尝试使用 NDK r7b 构建 FFMPEG 的一体式静态二进制文件,并且一切正常,直到我尝试使用 RTMP 支持构建它。 我使用来自 https://github.com/guardianpr
我正在使用 Windows 8,并尝试使用 python-librtmp。我已按照以下步骤从此处安装 librtmp:http://pythonhosted.org/python-librtmp/。对
我已经搜索过了,而 Building FFMPEG with librtmp for android回答了我的部分问题,我在编译过程中进一步遇到了其他问题。 首先,我尝试使用 this github
我使用的是 vitamio 4.2.2,但谷歌给我发了一封关于 vitamio 库的邮件,包括安全后门。并说更新维生素版本。但是我使用的是用 librtmp android 编译的 ffmpeg 的
我在使用 android 的完整 librtmp 时遇到问题: https://github.com/OnlyInAmerica/FFmpeg-Android ./build_librtmp_for_
我是一名优秀的程序员,十分优秀!