abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 11:00 | Zajímavý software
Na Good Old Games je v rámci aktuálních zimních slev zdarma k dispozici remasterovaná verze klasické point&click adventury Grim Fandango, a to bez DRM a pro mainstreamové OS včetně GNU/Linuxu. Akce trvá do 14. prosince, 15:00 SEČ.
Fluttershy, yay! | Komentářů: 6
dnes 07:22 | Pozvánky

Konference InstallFest 2018 proběhne o víkendu 3. a 4. března 2018 v Praze na Karlově náměstí 13. Spuštěno bylo CFP. Přihlásit přednášku nebo workshop lze do 18. ledna 2018.

Ladislav Hagara | Komentářů: 0
včera 20:22 | Nová verze

Před měsícem byla vydána Fedora 27 ve dvou edicích: Workstation pro desktopové a Atomic pro cloudové nasazení. Fedora Server byl "vzhledem k náročnosti přechodu na modularitu" vydán pouze v betaverzi. Finální verze byla naplánována na leden 2018. Plán byl zrušen. Fedora 27 Server byl vydán již dnes. Jedná se ale o "klasický" server. Modularita se odkládá.

Ladislav Hagara | Komentářů: 6
včera 10:22 | Zajímavý článek

Lukáš Růžička v článku Kuchařka naší Růži aneb vaříme rychlou polévku z Beameru na MojeFedora.cz ukazuje "jak si rychle vytvořit prezentaci v LaTeXu, aniž bychom se přitom pouštěli do jeho bezedných hlubin".

Ladislav Hagara | Komentářů: 13
včera 07:22 | Komunita

Od 26. do 29. října proběhla v Bochumi European Coreboot Conference 2017 (ECC'17). Na programu této konference vývojářů a uživatelů corebootu, tj. svobodné náhrady proprietárních BIOSů, byla řada zajímavých přednášek. Jejich videozáznamy jsou postupně uvolňovány na YouTube.

Ladislav Hagara | Komentářů: 0
11.12. 19:22 | Nová verze

Ondřej Filip, výkonný ředitel sdružení CZ.NIC, oznámil vydání verze 2.0.0 open source routovacího démona BIRD (Wikipedie). Přehled novinek v diskusním listu a v aktualizované dokumentaci.

Ladislav Hagara | Komentářů: 0
11.12. 09:22 | Pozvánky

V Praze dnes probíhá Konference e-infrastruktury CESNET. Na programu je řada zajímavých přednášek. Sledovat je lze i online na stránce konference.

Ladislav Hagara | Komentářů: 2
9.12. 20:11 | Nová verze

Byl vydán Debian 9.3, tj. třetí opravná verze Debianu 9 s kódovým názvem Stretch a Debian 8.10, tj. desátá opravná verze Debianu 8 s kódovým názvem Jessie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 9 a Debianu 8 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

Ladislav Hagara | Komentářů: 11
9.12. 00:44 | Nová verze

Po 6 měsících vývoje od vydání verze 0.13.0 byla vydána verze 0.14.0 správce balíčků GNU Guix a na něm postavené systémové distribuce GuixSD (Guix System Distribution). Na vývoji se podílelo 88 vývojářů. Přibylo 1 211 nových balíčků. Jejich aktuální počet je 6 668. Aktualizována byla také dokumentace.

Ladislav Hagara | Komentářů: 4
8.12. 21:33 | Nová verze

Po půl roce vývoje od vydání verze 5.9 byla vydána nová stabilní verze 5.10 toolkitu Qt. Přehled novinek na wiki stránce. Současně byla vydána nová verze 4.5.0 integrovaného vývojového prostředí (IDE) Qt Creator nebo verze 1.10 nástroje pro překlad a sestavení programů ze zdrojových kódů Qbs.

Ladislav Hagara | Komentářů: 0
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (8%)
 (1%)
 (1%)
 (1%)
 (75%)
 (14%)
Celkem 976 hlasů
 Komentářů: 45, poslední 1.12. 19:00
    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: 666×

    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: 5 | 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
    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: 5 | 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).
    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.