Recherche avancée

Médias (2)

Mot : - Tags -/rotation

Autres articles (98)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

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

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

Sur d’autres sites (9770)

  • How do I get the last line of a popen() callback in every iteration ?

    29 mai 2017, par Mike

    I’m trying to create a progress bar with FFMPEG using php and AJAX. When a user uploads a video file I want to be able to display the current percent until completion. I have managed to get everything working but I have one issue.

    The data returns what I want, but it also returns all the data from the previous iterations... like it just keeps stacking everything on top rather than flushing out the data from previous iterations. I tried to work with tail thinking it would return only the last line, but it did not return anything.

    Here is the code I’m working with :

    encode.php

    $video_path = 'test.mp4';
    $cmd        = 'ffmpeg -i ' . $video_path .' -y -hide_banner output.mp4 2>&1';

    while (@ ob_end_flush());

    $proc = popen($cmd, 'r');

    while (!feof($proc))
    {

       $file = escapeshellarg(fread($proc, 4096));
       //$line = `tail -n 1 $file`; // <-tried this with no luck
       echo fread($file, 4096) . "\n";
       @ flush();
    }
    return 'complete';
    pclose($proc);

    The above code returns :

    // first iteration
    frame=   52 fps= 13 q=29.0 size=     279kB time=00:00:00.10 bitrate=22856.9kbits/s

    // second iteration
    frame=   52 fps= 13 q=29.0 size=     279kB time=00:00:00.10 bitrate=22856.9kbits/s    
    frame=   54 fps= 12 q=29.0 size=     329kB time=00:00:00.16 bitrate=16146.6kbits/s

    // third iteration
    frame=   52 fps= 13 q=29.0 size=     279kB time=00:00:00.10 bitrate=22856.9kbits/s    
    frame=   54 fps= 12 q=29.0 size=     329kB time=00:00:00.16 bitrate=16146.6kbits/s    
    frame=   57 fps= 11 q=29.0 size=     464kB time=00:00:00.26 bitrate=14233.2kbits/s

    As you can see the data stacks, I need only the new line of data, not the data stacking.

    ** EDIT ** this has been marked as a duplicate, rather than me explain how it’s different, I’d like to hear how this is the same thing ? I am not writing to a log file and, like most people, do not feel that’s a good solution.

  • FFmpeg conversion to mp3 works in terminal, not in script

    19 juillet 2013, par user2598172

    I can run

    ffmpeg -i test.m4a -vn -acodec libmp3lame -ab 256k test.mp3

    And it works perfectly. However, when I have the line :

    ./ffmpeg -i "$SONG_SAVE.m4a" -vn -acodec libmp3lame -ab 256k "$SONG_SAVE$EXT" &> /dev/null

    running in a .sh script (downloading the same file that I was able to successfully convert through the terminal), it returns an mp3 file with no audio data. Does anyone have any idea what could be causing this ? Thanks !

    EDIT : here is the whole script :

    #!/bin/bash

    TITLE="$(echo "$1" | ./recode html..ascii | tr -d '\' | tr -s ' ' | sed 's|\ *$||')"
    TAG_TITLE="$2"
    ARTIST="$(echo "$3" | ./recode html..ascii | tr -d '\' | tr -s ' ')"
    ALBUM="$(echo "$4" | ./recode html..ascii | tr -d '\' | tr -s ' ')"
    IMG="$5"
    TRACK_NUMBER="$6"
    TOTAL_TRACKS="$7"
    URL="$8"
    MIX_TITLE="$9"
    CONVERT="${10}"
    RECURSIVE="${11}"
    SESSION_ID="${12}"
    DOWNLOAD_ID="${13}"
    SONG_ID="${14}"

    SONG_SAVE="songs/$SONG_ID"
    ZIP_SAVE="$SESSION_ID-$DOWNLOAD_ID.zip"
    ZIP_DIR="$MIX_TITLE/"
    ARTWORK_SAVE="artwork/$MIX_TITLE.png"
    SAVE_TITLE="$(echo "$TITLE" | sed 's|/|-|g;s|^\.||g')"

    [ "$TAG_TITLE" == "false" ] && unset TITLE
    [ "$ARTIST" == "false" ] && unset ARTIST
    [ "$ALBUM" == "false" ] && unset ALBUM
    [ "$IMG" == "false" ] && unset IMG
    [ "$TRACK_NUMBER" == "false" ] && unset TRACK_NUMBER TOTAL_TRACKS
    [ "$CONVERT" == "false" ] && unset CONVERT
    [ "$RECURSIVE" == "false" ] && unset RECURSIVE

    while [ -f "SONG_SAVE".part ]; do
       sleep 2
    done

    if [ -f "$SONG_SAVE".m4a ]; then
       EXT=".m4a"
       touch "$SONG_SAVE$EXT"
    elif [ -f "$SONG_SAVE".mp3 ]; then
       EXT=".mp3"
       touch "$SONG_SAVE$EXT"
    else
       curl -Lso "$SONG_SAVE".part "$URL"

       if [ -n "$(file -b "$SONG_SAVE".part | grep "MPEG ADTS")" ]; then
           EXT=".mp3"
       elif [ -n "$(file -b "$SONG_SAVE".part | grep "MPEG v4")" ]; then
       EXT=".m4a"
    else
       EXT=".txt"
       echo "Unable to download: $URL. Sorry ):" > "$SONG_SAVE".part
    fi

    mv "$SONG_SAVE".part "$SONG_SAVE$EXT"
    fi

    if [ -n "$CONVERT" ] && [ "$EXT" == ".m4a" ]; then
    EXT=".mp3"
    if [ ! -f "$SONG_SAVE$EXT" ]; then
       ./ffmpeg -i "$SONG_SAVE.m4a" -vn -acodec libmp3lame -ab 256k "$SONG_SAVE$EXT"         &> /dev/null
       fi
    fi

    if [ "$EXT" == ".mp3" ]; then
       ./eyeD3 --remove-images -t "$TITLE" -a "$ARTIST" -A "$ALBUM" -n "$TRACK_NUMBER" -N     "$TOTAL_TRACKS" "$SONG_SAVE$EXT" &> /dev/null
       if [ -n "$IMG" ]; then
       [ ! -f "$ARTWORK_SAVE" ] && curl -Lso "$ARTWORK_SAVE" "$IMG"
           ./eyeD3 --add-image="$ARTWORK_SAVE":FRONT_COVER "$SONG_SAVE$EXT" &> /dev/null
       fi
    elif [ "$EXT" == ".m4a" ]; then
    if [ -n "$IMG" ]; then
       [ ! -f "$ARTWORK_SAVE" ] && curl -Lso "$ARTWORK_SAVE" "$IMG"
       if [ -n "$TRACK_NUMBER" ]; then
           ./mp4tags -P "$ARTWORK_SAVE" -s "$TITLE" -a "$ARTIST" -R "" -A "$ALBUM" -t "$TRACK_NUMBER" -T "$TOTAL_TRACKS" "$SONG_SAVE$EXT" &> /dev/null
       else
           ./mp4tags -P "$ARTWORK_SAVE" -s "$TITLE" -a "$ARTIST" -R "" -A "$ALBUM" "$SONG_SAVE$EXT" &> /dev/null
       fi
    else
       if [ -n "$TRACK_NUMBER" ]; then
           ./mp4tags -r P -s "$TITLE" -a "$ARTIST" -R "" -A "$ALBUM" -t "$TRACK_NUMBER" -T "$TOTAL_TRACKS" "$SONG_SAVE$EXT" &> /dev/null
       else
           ./mp4tags -r P -s "$TITLE" -a "$ARTIST" -R "" -A "$ALBUM" "$SONG_SAVE$EXT" &> /dev/null
           fi
       fi
    fi

    if [ -n "$RECURSIVE" ]; then
       cd archives
       mkdir -p "$ZIP_DIR"
       chmod 777 "$ZIP_DIR"
       cp "../$SONG_SAVE$EXT" "$ZIP_DIR$SAVE_TITLE$EXT"
       ./zip -q -0 -D -r "$ZIP_DIR$ZIP_SAVE" "$ZIP_DIR$SAVE_TITLE$EXT" &> /dev/null
       rm -f "$ZIP_DIR$SAVE_TITLE$EXT"
       printf "archives/$ZIP_DIR$ZIP_SAVE\n$MIX_TITLE.zip\n$EXT\n"
       echo "$(du -h "$ZIP_DIR$ZIP_SAVE" | tr '\t' '\n' | head -1)"
    else
       printf "$SONG_SAVE$EXT\n$SAVE_TITLE$EXT\n$EXT"
    fi
  • mov : Export geotag metadata fields

    3 juin 2014, par Martin Storsjö
    mov : Export geotag metadata fields
    

    The ’ ?xyz’ form is used by android devices (and according to apple
    mailing list archives, also by older iOS devices). The ’loci’ field
    (defined in 3GPP 26.244) is used by recent iOS devices.

    Even though the loci field can contain an altitude, it was plain
    0 in my sample. Just export longitude and latitude, in a string
    format matching the one used by the ’ ?xyz’ metadata field.

    Signed-off-by : Martin Storsjö <martin@martin.st>

    • [DH] libavformat/mov.c