FFMPEG'i derlemeye çalışıyorum, böylece Android uygulamamla komutları kullanarak kullanabilirim. Sonuç, pakete bağımlı olmayan 1 statik dosya, "ffmpeg" olmalıdır. Hayır .so dosyaları.Komut satırı kullanımı için FFMPEG'yi derleyin
GuardianProject ile derledim ve her şey çalışıyor ama kaynak çok eskiydi ve ihtiyacım olan seçenekler yok. VirtualBox'taki en yeni Ubuntu'yu kullanıyorum, tüm gerekli özellikler yüklenir ve güncellenir (gawk, yasm, aptitude, etc ...).
Web'in çevresinde çok sayıda örnek var. Denediğim seçeneklerin her birinde yaşadığım sorunlar. Bunu derlemek ve ffmpeg dosyasını başardı ancak "-movFlags faststart"
seçeneği içermez Ffmpeg eski bir sürümünü kullanıyor -
Guardian project: Ben aşağıdaki hatalardan birini kullanarak yardım takdir ediyorum. Yeni ffmpeg'i (2.3.3) oraya atmayı denedim ama sadece hata veriyor. (Git altmodule init ve update).
JayH5 - Temel olarak her ffmpeg ile çalışacak daha genel bir yapı dosyası. En son NDK ile çalışmak için derleme komut dosyasını güncelleştirdim ve çalışıyor gibi görünüyor, ancak bu konuda okurum ve bu nasıl çalıştığını anlayamıyorum bir kesmek gerektiriyor gibi görünüyor
/home/dor/Desktop/ndk/android-ndk-r10/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-pkg-config not found, library detection may fail.
.Trovao - Bu çok güzel bir proje ve yapı komut dosyası hatta en son ffmpeg ve x264 kaynakları indirir, ve hatta FFMPEG ve X264 dosyalarına bunu derleme başardı ama bunu kullanırken, bu hatayı alıyorum:
could not load library "libx264.so.142
Bu garip, x264 var ve bu projenin tüm fikri .so dosyaları ihtiyacını iptal etmektir.
Sorunlardan herhangi birinin nasıl çözüleceğinin belirlenmesi konusunda yardımcı olmaktan memnuniyet duyarım. Ben
JayH5 dosyasını oluşturmak ... dışarısı, en dolaysız göründüğü gibi JayH5 komut dosyasını oluşturmak kullanmayı tercih: sadece işe yaramadı FFMPEG dosyaları derleme 2 gün sonra
#!/bin/bash
# set the base path to your Android NDK (or export NDK to environment)
if [[ "x$NDK_BASE" == "x" ]]; then
NDK_BASE=/opt/android-ndk
echo "No NDK_BASE set, using $NDK_BASE"
fi
NDK_PLATFORM_VERSION=14
NDK_ABI=arm
NDK_COMPILER_VERSION=4.8
NDK_SYSROOT=$NDK_BASE/platforms/android-$NDK_PLATFORM_VERSION/arch-$NDK_ABI
NDK_UNAME=`uname -s | tr '[A-Z]' '[a-z]'` # Convert Linux -> linux
HOST=$NDK_ABI-linux-androideabi
NDK_TOOLCHAIN_BASE=$NDK_BASE/toolchains/$HOST-$NDK_COMPILER_VERSION/prebuilt/$NDK_UNAME-x86
CC="$NDK_TOOLCHAIN_BASE/bin/$HOST-gcc --sysroot=$NDK_SYSROOT"
LD=$NDK_TOOLCHAIN_BASE/bin/$HOST-ld
BUILD_PATH=build/ffmpeg
./configure \
$DEBUG_FLAG \
--arch=arm \
--target-os=linux \
--enable-runtime-cpudetect \
--enable-pic \
--disable-shared \
--enable-static \
--cross-prefix=$NDK_TOOLCHAIN_BASE/bin/$NDK_ABI-linux-androideabi- \
--sysroot="$NDK_SYSROOT" \
--extra-cflags="-march=armv7-a -mfloat-abi=softfp -fPIC -DANDROID" \
--extra-ldflags="" \
--enable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-network \
Değişiklik yok! 'Configure' seçeneklerinde '$ ADDITIONAL_CONFIGURE_FLAG' eklendi. Yapılandırmadan önce ekledim ... değişiklik yok :( –
$ ADDITIONAL_CONFIGURE_FLAG'ın değeri nedir? –