Android FFMPEG使用librtmp构建

时间:2013-01-29 17:04:21

标签: android ffmpeg

我一直在努力为启用了librtmp的Android编译FFMPEG。我在这里使用Guardian Project成功构建了FFMPEG,但它没有librtmp支持。我在这个问题上找到的唯一答案就是之前的Stack Overflow问题(HERE),但它并不想为我工作。

目前,我在官方rtmpdump android构建中的交叉编译librtmp.so.0文件位于android-ffmpeg文件夹中的rtmpdump / librtmp文件夹中。我的configure_ffmpeg.sh文件的摘录如下:

./configure \
$DEBUG_FLAG \
--arch=arm \
--cpu=cortex-a8 \
--target-os=linux \
--enable-runtime-cpudetect \
--prefix=$prefix \
--enable-pic \
--disable-shared \
--enable-static \
--cross-prefix=$NDK_TOOLCHAIN_BASE/bin/$NDK_ABI-linux-androideabi- \
--sysroot="$NDK_SYSROOT" \
--extra-cflags="-I../x264 -mfloat-abi=softfp -mfpu=neon" \
--extra-ldflags="-L../x264" \
--extra-cflags="-I/home/dan/android-ffmpeg/rtmpdump" \
--extra-ldflags="-L/home/dan/android-ffmpeg/rtmpdump -lrtmp"
\

--enable-version3 \
--enable-gpl \
\
--disable-doc \
--enable-yasm \
\
--enable-decoders \
--enable-encoders \
--enable-muxers \
--enable-demuxers \
--enable-parsers \
--enable-protocols \
--enable-filters \
--enable-avresample \
--enable-libfreetype \
\
--disable-indevs \
--enable-indev=lavfi \
--disable-outdevs \
\
--enable-hwaccels \
\
--enable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--enable-ffserver \
--enable-network \
\
--enable-libx264 \
--enable-zlib \
--enable-librtmp \

当我尝试编译它时,它最终显示错误,我的FFMPEG config.log文件告诉我它找不到-lrtmp。我很肯定我将它指向正确的目录......有没有人有任何想法?

此致

1 个答案:

答案 0 :(得分:2)

丹,

这有些陈旧,可能没有多大帮助,因为它不是一个完整的答案,但我几个月来一直在努力。我的努力记录在ffmpeg论坛之一(这里:http://ffmpeg.zeranoe.com/forum/viewtopic.php?f=29&t=1383),我也没有任何成功。

最终,在构建librtmp并告诉构建脚本在哪里找到它(并在ffmpeg conf文件中禁用librtmp的pkg-config)之后,我总是有一个错误列表,如

libavformat/librtmp.o: in function rtmp_read:libavformat/librtmp.c:153: error: undefined reference to 'RTMP_Read'
  • 所有列出它声称未定义的不同RTMP功能。但是头文件与其他所需文件一起出现。

我只是想把它放在这里帮助你或其他人继续尝试使用librtmp为Android构建ffmpeg。

布拉德福德