Recherche avancée

Médias (91)

Autres articles (108)

  • 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.

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

  • Sélection de projets utilisant MediaSPIP

    29 avril 2011, par

    Les exemples cités ci-dessous sont des éléments représentatifs d’usages spécifiques de MediaSPIP pour certains projets.
    Vous pensez avoir un site "remarquable" réalisé avec MediaSPIP ? Faites le nous savoir ici.
    Ferme MediaSPIP @ Infini
    L’Association Infini développe des activités d’accueil, de point d’accès internet, de formation, de conduite de projets innovants dans le domaine des Technologies de l’Information et de la Communication, et l’hébergement de sites. Elle joue en la matière un rôle unique (...)

Sur d’autres sites (13113)

  • avcodec/mips/aaccoder_mips : Remove MIPS-specific aaccoder

    15 mars 2024, par Andreas Rheinhardt
    avcodec/mips/aaccoder_mips : Remove MIPS-specific aaccoder
    

    ff_aac_coder_init_mips() modifies a static const structure of
    function pointers. This will crash if the binary uses relro
    and is a data race in any case.

    Furthermore it points to a maintainability issue : The
    AACCoefficientsEncoder structures have been constified
    in commit fd9212f2edfe9b107c3c08ba2df5fd2cba5ab9e3,
    a Libav commit merged in 318778de9ebec276cb9dfc65509231ca56590d13.
    Libav did not have the MIPS-specific AAC code and so this was
    fine for them ; yet FFmpeg had them, but this was not recognized.

    Commit 75a099fc734a4ee2b1347d0a3d8c53d883b95174 points to another
    maintainability issue : Contrary to ordinary DSP code, this code
    here is way more complex and needs to be constantly kept in sync
    with the ordinary code which it mimicks and replaces. Said commit
    is the only commit actually changing aaccoder.c in the last few
    years and the same change has not been performed for the MIPS
    clone ; before that, it even happened several times that the mips
    code was broken due to changes of the generic code (see commits
    97437bd17a8c5d4135b2f3b1b299bd7bb72ce02c and
    de262d018d7d7d9c967af1dfd1b861c4b9eb2a60 or
    860dbe0275e57cbf4228f3f653f872ff66ca596b or
    933309a6ca0f18bf1d40e917fff455221f57fb4b or
    b65ffa316e377213c29736929beba584d0d80d7c). This might even lead
    to scenarios where someone changing non-dsp aacenc code would
    have to modify mips inline asm in order to keep them in sync.
    This is obviously a significant burden (if the AAC encoder were
    actively developed).

    Finally, the code does not even compile here due to errors like
    "Error : float register should be even, was 1".

    Reviewed-by : Lynne <dev@lynne.ee>
    Reviewed-by : Jean-Baptiste Kempf <jb@videolan.org>
    Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    • [DH] libavcodec/aacenc.c
    • [DH] libavcodec/aacenc.h
    • [DH] libavcodec/mips/Makefile
    • [DH] libavcodec/mips/aaccoder_mips.c
  • avcodec/ffv1dec : Switch to ProgressFrames

    2 septembre 2022, par Andreas Rheinhardt
    avcodec/ffv1dec : Switch to ProgressFrames
    

    Avoids implicit av_frame_ref() and therefore allocations
    and error checks. It also avoids explicitly allocating
    the AVFrames (done implicitly when getting the buffer).

    It also fixes a data race : The AVFrame's sample_aspect_ratio
    is currently updated after ff_thread_finish_setup()
    and this write is unsynchronized with the read in av_frame_ref().
    Removing the implicit av_frame_ref() fixed this.

    Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    • [DH] libavcodec/ffv1.h
    • [DH] libavcodec/ffv1dec.c
  • Monitoring for failure and quickly restarting systemd service

    16 février 2024, par mzrt

    I am running a 24/7 youtube stream on Ubuntu. My ffmpeg command is wrapped in a systemd service. On several occasions the ffmpeg command has failed and systemd has not restarted quickly enough to keep the youtube stream alive. When this happens I need to daemon-reload and restart the systemd service.

    &#xA;

    To counter this I have written a bash script that checks the log for stream ending errors, however, it does not seem to be working. I have had failures since implementing this script, and it did not seem to have been triggered.

    &#xA;

    two questions :

    &#xA;

      &#xA;
    1. is there a more efficient way to do what I am doing ?
    2. &#xA;

    3. if not, can anyone identify what I am doing wrong ?
    4. &#xA;

    &#xA;

    #!/bin/bash&#xA;&#xA;RESET=0&#xA;&#xA;while true; do&#xA;    # Get the current time minus 1 minute&#xA;    LAST_1_MINUTE=$(date -d &#x27;1 minute ago&#x27; &#x27;&#x2B;%b %e %H:%M:%S&#x27;)&#xA;    &#xA;    # Run the command to check for the error within the last minute&#xA;    if journalctl --since "$LAST_1_MINUTE" | grep -qi "Error writing trailer"; then&#xA;        if [ $RESET -lt 1 ]; then&#xA;            # Perform actions if error is detected&#xA;            sudo systemctl daemon-reload &amp;&amp; \&#xA;            echo "Restarting master.service by monitor.sh script at $(date)" >> /var/log/monitor.log &amp;&amp; \&#xA;            sudo systemctl restart master.service&#xA;            RESET=2&#xA;        fi&#xA;    else&#xA;        RESET=$((RESET - 1))&#xA;    fi&#xA;&#xA;    # Wait for 20 seconds before the next iteration&#xA;    sleep 20&#xA;done&#xA;

    &#xA;