Recherche avancée

Médias (91)

Autres articles (112)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

Sur d’autres sites (10521)

  • Anomalie #4128 (En cours) : Bug de génération de boucle avec les modèles Spip

    11 avril 2018, par Julien PORIAU

    Dans les modèles personnalisés Spip, les images (boucle documents ou logos) sont mal générées et provoque un bug d’encodage visible dans le front-end lors du passage dans une autre langue (balises multi).
    Nous n’avons pas trouvé où était le souci dans Spip, mais les caractères qui remontent dans le code source, ressemblent aux octets qui composent le fichier binaire d’une image.
    Voir en live ici : http://spip-dev.nidecker.com/probleme-de-langue.html?lang=ca.

    Pour essayer d’isoler cette anomalie, nous avons procédé de la sorte avec l’aide de mon développeur :

    1. Nous sommes reparti d’un SPIP 3.1.7 entièrement neuf (minimal), avec deux modèles Spip, rien d’autre.
    Le bug se reproduit, ce qui exclus un problème lié aux squelettes ou autres plugins.

    Nous n’avons pas réussi a déterminer précisément ce qui génère ce bug, à part que c’est dans un contexte où on appelle une langue pas définie dans le multi.
    En fonction du contenu de l’article, du nombre de modèles dans l’article, en fonction des boucles dans les inclure, le bug n’arrive pas au même endroit...

    Le problème vient de la génération des logos ou documents : si on supprime les balises #LOGO_* ou si on renomme IMG en IMG_, plus d’erreur.
    Même sans traitements, avec juste [(#LOGO_*)], rien à faire.

    2. Nous avons pensé que c’était peut être une image au mauvais format : On a alors tenté de passer ImageOptim sur tout le répertoire /IMG, redimensionné tous les logos en vignettes png de 320x240, rien à faire...

    3. On a fini par passer ce site de test en 3.2, pas mieux.

    4. Nous avons épluché les caches générés dans /tmp/cache et /tmp/cache/skel, tout paraît normal de ce côté là..

    5. On a ensuite un peu avancé en enlevant dans mes_options.php la variable $GLOBALS['forcer_lang'] = true".
    Sur la version minimal, plus de bug. Mais sur le site de production, le problème réside toujours.
    Mais en faisant des tests avec et sans (et en supprimant bien /tmp/cache/ à chaque fois), ça se confirme pour la version minimal.

    6. A partir d’une copie de la version production, nous avons désactivé tout les plugins, passer ImageOptim sur /IMG et rien a faire.. Impossible de déterminé d’où vient le problème :(

    7. Nous avons essayé d’écrire comme ceci : [<img src="http://core.spip.org/projects/spip/(#LOGO_MOT|image_reduire{50,*}|extraire_attribut{src})" alt="" style='max-width: 300px; max-height: 300px' />]
    Cela fonctionne sur la version minimal mais pas sur la version production.

    8. Dans la version minimal, j’ai encore récemment testé une dernière chose. J’ai supprimé les documents non sollicités sur ma page de teste (spip.php ?article1441&lang=ca).
    Avec la requête SQL suivante : DELETE FROM jones_documents WHERE id_document NOT IN (1948,1949,2534,2535,630,631,1783,1784,1785,1786,1787,1788,1781,1782)
    Le bug n’apparait plus..

    Je sèche..

    Vous trouverez ici en téléchargement une archive de la version minimal (Spip 3.1.7) : https://www.dropbox.com/s/dek0zg7jafl8uxe/jones.zip?dl=0] ( 20mo)
    Pour reproduire le bug, il suffit de passer la variable "&lang=ca" dans l’article 1441 (localhost/spip.php ?article1441&lang=ca).

    Je donne volontiers un accès à la version production si besoin.

  • Can I know which byte range to read from a remote mp4 file for FFMpeg to decode a keyframe ?

    12 octobre 2023, par db9117

    I need to decode a of keyframe of a video file (mp4, h264 encoded). I know the timestamp of the keyframe I want to extract/decode. I want to minimize amount of data being read in memory. For this, I need to know beforehand exactly the minimal byte range I would require that encompasses this keyframe. How do I know what is the minimal byte range in the whole mp4 byte stream I need to read in order to be able to decode the keyframe ?

    &#xA;

    I currently find the appropriate keyframe in the index_entries contained in the header. I get its byte position (pos attribute) and timestamp (timestamp attribute). I calculate the range as follows :

    &#xA;

    startBytes : minimum of :

    &#xA;

      &#xA;
    1. the pos of the keyframe
    2. &#xA;

    3. the pos of the nearest index entry in the audio stream happening at or before the keyframe's timestamp.
    4. &#xA;

    &#xA;

    This way when it's decoding the frame, if it also needs the audio content for demuxing, it would have it.

    &#xA;

    endBytes : maximum of :

    &#xA;

      &#xA;
    1. the pos of the next frame in the video stream's index, after the keyframe
    2. &#xA;

    3. the pos of the next frame in the audio stream's index after the timestamp of the wished keyframe.
    4. &#xA;

    &#xA;

    This way I know that I have everything up until the next frame in the index, which theoretically should be enough to decode the keyframe only.

    &#xA;

    I then read the appropriate byte range.

    &#xA;

    When I try to decode the frame, I run in a loop until I succeed :

    &#xA;

      &#xA;
    • avcodec_read_frame
    • &#xA;

    • avcodec_send_packet
    • &#xA;

    • avcodec_receive_frame
    • &#xA;

    &#xA;

    I ignore AVERROR(EAGAIN) errors.

    &#xA;

    avcodec_receive_frame fails multiple times with error AVERROR(EAGAIN) which I ignore, until it fails saying that the memory it wants to read isn't available (wants to read after endBytes). I explicitly tell it to fail if it wants to read more than it has already read.

    &#xA;

    Note : for other keyframes at other positions in other videos, it sometimes succeeds (probably because the range is big enough by chance), but it fails more often than not.

    &#xA;

    My question is : Why is the end of the range not enough to be able to decode only the one keyframe ? Is there any way to more precisely calculate the exact range in bytes I would need in order to decode a particular keyframe ?

    &#xA;

  • FFmpeg uses xface to merge videos without transition effects

    30 avril 2024, par soapbar

    ffmpeg -i ./first.mp4 -i ./first.mp4 -filter_complex "xfade=transition=circlecrop:duration=1:offset=4,format=yuv420p" -y output.mp4

    &#xA;

    FFMPEG version 6.1.1, the video is generated normally without any error prompts, but the generated video does not have any transition effects.

    &#xA;

    output

    &#xA;

    &#xA;ffmpeg version 6.1.1-tessus  https://evermeet.cx/ffmpeg/  Copyright (c) 2000-2023 the FFmpeg developers&#xA;  built with Apple clang version 11.0.0 (clang-1100.0.33.17)&#xA;  configuration : —cc=/usr/bin/clang —prefix=/opt/ffmpeg —extra-version=tessus —enable-avisynth —enable-fontconfig —enable-gpl —enable-libaom —enable-libass —enable-libbluray —enable-libdav1d —enable-libfreetype —enable-libgsm —enable-libmodplug —enable-libmp3lame —enable-libmysofa —enable-libopencore-amrnb —enable-libopencore-amrwb —enable-libopenh264 —enable-libopenjpeg —enable-libopus —enable-librubberband —enable-libshine —enable-libsnappy —enable-libsoxr —enable-libspeex —enable-libtheora —enable-libtwolame —enable-libvidstab —enable-libvmaf —enable-libvo-amrwbenc —enable-libvorbis —enable-libvpx —enable-libwebp —enable-libx264 —enable-libx265 —enable-libxavs —enable-libxml2 —enable-libxvid —enable-libzimg —enable-libzmq —enable-libzvbi —enable-version3 —pkg-config-flags=—static —disable-ffplay&#xA;  libavutil      58. 29.100 / 58. 29.100&#xA;  libavcodec     60. 31.102 / 60. 31.102&#xA;  libavformat    60. 16.100 / 60. 16.100&#xA;  libavdevice    60.  3.100 / 60.  3.100&#xA;  libavfilter     9. 12.100 /  9. 12.100&#xA;  libswscale      7.  5.100 /  7.  5.100&#xA;  libswresample   4. 12.100 /  4. 12.100&#xA;  libpostproc    57.  3.100 / 57.  3.100&#xA;Input #0, mov,mp4,m4a,3gp,3g2,mj2, from './first.mp4' :&#xA;  Metadata :&#xA;    major_brand : isom&#xA;    minor_version : 512&#xA;    compatible_brands : isomiso2avc1mp41&#xA;    encoder : Lavf61.1.100&#xA;  Duration : 00:00:05.00, start : 0.000000, bitrate : 110 kb/s&#xA;  Stream #0:0[0x1](und) : Video : h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1080x1920 [SAR 4095:4096 DAR 36855:65536], 109 kb/s, SAR 14317:14320 DAR 128853:229120, 0.20 fps, 0.20 tbr, 16384 tbn (default)&#xA;    Metadata :&#xA;      handler_name : VideoHandler&#xA;      vendor_id : [0][0][0][0]&#xA;      encoder : Lavc61.3.100 libx264&#xA;Input #1, mov,mp4,m4a,3gp,3g2,mj2, from './first.mp4' :&#xA;  Metadata :&#xA;    major_brand : isom&#xA;    minor_version : 512&#xA;    compatible_brands : isomiso2avc1mp41&#xA;    encoder : Lavf61.1.100&#xA;  Duration : 00:00:05.00, start : 0.000000, bitrate : 110 kb/s&#xA;  Stream #1:0[0x1](und) : Video : h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1080x1920 [SAR 4095:4096 DAR 36855:65536], 109 kb/s, SAR 14317:14320 DAR 128853:229120, 0.20 fps, 0.20 tbr, 16384 tbn (default)&#xA;    Metadata :&#xA;      handler_name : VideoHandler&#xA;      vendor_id : [0][0][0][0]&#xA;      encoder : Lavc61.3.100 libx264&#xA;Stream mapping :&#xA;  Stream #0:0 (h264) -> xfade&#xA;  Stream #1:0 (h264) -> xfade&#xA;  format:default -> Stream #0:0 (libx264)&#xA;Press [q] to stop, [?] for help&#xA;[libx264 @ 0x7f9f99fc87c0] using SAR=4095/4096&#xA;[libx264 @ 0x7f9f99fc87c0] using cpu capabilities : MMX2 SSE2Fast SSSE3 SSE4.2&#xA;[libx264 @ 0x7f9f99fc87c0] profile High, level 4.0, 4:2:0, 8-bit&#xA;[libx264 @ 0x7f9f99fc87c0] 264 - core 164 r3172 c1c9931 - H.264/MPEG-4 AVC codec - Copyleft 2003-2023 - http://www.videolan.org/x264.html - options : cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=1 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00&#xA;Output #0, mp4, to 'output.mp4' :&#xA;  Metadata :&#xA;    major_brand : isom&#xA;    minor_version : 512&#xA;    compatible_brands : isomiso2avc1mp41&#xA;    encoder : Lavf60.16.100&#xA;  Stream #0:0 : Video : h264 (avc1 / 0x31637661), yuv420p(tv, progressive), 1080x1920 [SAR 14317:14320 DAR 128853:229120], q=2-31, 0.20 fps, 16384 tbn&#xA;    Metadata :&#xA;      encoder : Lavc60.31.102 libx264&#xA;    Side data :&#xA;      cpb : bitrate max/min/avg : 0/0/0 buffer size : 0 vbv_delay : N/A&#xA;[out#0/mp4 @ 0x7f9f99fc74c0] video:72kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead : 1.190217%&#xA;frame=    2 fps=0.0 q=-1.0 Lsize=      73kB time=00:00:05.00 bitrate= 118.9kbits/s speed=45.5x    &#xA;[libx264 @ 0x7f9f99fc87c0] frame I:1     Avg QP:12.25  size : 72527&#xA;[libx264 @ 0x7f9f99fc87c0] frame P:1     Avg QP:13.77  size :   216&#xA;[libx264 @ 0x7f9f99fc87c0] mb I  I16..4 : 51.4% 34.9% 13.8%&#xA;[libx264 @ 0x7f9f99fc87c0] mb P  I16..4 :  0.0%  0.0%  0.0%  P16..4 :  0.8%  0.0%  0.0%  0.0%  0.0%    skip:99.2%&#xA;[libx264 @ 0x7f9f99fc87c0] 8x8 transform intra:34.9% inter:0.0%&#xA;[libx264 @ 0x7f9f99fc87c0] coded y,uvDC,uvAC intra : 9.2% 9.6% 6.9% inter : 0.0% 0.6% 0.0%&#xA;[libx264 @ 0x7f9f99fc87c0] i16 v,h,dc,p : 79% 20%  2%  0%&#xA;[libx264 @ 0x7f9f99fc87c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu :  1% 97%  2%  0%  0%  0%  0%  0%  0%&#xA;[libx264 @ 0x7f9f99fc87c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu : 36% 32% 10%  3%  3%  3%  4%  3%  4%&#xA;[libx264 @ 0x7f9f99fc87c0] i8c dc,h,v,p : 80% 15%  4%  0%&#xA;[libx264 @ 0x7f9f99fc87c0] Weighted P-Frames : Y:0.0% UV:0.0%&#xA;[libx264 @ 0x7f9f99fc87c0] kb/s:58.19&#xA;

    &#xA;