
Recherche avancée
Autres articles (38)
-
Soumettre améliorations et plugins supplémentaires
10 avril 2011Si vous avez développé une nouvelle extension permettant d’ajouter une ou plusieurs fonctionnalités utiles à MediaSPIP, faites le nous savoir et son intégration dans la distribution officielle sera envisagée.
Vous pouvez utiliser la liste de discussion de développement afin de le faire savoir ou demander de l’aide quant à la réalisation de ce plugin. MediaSPIP étant basé sur SPIP, il est également possible d’utiliser le liste de discussion SPIP-zone de SPIP pour (...) -
Menus personnalisés
14 novembre 2010, parMediaSPIP utilise le plugin Menus pour gérer plusieurs menus configurables pour la navigation.
Cela permet de laisser aux administrateurs de canaux la possibilité de configurer finement ces menus.
Menus créés à l’initialisation du site
Par défaut trois menus sont créés automatiquement à l’initialisation du site : Le menu principal ; Identifiant : barrenav ; Ce menu s’insère en général en haut de la page après le bloc d’entête, son identifiant le rend compatible avec les squelettes basés sur Zpip ; (...) -
Ajouter notes et légendes aux images
7 février 2011, parPour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
Modification lors de l’ajout d’un média
Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)
Sur d’autres sites (9313)
-
Specifying FFMPEG in the requirements section of 'buildozer.spec' causing [libavformat/network.o] Error 1
18 juillet 2022, par GJ78My question relates to how to mitigate an ffmpeg requirement listed in a buildozer.spec that is causing compile errors using buildozer.



GOAL :



Using buildozer to ensure FFMPEG can be embedded within a small Kivy app so i can utilise youtube_dl functionality on my android phone.



THE ISSUE :
Specifying FFMPEG in the requirements section of 'buildozer.spec' causes the following error message :

common.mak:60 : recipe for target 'libavformat/network.o' failed

make : [libavformat/network.o] Error 1

make : Waiting for unfinished jobs...


What have I done to resolve myself :

1. Ensured LOG LEVEL 2 is specified.


- 

-
Upgraded cython from Version 21 to 27. Then downgraded to 25, then 21 then 20 to see if this resolved anything. It didn't.
-
In BUILDOZER.SPEC, switched between Android NDK crystax-ndk-10.3.2 and android-ndk-r16b. (Note have reverted back to Crystax 10.3.2) in my NDK PATH.
-
In BUILDOZER.SPEC, changed android.api from 19 to 15 (just to see if this has any positive effects).
-
executed : rm -Rf .buildozer between each compiling attempt.
-
Part extract of Buildozer.log :



In file included from libavformat/dump.c:37:0 :

libavformat/avformat.h:893:21 : note : declared here

 AVCodecContext codec ;
 ^

CC libavformat/format.o

CC libavformat/golomb_tab.o

CC libavformat/h264dec.o

CC libavformat/hevc.o

CC libavformat/http.o

CC libavformat/httpauth.o

CC libavformat/id3v1.o

CC libavformat/id3v2.o

CC libavformat/img2.o

CC libavformat/isom.o

CC libavformat/log2_tab.o

CC libavformat/m4vdec.o

CC libavformat/metadata.o
CC libavformat/mov_chan.o

CC libavformat/mov.o

CC libavformat/movenc.o

CC libavformat/movenccenc.o

CC libavformat/movenchint.o

CC libavformat/mpegvideodec.o

CC libavformat/mux.o

CC libavformat/network.o

In file included from libavformat/network.h:29:0,

 from libavformat/network.c:22 :

libavformat/os_support.h:67:32 : error : expected declaration specifiers or '...' before '(' token

 # define lseek(f,p,w) lseek64((f), (p), (w))

 ^
libavformat/os_support.h:67:37 : error : expected declaration specifiers or '...' before '(' token

 # define lseek(f,p,w) lseek64((f), (p), (w))

 ^
libavformat/os_support.h:67:42 : error : expected declaration specifiers or '...' before '(' token

 # define lseek(f,p,w) lseek64((f), (p), (w))

 ^
common.mak:60 : recipe for target 'libavformat/network.o' failed

make : [libavformat/network.o] Error 1

make : * Waiting for unfinished jobs.... -
Part extract of Buildozer.spec



(str) Title of your application



title = myapplication



(str) Package name



package.name = myapp



(str) Package domain (needed for android/ios packaging)



package.domain = org.test



(str) Source code where the main.py live



source.dir = .



(list) Source files to include (let empty to include all the files)



source.include_exts = py,png,jpg,kv,atlas



(list) List of inclusions using pattern matching



source.include_patterns = assets/,images/.png



(list) Source files to exclude (let empty to not exclude anything)



source.exclude_exts = spec



(list) List of directory to exclude (let empty to not exclude anything)



source.exclude_dirs = tests, bin



(list) List of exclusions using pattern matching



source.exclude_patterns = license,images//.jpg



(str) Application versioning (method 1)



version = 0.1



(str) Application versioning (method 2)



version.regex = version = '"['"]



version.filename = %(source.dir)s/main.py



(list) Application requirements



comma seperated e.g. requirements = sqlite3,kivy



requirements = ffmpeg,python2,hostpython2,kivy,youtube-dl



(str) Custom source folders for requirements



Sets custom source for any requirements with recipes



requirements.source.kivy = ../../kivy



(list) Garden requirements



garden_requirements =



(str) Presplash of the application



presplash.filename = %(source.dir)s/data/presplash.png



(str) Icon of the application



icon.filename = %(source.dir)s/data/icon.png



(str) Supported orientation (one of landscape, portrait or all)



orientation = portrait



(list) List of service to declare



services = NAME:ENTRYPOINT_TO_PY,NAME2:ENTRYPOINT2_TO_PY



OSX Specific



author = © Copyright Info



change the major version of python used by the app



osx.python_version = 3



Kivy version to use



osx.kivy_version = 1.9.1



Android specific



(bool) Indicate if the application should be fullscreen or not



fullscreen = 0



(string) Presplash background color (for new android toolchain)



Supported formats are : #RRGGBB #AARRGGBB or one of the following names :



red, blue, green, black, white, gray, cyan, magenta, yellow, lightgray,



darkgray, grey, lightgrey, darkgrey, aqua, fuchsia, lime, maroon, navy,



olive, purple, silver, teal.



android.presplash_color = #FFFFFF



(list) Permissions



android.permissions = INTERNET



(int) Android API to use



android.api = 19



(int) Minimum API required



android.minapi = 9



(int) Android SDK version to use



android.sdk = 20



(str) Android NDK version to use



android.ndk = 10.3.2



(bool) Use —private data storage (True) or —dir public storage (False)



android.private_storage = True



(str) Android NDK directory (if empty, it will be automatically downloaded.)



android.ndk_path = /home/gjones/Downloads/crystax-ndk-10.3.2



(str) Android SDK directory (if empty, it will be automatically downloaded.)



android.sdk_path =



(str) ANT directory (if empty, it will be automatically downloaded.)



android.ant_path =
-
Lastly, when I remove ffmpeg from requirements in buildozer.spec, the .APK compiles successfully and i can deploy it on to my phone with the KIVY GUI. Obviously, ffmpeg functionality is not present.

















Current Environment Specs :



- 

- Running Linux Mint 17.2 as a Virtual Box VM
- Buildozer Version : 0.35dev
- Cython Version : 0.25









Any advice would be greatly appreciated.



Lastly, if there is no obvious solution via buildozer, do i need to compile ffmpeg for Android separately and somehow include this somewhere in the buildozer spec file to prevent this error message ?



Thanks in advance.


-
-
h264 : move the scratch buffers into the per-slice context
17 janvier 2015, par Anton Khirnovh264 : move the scratch buffers into the per-slice context
Also change the method for allocating them. Instead of two possible
alloc calls from different places, just ensure they are allocated at the
start of each slice. This should be simpler and less bug-prone than the
previous method. -
avutil/pixdesc : deprecate AV_PIX_FMT_FLAG_PSEUDOPAL
29 mars 2018, par wm4avutil/pixdesc : deprecate AV_PIX_FMT_FLAG_PSEUDOPAL
PSEUDOPAL pixel formats are not paletted, but carried a palette with the
intention of allowing code to treat unpaletted formats as paletted. The
palette simply mapped the byte values to the resulting RGB values,
making it some sort of LUT for RGB conversion.It was used for 1 byte formats only : RGB4_BYTE, BGR4_BYTE, RGB8, BGR8,
GRAY8. The first 4 are awfully obscure, used only by some ancient bitmap
formats. The last one, GRAY8, is more common, but its treatment is
grossly incorrect. It considers full range GRAY8 only, so GRAY8 coming
from typical Y video planes was not mapped to the correct RGB values.
This cannot be fixed, because AVFrame.color_range can be freely changed
at runtime, and there is nothing to ensure the pseudo palette is
updated.Also, nothing actually used the PSEUDOPAL palette data, except xwdenc
(trivially changed in the previous commit). All other code had to treat
it as a special case, just to ignore or to propagate palette data.In conclusion, this was just a very strange old mechnaism that has no
real justification to exist anymore (although it may have been nice and
useful in the past). Now it's an artifact that makes the API harder to
use : API users who allocate their own pixel data have to be aware that
they need to allocate the palette, or FFmpeg will crash on them in
_some_ situations. On top of this, there was no API to allocate the
pseuo palette outside of av_frame_get_buffer().This patch not only deprecates AV_PIX_FMT_FLAG_PSEUDOPAL, but also makes
the pseudo palette optional. Nothing accesses it anymore, though if it's
set, it's propagated. It's still allocated and initialized for
compatibility with API users that rely on this feature. But new API
users do not need to allocate it. This was an explicit goal of this
patch.Most changes replace AV_PIX_FMT_FLAG_PSEUDOPAL with FF_PSEUDOPAL. I
first tried #ifdefing all code, but it was a mess. The FF_PSEUDOPAL
macro reduces the mess, and still allows defining FF_API_PSEUDOPAL to 0.Passes FATE with FF_API_PSEUDOPAL enabled and disabled. In addition,
FATE passes with FF_API_PSEUDOPAL set to 1, but with allocation
functions manually changed to not allocating a palette.- [DH] doc/APIchanges
- [DH] fftools/ffprobe.c
- [DH] libavcodec/decode.c
- [DH] libavcodec/ffv1dec.c
- [DH] libavcodec/rawdec.c
- [DH] libavcodec/smvjpegdec.c
- [DH] libavfilter/drawutils.c
- [DH] libavfilter/framepool.c
- [DH] libavfilter/vf_crop.c
- [DH] libavfilter/vf_pixdesctest.c
- [DH] libavfilter/vf_scale.c
- [DH] libavfilter/vf_shuffleplanes.c
- [DH] libavutil/frame.c
- [DH] libavutil/imgutils.c
- [DH] libavutil/internal.h
- [DH] libavutil/pixdesc.c
- [DH] libavutil/pixdesc.h
- [DH] libavutil/version.h
- [DH] libswscale/swscale_internal.h