4

librtmpを有効にしてAndroid用のFFMPEGをコンパイルしようとして髪を引っ張っています。ここでGuardianProjectを使用してFFMPEGを正常にビルドしましたが、librtmpがサポートされていません。この問題に対して私が見つけた唯一の答えは、以前のStack Overflowの質問(ここ)に関するものですが、私にとってはうまくいきたくありません。

現時点ではlibrtmp.so.0、公式のrtmpdumpandroidビルドからのクロスコンパイルされたファイルが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 \

これをコンパイルしようとすると、最終的にエラーが表示され、FFMPEGconfig.logファイルに-lrtmpが見つからないことが示されます。私はそれを正しいディレクトリに向けていると確信しています...誰かアイデアはありますか?

よろしく

ダン

4

1 に答える 1

2

ダン、

これはやや古く、完全な答えではないためあまり役に立たないかもしれませんが、私はこれに何ヶ月も苦労してきました. 私の努力は ffmpeg フォーラムの 1 つ (ここ: 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関数をリストするすべてが未定義です。ただし、ヘッダー ファイルは、残りの必要なファイルと共に存在します。

Android用のlibrtmpを使用してffmpegを構築しようとしているあなたや他の人を助けるために、これをここに置きたかっただけです。

ブラッドフォード

于 2013-12-20T05:37:57.547 に答える