मैं Android के लिए libx264 के साथ FFMPEG बनाने की कोशिश कर रहा हूं।Android के लिए x264 के साथ FFMPEG बनाएं
मैं सफलतापूर्वक एंड्रॉइड के लिए एफएफएमपीईजी का निर्माण और उपयोग कर सकता हूं लेकिन मुझे एहसास हुआ कि मुझे एन्कोड करने की क्षमता की आवश्यकता है, इसलिए मैं x264 के साथ एफएफएमपीईजी बनाने की कोशिश कर रहा हूं।
"ERROR: libx264 not found"
और मेरी लॉग में यह कहते हैं::
मैं
एंड्रॉयड http://www.roman10.net/how-to-build-ffmpeg-for-android/ के लिए FFmpeg का निर्माण करने की जब FFMPEG निर्माण करने के लिए मैं कोई त्रुटि मिलती है की कोशिश कर रहा इस ट्यूटोरियल का उपयोग कर रहा
"/usr/local/lib/libx264.a: could not read symbols: Archive has no index; run ranlib to add one..."
मेरे पास एफएफएमईजीई और एक्स 264 दोनों के नवीनतम संस्करण हैं। मैं समझता हूँ कि FFmpeg, शीर्ष लेख और में usr/lib और usr/शामिल पुस्तकालयों ढूंढती है, इसलिए है ताकि इसे x264 प्राप्त करने के लिए में मैं CFLAGS और LDFLAGS का उपयोग करें:
- --extra-CFLAGS = "मैं/usr/स्थानीय/शामिल हैं "
- --extra-LDFLAGS =" एल/usr/स्थानीय/lib "
कई विभिन्न विकल्पों के साथ मैं कोशिश की है इमारत x264 इंटरनेट पर अन्य लोगों ने कहा है कि कि मुझे जरूरत है। जैसे। --enable- shared, --enable-static, --disable-pthreads आदि कुछ फ़ोरम कहते हैं कि इसे सक्षम करें, अन्य कहते हैं कि कोई अक्षम नहीं है।
किसी भी मदद की बहुत सराहना की जाएगी, धन्यवाद
संपादित करें:
अगर मैं सबसे सरल आदेशों के साथ FFmpeg निर्माण libx264 शामिल करने के लिए तो यह काम करता है। यानी।
./configure --enable-gpl --enable-libx264 --extra-cflags="-I/usr/local/include" --extra-ldflags="-L/usr/local/lib" --enable-static --enable-shared
हालांकि मुझे एंड्रॉइड के लिए काम करने की आवश्यकता है। स्क्रिप्ट मैं उपयोग कर रहा हूँ है:
NDK=~/Desktop/android-ndk-r7
PLATFORM=$NDK/platforms/android-8/arch-arm/
PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/darwin-x86
function build_one
{
./configure --target-os=linux \
--prefix=$PREFIX \
--enable-cross-compile \
--enable-shared \
--enable-static \
--extra-libs="-lgcc" \
--arch=arm \
--cc=$PREBUILT/bin/arm-linux-androideabi-gcc \
--cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \
--nm=$PREBUILT/bin/arm-linux-androideabi-nm \
--sysroot=$PLATFORM \
--extra-cflags=" -O3 -fpic -DANDROID -DHAVE_SYS_UIO_H=1 -Dipv6mr_interface=ipv6mr_ifindex -fasm -Wno-psabi -fno-short-enums -fno-strict-aliasing -finline-limit=300 $OPTIMIZE_CFLAGS -I/usr/local/include" \
--extra-ldflags="-Wl,-rpath-link=$PLATFORM/usr/lib -L $PLATFORM/usr/lib -nostdlib -lc -lm -ldl -llog -L/usr/local/lib " \
--enable-gpl \
--enable-libx264 \
--disable-everything \
--enable-demuxer=mov \
--enable-demuxer=h264 \
--disable-ffplay \
--enable-protocol=file \
--enable-avformat \
--enable-avcodec \
--enable-decoder=rawvideo \
--enable-decoder=mjpeg \
--enable-decoder=h263 \
--enable-decoder=mpeg4 \
--enable-decoder=h264 \
--enable-encoder=mjpeg \
--enable-encoder=h263 \
--enable-encoder=mpeg4 \
--enable-encoder=h264 \
--enable-parser=h264 \
--disable-network \
--enable-zlib \
--disable-avfilter \
--disable-avdevice \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make -j4 install
$PREBUILT/bin/arm-linux-androideabi-ar d libavcodec/libavcodec.a inverse.o
$PREBUILT/bin/arm-linux-androideabi-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -soname libffmpeg.so -shared -nostdlib -z,noexecstack -Bsymbolic --whole-archive --no-undefined -o $PREFIX/libffmpeg.so libavcodec/libavcodec.a libavformat/libavformat.a libavutil/libavutil.a libswscale/libswscale.a -lc -lm -lz -ldl -llog --warn-once --dynamic-linker=/system/bin/linker $PREBUILT/lib/gcc/arm-linux-androideabi/4.4.3/libgcc.a
}
CPU=armv7-a
OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfpv3-d16 -marm -march=$CPU "
PREFIX=./android/$CPU
ADDITIONAL_CONFIGURE_FLAG=
build_one
मैं अनुमान लगा रहा हूँ कि मेरी कॉन्फ़िगर आदेश में कुछ विकल्प को सक्षम करने libx264
नोट से जूझ रहा है: यदि मैं --enable-libx264 को दूर तो यह काम करता है
तो मैं दोनों x264 और FFmpeg --disable स्थैतिक और --enable-साझा के साथ निर्माण, तो मैं अब भी वही त्रुटि मिलती है, लेकिन मेरे लिए यह लॉग में इस समय कोई: यहाँ मेरी x264 संकलन स्क्रिप्ट है अब कहता है "... प्रतीकों को नहीं पढ़ सका ..." लेकिन इसके बजाय यह कहता है "-xx264 नहीं मिल सकता ..." – Kage
आपने x264 कैसे स्थापित किया? क्या आपने इसे स्रोत डाउनलोड करके और './configure', 'make', 'इंस्टॉल करें' करके, या आपने कुछ और किया है? इसके अलावा, आपकी बिल्ड सिस्टम क्या है - * निक्स या विंडोज (साइगविन/एमएसआईएस के साथ)? – sashoalm
मैंने स्रोत डाउनलोड किया और इस्तेमाल किया .configure, बनाने, बनाने के लिए मैक पर मैक (10.7) – Kage