abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:33 | IT novinky

    Po vlastních microSD kartách nabízí nově Raspberry Pi také vlastní NVMe SSD disky. Samostatně i v sadách s M.2 HAT+.

    Ladislav Hagara | Komentářů: 0
    dnes 06:11 | Zajímavý článek

    Byla zveřejněna (𝕏) Zpráva o činnosti Digitální a informační agentury (DIA) za rok 2023 (pdf). Začíná slovy ředitele: "Vznik Digitální a informační agentury (DIA) je v posledních letech možná jedním z nejvýznamnějších kroků, který dodá potřebný impuls digitalizaci státní správy."

    Ladislav Hagara | Komentářů: 6
    dnes 05:11 | Nová verze

    Vývojáři AlmaLinuxu představili AlmaLinux OS Kitten 10, tj. vývojovou verzi AlmaLinux OS 10 vycházejícího z CentOS Stream 10. Přehled novinek v poznámkách k vydání. Proč Kitten? Verze AlmaLinux OS jsou pojmenované podle kočkovitých šelem. Z kotěte vyroste další kočka.

    Ladislav Hagara | Komentářů: 0
    dnes 01:11 | Nová verze

    Kryptografická knihovna OpenSSL byla vydána v nové verzi 3.4. Přehled změn na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 19:00 | IT novinky

    Bylo objeveno nové největší prvočíslo. Jedná se o Mersennovo prvočíslo známé též jako M136279841. To znamená, že v binární formě je prvočíslo tvořeno 136 279 841 jedničkami. Objeveno bylo v rámci distribuovaného výpočetních projektu GIMPS (Great Internet Mersenne Prime Search). Zajímavostí je, že na rozdíl od předchozích takto objevených prvočísel nebylo objeveno pomocí CPU, ale na grafické kartě NVIDIA A100 s pomocí programu Gpuowl.

    DaBler | Komentářů: 3
    včera 16:44 | IT novinky

    Protokol MQTT (Wikipedie) dnes slaví 25 let (Mastodon, 𝕏). První publikovaná specifikace je z 22. října 1999.

    Ladislav Hagara | Komentářů: 0
    včera 15:00 | Nová verze

    Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 2.4. Přehled novinek na GitLabu. Z novinek lze zmínit podporu telefonu Google Pixel 7. Na stránkách Murena lze koupit Murena Pixel 7.

    Ladislav Hagara | Komentářů: 0
    včera 02:11 | Pozvánky

    Připojte se ve středu 30. 10. 2024 od 10:00 do 12:00 na náš webinář "Řízení přístupu do PostgreSQL prostřednictvím externího autentizačního providera" (registrace zdarma) a naučte se, jak nastavit ověřování pomocí GSSAPI pro bezpečný přístup k databázím (Microsoft Active Directory nebo FreeIPA). Záznam předchozího webináře "Co je nového v PostgreSQL 17" můžete zhlédnout zde.

    … více »
    Heřmi | Komentářů: 0
    21.10. 21:33 | Nová verze

    Byla vydána nová verze 0.55 open source počítačové hry Unvanquished (Wikipedie), forku počítačové hry Tremulous. Instalovat ji lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    21.10. 14:22 | IT novinky

    Dle plánu bylo dnes vydáno Factorio 2.0 a Factorio: Space Age, tj. aktualizace 2.0 počítačové hry Factorio (Wikipedie) oficiálně běžící také na Linuxu a velké vesmírní rozšíření Factorio: Space Age.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Dotaz: Kompilace FFMPEG knihovny na Linuxu pro Android

    14.7.2015 22:10 Pepa
    Kompilace FFMPEG knihovny na Linuxu pro Android
    Přečteno: 726×

    Dobrý den,

    chtěl bych se zeptat, jestli nemáte někdo zkušenosti s kompilací FFMPEG knihovny?

     

    V mobilní aplikaci využíváme tuto knihovnu, ale bohužel máme problém s Androidem 5.0.

    Dostaneme tento error: "error: only position independent executables (PIE) are supported."

    Takže knihovna kterou využíváme nemá tyto flagy: "-fPIE -pie".

     

    Zkoušel jsem stáhnout zkompilovanou knihovnu z:

     

    https://github.com/guardianproject/android-ffmpeg-java a z https://github.com/hiteshsondhi88/ffmpeg-android (omlouvám se, nejdou mi vložit linky)

     

    ale tato knihovna zase nemá zapnutý libmp3lame encoder (parametr --enable-libmp3lame).

    Bohužel se nám tu knihovnu po mnoha útrapách nedaří zkompilovat.

     

    Byl by někdo ochotný provést kompilaci této knihovny jak s parametry "-fPIE -pie", tak i s "--enable-libmp3lame". Klidně i za finanční odměnu!

    Děkuji za každou radu!

    Odpovědi

    15.7.2015 12:27 chrono
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Jeden fork pre ten ffmpeg-android repozitár obsahuje aj podporu pre lame (takže sa tam dá inšpirovať), každopádne ja osobne by som si urobil klon toho originálneho repozitára a nechal by som tam len to, čo by som potreboval (a pridal by som tam tú podporu pre lame).
    15.7.2015 12:59 Pepa
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Díky za odpověď, ale nedaří se nám tam přidat právě tu podporu pro lame. Dokázal byste to udělat? Klidně i za nějakou odměnu.
    15.7.2015 17:07 chrono
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Čiže ten fork https://github.com/guofengzh/ffmpeg-android, ktorý obsahuje aj podporu pre lame, sa nedá skompilovať? (a ako som už napísal, ideálne by bolo dať tam len to, čo je potrebné, pretože, okrem lame, tam ten fork pridáva kopec iných knižníc)
    15.7.2015 18:53 Pepa
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android

    Ten člověk zkoušel tento fork: https://github.com/guofengzh/ffmpeg-android/tree/feature/feature-libmp3 a ten mu nešel. Můžeš to zkusit ty? Klidně ať to obsahuje další knihovny, ať se to zbytečně nekomplikuje.

    15.7.2015 20:42 chrono
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    To, že to nešlo nie je nikdy dobrý popis chyby a tie zbytočné knižnice (a rôzne veci, ktoré by sa v tej knižnici mohli zakázať) to zbytočne komplikujú). ;)

    Každopádne prvý problém s tým repozitárom je ten, že sa zmenila adresa, na ktorej sa nachádza libvpx (stačí tú adresu opraviť a synchronizovať submoduly).

    Druhý problém je, že cieľom toho projektu je vyprodukovať ffmpeg program, takže je tam zakázané generovanie knižníc (stačí zmeniť --disable-shared na --enable-shared). Ďalší problém z toho vyplývajúci je, že sa tam požíva prepínač -pie (a ten má zmysel len pri programoch, knižnica sa kvôli tomu nebude dať zlinkovať) a stačí v súbore settings.sh upraviť CFLAGS a LDFLAGS (treba tam pridať -fPIC a odstrániť -pie).

    Potom sa to už bude dať skompilovať, ale ako som už písal, treba povoliť len to, čo sa naozaj používa, údržba tak bude jednoduchšia.

    Mimochodom je možné vygenerovať len statické knižnice a z nich potom urobiť jednu zdielanú knižnicu, ktorá ich bude obsahovať (podobne, ako to urobili napr. tu)
    16.7.2015 09:18 Pepa
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Já jsem to bohužel nezkoušel (v Linuxu nedělám), psalo nám to několik lidí co se o to pokoušelo. Vám se to tedy povedlo zkompilovat? I s parametrem --enable=libmp3lame? Mohl byste tu zkompilovanou knihovnu někam nahrát? Kdyby to fungovalo, tak bychom se Vám mohli alespoň nějak peněžně odměnit :)
    16.7.2015 10:57 chrono
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Ak sa použije tá vetva feature/feature-libmp3 stačí upraviť settings.sh (treba tam do CFLAGS a LDFLAGS pridať -fPIC a z LDFLAGS treba odstrániť -pie) a vo ffmpeg_build.sh stačí zmeniť --disable-shared na --enable-shared a skompiluje sa to bez problémov. V settings.sh sa dá nastaviť, pre aké architektúry sa to má kompilovať (kompiluije sa to pre všetky architektúry, ktoré sú v premennej SUPPORTED_ARCHITECTURES).

    Mimochodom tá vetva feature/feature-libmp3 môže byť dosť stará (je pre ANDROID_API 9 a NDK_TOOLCHAIN_ABI 4.8) master je pre novšiu verziu (ANDROID_API 19 a NDK_TOOLCHAIN_ABI 4.9), takže možno budete chcieť práve master verziu (tam ale treba opraviť odkaz na libvpn repozitár a použiť git submodule sync)

    PS: Ffmpeg štandardne nie je jedna knižnica (ak sa kompilujú všetky, tak ich je tuším 8), ale je možné urobiť to, čo urobili v tom repozitári, na ktorý som odkazoval v predchádzajúcom príspevku (a teda, že sa skompilujú len statické verzie tých knižníc a z nich sa potom urobí jedna zdielaná knižnica, v tom odkazovanom súbore ide o funkciu build_one, samozrejme to treba upraviť).
    16.7.2015 12:15 Pepa
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Díky za info! Ale já bohužel nemám teď kde to zkompilovat a zase tak se v tom nevyznám. Mohl bys to zkusit zkompilovat tedy, aby z toho byla jedna knihovna? Výsledná knihovna by měla běžet pro Android 4.0 a výše. ANDROID_API 19 je myslím ok, nebo zkusit 21. Architektura stačí pouze ARM. Oni tam jsou už dostupné prebuilt binaries a tam je složka armeabi-v7a a v tom je zkompilovaná tak knihovna. Když to zkusím na Androidu, tak je to ok (i na Androidu 5.0), ale chybí tam ten encoder libmp3lame. Mohl bys to tedy zkusit zkompilovat i s tím parametrem (--enable=libmp3lame) a možná tedy pro tu nejnovější verzi (z master?). Seš jeden z mála co tomu opravdu rozumí a dokáže s tím něco udělat :) A určitě by se ta knihovna hodila více lidem. Díky moc!
    16.7.2015 16:03 chrono
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Vy potrebujete program ffmpeg, alebo knižnice libavcodec,libavdevice...? (pretože tá chybová hláška v pôvodnej otázke by ukazovala na to, že ide o program a nie knižnice, pretože, ako som už písal, pri knižnici sa PIE nepoužíva)

    Ak potrebujete program, tak stačí opraviť ten odkaz na libvpx a prípadne zmeniť architektúru (momentálne tam je len armeabi, ale nie je problém to v tom settings.sh zmeniť na armeabi-v7a, ,rozdiel je ten, že armeabi podporuje aj staršie arm architektúry).

    Mimochodom kompiloval som to v KVM a použil som minimálnu verziu Debian (bez grafického prostredia). Stačí potom len nainštalovať tie balíky, na ktoré odkazuje návod k FFmpeg-Android, stiahnuť a nainštalovať ANDROID-NDK a nastaviť premennú prostredia (ako sa píše v tom návode).
    16.7.2015 16:24 Pepa
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Potřebujeme program ffmpeg (takže pouze soubor "ffmpeg"). Architektura může být klidně armeabi-v7a (nebo je problém to udělat pro obě pro jistotu? Aby to prostě fungovalo i na Androidech 4.0). Můžeš tedy někam nahrát ten zkompilovanej program ffmpeg? Že bych to tedy vyzkoušel, jestli se mi ta konverze s tím libmp3lame podaří na Androidu. Moc díky!
    16.7.2015 16:42 mankind_boost | skóre: 7 | Hliněná chýše, 5482/3
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    No to je pak těžký, když v dotazu se ptáte na knihovnu :D
    Jen skutečný mankind_boost je zárukou kvality.
    16.7.2015 16:57 Pepa
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    to bylo myšleno jako program ffmpeg :-D povedlo se Vám tedy program ffmpeg zkompilovat s tou podporou mp3lame? :)
    16.7.2015 17:10 chrono
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Skompilovať to ako program je jednoduché, tu je skompilovaný program ffmpeg, každopádne je potrebné to skompilovať len s tým, čo sa použije (pretože teraz má ten program 19MB).
    16.7.2015 19:12 Pepa
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Super! Jste bůh :-D Jen teda ještě jeden problém. Na Androidu 5.0 to funguje, ale na Androidu 4.2 ne. Dostanu tento error:

    soinfo_relocate(linker.cpp:975): cannot locate symbol "log2" referenced by "/app_bin/ffmpeg"...CANNOT LINK EXECUTABLE

    Trošku jsem Googlil a asi to bude potřeba zkompilovat s menším ANDROID API (15 nebo 16 nejlépe). Můžete to zkusit? Případně zkusit ještě něco vygooglit jestli jsem to našel správně.

    (P.S: Nahrál jsem pro srovnání (třeba se bude hodit) na Pastebin původní konfiguraci, která nám funguje na Androidech 4.0 - 4.4, ale ne právě na Androidu 5.0 http://pastebin.com/5N5svnxy )

    Mělo by ale stačit tedy to zkompilovat s menším API snad, můžete to ještě zkusit? Mockrát děkuji.
    16.7.2015 20:35 chrono
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    api 14 pre Android 4.0 a api 17 pre Android 4.2
    16.7.2015 21:46 Pepa
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Nechci už otravovat, ale bohužel to nepomohlo. Zkoušel jsem to na Androidu 5.0 a 4.4 (to funguje, takže by to mělo jít od API 19), ale 4.2 ne. Našel jsem toto: http://stackoverflow.com/questions/25932791/error-executing-native-application-compiled-with-ndk-in-android-cannot-locate , což by mohlo řešit ten problém. Jakou verzi NDK používáte? Můžete zkusit použít verzi 14 (případně v tom příspěvku mají android-3, takže možná to bude nejlepší). Omlouvám se, že pořád otravuji :)
    16.7.2015 22:02 chrono
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Nefunguje ani tá api 14 verzia? (pretože práve také api bolo použité v tom príkaze na pastebin)
    16.7.2015 22:08 chrono
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Inak ani api-14 a ani api-17 verzia neobsahuje odkaz na log2 funkciu (overiť sa to dá napr. pomocou objdump -T ffmpeg | grep log2), takže ak to stále píše tú chybu, problém nie je ten program (možno sa stále používa tá api-19 verzia).
    17.7.2015 09:15 Pepa
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Sorry, asi jsem už večer udělal chybu a zkoušel nějakou jinou verzi. Teď jsem to rychle zkoušel a zdá se, že ta API-14 verze funguje dobře! Super:) Ještě vyzkouším na nějakých zařízeních a dám vědět, jak jsem dopadl :)
    17.8.2015 16:05 Pepa
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Dobrý den,

    chci se zeptat, jestli máte pořád v PC repozitář s Ffmpeg knihovnou spolu s nastavením pro předchozí komplikaci? Bylo by možné tu knihovnu zkompilovat i pro architekturu Intel Atom (x86)? Případně někam nahrát celý ten repozitář s nastavením, abychom se o kompilaci mohl pokusit? Mockrát děkuji!
    17.8.2015 19:47 chrono
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Tie súbory už nemám (mal som pre to urobený virtuálny stroj KVM s Debian, ale som si nepamätal, na čo ten Debian mám, tak som ho pred pár dňami vymazal). :)

    Každopádne, ako som som už písal, skompilovať to ako program je jednoduché, stačí opraviť ten odkaz na repozitár s libvpx.

    Príkazy na naklonovanie toho repozitára a opravu libvpx:
    git clone https://github.com/guofengzh/ffmpeg-android.git
    cd ./ffmpeg-android
    git config --file=.gitmodules submodule.libvpx.url https://chromium.googlesource.com/webm/libvpx
    git submodule sync
    git submodule update --init
    
    Potom už len stačí nastaviť architektúru v súbore settings.sh do premennej SUPPORTED_ARCHITECTURES (podporované sú architektúry armeabi, armeabi-v7a, armeabi-v7a-neon a x86). Tých architektúr tam môže byť aj viac, postupne sa skompilujú všetky (pri testovaní by som tam ale mal len jednu, skompiluje sa to tak rýchlejšie). V tom súbore settings.sh sa tiež nastavuje Android ABI.

    Keď je všetko nastavené, stačí spustiť ./android_build.sh a všetko sa to skompiluje.
    18.8.2015 08:21 Pepa
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Díky! Vyzkouším to podle toho Vašeho návodu a dám vědět. Ještě se chci zeptat, jestli to bude obsahovat libmp3lame encoder? Nebo budu muset využít tento fork https://github.com/guofengzh/ffmpeg-android/tree/feature/feature-libmp3 a postup bude stejný?
    18.8.2015 12:20 chrono
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Priamo ten repozitár, obsahuje podporu pre lame, zabudol som ale, že treba spustiť aj ./init_update_libs.sh (ten skript stiahne lame a niekoľko ďalších knižníc).
    18.8.2015 19:39 Pepa
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Zkoušel jsem to zkompilovat dle Vašeho návodu, vše prošlo, ale při kompilaci jsme dostal error: http://pastebin.com/8EAHDKwa . Netušíte, kde může být problém?

    Nemohu, ale na Linuxu co zde mám provést tento příkaz z instrukcí na webu:

    sudo apt-get --quiet --yes install build-essential git autoconf libtool pkg-config gperf gettext yasm

    Je možné, že je problém v tom? Jinak jsem do CFLAGS a LDFLAGS přidal -fPIC a odstranil -pie. Změnil --disable-shared na --enable-shared. Využívám tedy master repozitář https://github.com/guofengzh/ffmpeg-android/tree/master . Všechny Vámi popsané příkazy prošli korektně.
    18.8.2015 20:14 chrono
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Áno, treba nainštalovať tie nástroje.

    Ak je jediným cieľom vygenerovanie toho programu, tak netreba meniť vôbec nič, -pie je v takom prípade tá správna voľba.

    Ten návod o pár príspevkov vyššie je presne to, čo treba urobiť, len tam chýba to spustenie skriptu ./init_update_libs.sh (pred samotnou kompiláciou).
    19.8.2015 21:40 Pepa
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Pořád se mi nedaří zkompilovat program pro x86. Pro ARM je vše OK (všechny ty architektury), ale u x86 dostanu tuto chybu: http://pastebin.com/8jxKqRn9 asi netušíte čím by to mohlo být? Mám právě distribuci Mageia 32-bitová. Už jsem začal stahovat Debian, tak to zkusím vše v něm, ale aby to nedopadlo podobně. Jestli se pro to x86 nemusí ještě někde něco změnit?

    Myslíte, že to bude kompilátorem? U té Mageie není právě "build essentials", takže jsem musel provést jiné příkazy. Asi ten Debian bude nejjistější že?
    19.8.2015 22:47 chrono
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Problém je, že sa to pokúša kompilovať neon verziu a tá má zmysel len pri arm architektúre.
    19.8.2015 22:56 chrono
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Mimochodom nie je prekvapujúce, že to kompiluje arm verziu, kedže, z nejakého dôvodu, sa to pokúša kompilovať pre armv7-android-gcc.
    19.8.2015 23:03 Pepa
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Aha. Díky za info. Máš tušení co s tím? Jak to změnit? Nebo zkusit nějaký jiný repozitář?
    19.8.2015 23:27 chrono
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Problém je libvpx.sh. Možno pomôže upraviť to na:
    #!/bin/bash
    
    . abi_settings.sh $1 $2 $3
    
    pushd libvpx
    
    make clean
    
    case $1 in
      armeabi | armeabi-v7a | armeabi-v7a-neon)
        TARGET=armv7-android-gcc
      ;;
      x86)
        TARGET=x86-android-gcc
      ;;
    esac
    
    ./configure \
      --target="$TARGET" \
      --disable-examples \
      --sdk-path=${ANDROID_NDK} \
      --disable-runtime-cpu-detect \
      --prefix="${TOOLCHAIN_PREFIX}" || exit 1
    
    make -j${NUMBER_OF_CORES} install || exit 1
    
    popd
    (každopádne pre armeabi by sa asi malo použiť armv6, konfiguračný skript pre libvpx ale nepodporuje armv6-android-gcc; pravdepodobne to ali príliš nevadí, keďže takmer vždy sa aj tak kompiluje pre armeabi-v7a)
    19.8.2015 23:29 chrono
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    A toto je presne ten dôvod, kvôli ktorému som písal, že sa má upraviť kompilácia tak, aby sa tam kompilovalo len to, čo sa používa (bolo by to menšie, rýchlejšie by sa to kompilovalo a nebol by problém so zbytočnými knižnicami). ;)
    20.8.2015 00:10 chrono
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Treba tam urobiť ešte jednu zmenu (inak sa pri x86 bude používať nesprávny kompilátor pre assembler)
    #!/bin/bash
    
    . abi_settings.sh $1 $2 $3
    
    pushd libvpx
    
    make clean
    
    case $1 in
      armeabi | armeabi-v7a | armeabi-v7a-neon)
        TARGET=armv7-android-gcc
        AS_BIN=auto
      ;;
      x86)
        TARGET=x86-android-gcc
        AS_BIN=yasm
      ;;
    esac
    
    ./configure \
      --target="$TARGET" \
      --as="$AS_BIN" \
      --disable-examples \
      --sdk-path=${ANDROID_NDK} \
      --disable-runtime-cpu-detect \
      --prefix="${TOOLCHAIN_PREFIX}" || exit 1
    
    make -j${NUMBER_OF_CORES} install || exit 1
    
    popd
    
    a v systéme musí byť nainštalovaný yasm
    20.8.2015 09:22 Pepa
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Díky za info. Dneska to vyzkouším. Jinak Vám se to povedlo tedy zkompilovat? Mohl byste mi zase někam nahrát ten výstup?
    20.8.2015 11:23 chrono
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Kompiloval som len tú knižnicu libvpx.
    20.8.2015 12:33 Pepa
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Ta úprava pomohla. Ale dostal jsem ještě jeden error: http://pastebin.com/a5WrLFQJ . Zkoušel jsem něco hledat:

    http://stackoverflow.com/questions/28010753/android-ndk-returns-an-error-undefined-reference-to-rand http://stackoverflow.com/questions/27338318/cannot-load-library-reloc-library1285-cannot-locate-rand http://stackoverflow.com/questions/27091001/how-to-use-mkfifo-using-androids-ndk/27093163#27093163

    Ale nevím co přesně kde upravit. Nechci tam udělat nějakou chybu. Tušíš co s tím? Co upravit?
    20.8.2015 12:51 Pepa
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Možná zkusit starší NDK? Nebo Android API?
    20.8.2015 13:54 chrono
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    To je ďalší problém s libvpx. Malo by stačiť zmeniť libvpx_build.sh na:
    #!/bin/bash
    
    . abi_settings.sh $1 $2 $3
    
    pushd libvpx
    
    make clean
    
    case $1 in
      armeabi | armeabi-v7a | armeabi-v7a-neon)
        TARGET=armv7-android-gcc
        AS_BIN=auto
        ASFLAGS=""
      ;;
      x86)
        TARGET=x86-android-gcc
        AS_BIN=yasm
        ASFLAGS="-D__ANDROID__"
      ;;
    esac
    
    ASFLAGS="$ASFLAGS" ./configure \
      --target="$TARGET" \
      --as="$AS_BIN" \
      --disable-examples \
      --sdk-path=${ANDROID_NDK} \
      --disable-runtime-cpu-detect \
      --prefix="${TOOLCHAIN_PREFIX}" || exit 1
    
    make -j${NUMBER_OF_CORES} install || exit 1
    
    popd
    
    PS: Ak nie je potrebné, aby ten program podporoval aj vpx, tak stačí zakázať kompilovanie tej knižnice a jej používanie pre ffmpeg (stačí vymazať spúšťanie kompilovania tej knižnici v android_build.sh a, hlavne, treba zmeniť --enable-libvpx na --disable-libvpx v súbore ffmpeg_build.sh).
    18.8.2015 21:45 mankind_boost | skóre: 7 | Hliněná chýše, 5482/3
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Vždyť to tam samo přesně píše, co udělat! Bez instalace těch nástrojů to prostě nejde.

    "Nemohu, ale na Linuxu co zde mám provést tento příkaz z instrukcí na webu: "
    Nejsem si jist, co tahle věta znamená; předpokládám, že ho nelze provést. Pro řešení potřebujeme víc info (co to vypíše).
    Jen skutečný mankind_boost je zárukou kvality.
    18.8.2015 22:24 Pepa
    Rozbalit Rozbalit vše Re: Kompilace FFMPEG knihovny na Linuxu pro Android
    Ano, jen jsem v Linuxu nedělal x let, tak jsem nevěděl jak to sudo (nebo přesněji instalace balíčku) funguje a zrovna mám distribuci, která nepodporuje apt-get a je to potřeba udělat jinak. A ještě mi tam chyběl balíček build-essential a pkg-config, tak jsem musel hledat, jak to zase dostat do distribuce co mám na testy atd.

    Ale jinak se mi podařilo zkompilovat ffmpeg pro ARM architekturu. Teď zkusím x86. Díky za přesný návod a popis! Snad se to bude hodit více lidem.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.