Recherche avancée

Médias (91)

Autres articles (100)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • L’agrémenter visuellement

    10 avril 2011

    MediaSPIP est basé sur un système de thèmes et de squelettes. Les squelettes définissent le placement des informations dans la page, définissant un usage spécifique de la plateforme, et les thèmes l’habillage graphique général.
    Chacun peut proposer un nouveau thème graphique ou un squelette et le mettre à disposition de la communauté.

  • Possibilité de déploiement en ferme

    12 avril 2011, par

    MediaSPIP peut être installé comme une ferme, avec un seul "noyau" hébergé sur un serveur dédié et utilisé par une multitude de sites différents.
    Cela permet, par exemple : de pouvoir partager les frais de mise en œuvre entre plusieurs projets / individus ; de pouvoir déployer rapidement une multitude de sites uniques ; d’éviter d’avoir à mettre l’ensemble des créations dans un fourre-tout numérique comme c’est le cas pour les grandes plate-formes tout public disséminées sur le (...)

Sur d’autres sites (6078)

  • lavc/pthread_frame : Update user context in ff_frame_thread_free

    27 décembre 2019, par Linjie Fu
    lavc/pthread_frame : Update user context in ff_frame_thread_free
    

    Resolution/format changes lead to re-initialization of hardware
    accelerations(vaapi/dxva2/..) with new hwaccel_priv_data in
    the worker-thread. But hwaccel_priv_data in user context won't
    be updated until the resolution changing frame is output.

    A termination with "-vframes" just after the reinit will lead to :
    1. memory leak in worker-thread.
    2. double free in user-thread.

    Update user context in ff_frame_thread_free with the last thread
    submit_packet() was called on.

    To reproduce :
    ffmpeg -hwaccel vaapi(dxva2) -v verbose -i
    fate-suite/h264/reinit-large_420_8-to-small_420_8.h264 -pix_fmt nv12
    -f rawvideo -vsync passthrough -vframes 47 -y out.yuv

    Signed-off-by : Linjie Fu <linjie.fu@intel.com>
    Signed-off-by : Anton Khirnov <anton@khirnov.net>

    • [DH] libavcodec/pthread_frame.c
  • h264_mp4toannexb : Improve extradata overread checks

    14 décembre 2019, par Andreas Rheinhardt
    h264_mp4toannexb : Improve extradata overread checks
    

    Currently during parsing the extradata, h264_mp4toannexb checks for
    overreads by adding the size of the current unit to the current position
    pointer and comparing this to the end position of the extradata. But
    pointer comparisons and pointer arithmetic are only defined if it does not
    exceed the object it is used on (one past the last element of an array
    is allowed, too). In practice, this might lead to overflows. Therefore
    the check has been changed to use bytestream2_get_bytes_left() which
    means that the pointers get subtracted and the result gets compared to
    the available size.

    Furthermore, the error code has been fixed.

    Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] libavcodec/h264_mp4toannexb_bsf.c
  • How would I go about packaging an mp3 file into an mp4 container ?

    22 novembre 2020, par Jacob

    So here's the issue that I'm currently having. I need an audio player for iOS that will play mp3. Now at first glance this may seem like a trivial issue, just create an audio tag and give it the URL to the mp3 file. While this technically works, it's basically unusable since iOS needs to download the entire file before starting to play it. This results in a really long wait time when trying to play large mp3 files (could get close to a minute).&#xA;So the first thing I tried was to manually mimic the chunking that chrome does for playing mp3 files. I first sent a HEAD request to get the byte length of the audio file. Used that length / duration in seconds to get the average bytes per second and use that data to request chunks based on where the user seeks to. That didn't work since sometimes mp3 files contain metadata that throw off the calculation (like a cover image). Additionally, sometimes mp3 files use VBR (Variable Bit Rate) and then I'm well and truly screwed.

    &#xA;&#xA;

    So this lead me to thinking, Safari couldn't possibly require the end user to download an entire mp4 file before playing it. So I took an mp3 file, converted it to mp4 on an online converter and tested my theory out. Voila, it worked. Safari was streaming the mp4 file in chunks and the wait time went to close to 0. Alright, so now all I need to do is convert mp3 files to mp4 files. The problem now is, I have requirement not to use my server for converting these files. I want to offload this expensive operation to the client. After looking around for a bit I found a few wasm libraries to do this, great ! Nope. These wasm libraries are huge (24 MB) and would add an unacceptable amount to my already large bundles files. So this brings me to my question. Is there any way to "trick" safari into thinking that my mp3 file is mp4. What I've tried already :

    &#xA;&#xA;

    On input change event -> get the file -> clone it into a new Blob with a mimeType of video/mp4 and then upload that file to the server. Chrome plays this file no problem (probably because it detects it's an mp3 file), on Safari however it's unable to play the file.

    &#xA;&#xA;

    So my question is, is there any way to package the mp3 file in an mp4 container (Client Side !important) to "force" Safari into chunking the file.

    &#xA;