Recherche avancée

Médias (1)

Mot : - Tags -/géodiversité

Autres articles (97)

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

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

Sur d’autres sites (5124)

  • MP4 to DASH (bash script)

    13 mars 2017, par francesco.galgani

    I have a web site in which users can upload video files. I want to stream all of them using DASH to obtain an adaptive bitrate streaming. So I wrote a bash script (to run by cron) that converts all mp4 files to DASH, but it doesn’t work properly : what is wrong ?

    For example, using the following script, I obtained :
    https://www.informatica-libera.net/dash_faq/stream.mpd

    It validates, but it doesn’t play. I tested it on :
    http://dash-mse-test.appspot.com/dash-player.html?url=https%3A%2F%2Fwww.informatica-libera.net%2Fdash_faq%2Fstream.mpd&autoplay=on&adapt=auto&flavor=

    Thank you for any help.
    The code :

    #!/bin/bash

    # THIS SCRIPT CONVERTS EVERY MP4 (IN THE CURRENT FOLDER AND SUBFOLDER)
    # TO A MULTI-BITRATE VIDEO IN MP4-DASH
    # For each file "videoname.mp4" it creates a folder "dash_videoname"
    # containing a dash manifest file "stream.mpd" and subfolders containing
    # video segments.

    # mp4dash documentation and download: https://www.bento4.com/developers/dash/

    MYDIR=$(dirname $(readlink -f ${BASH_SOURCE[0]}))
    SAVEDIR=$(pwd)

    # Check programs
    if [ -z "$(which ffmpeg)" ]; then
       echo "Error: ffmpeg is not installed"
       exit 1
    fi

    if [ -z "$(which mp4dash)" ]; then
       echo "Error: mp4dash is not installed"
       exit 1
    fi

    cd "$MYDIR"

    TARGET_FILES=$(find ./ -type f -name "*.mp4")
    for f in $TARGET_FILES
    do
     f=$(basename "$f") # fullname of the file
     f="${f%.*}" # name without extension

     if [ ! -d "dash_${f}" ]; then
       echo "Converting \"$f\" to multi-bitrate video in MPEG-DASH"

       ffmpeg -y -i "${f}.mp4" -c:a libfdk_aac -ac 2 -ab 128k -c:v libx264 -x264opts 'keyint=24:min-keyint=24:no-scenecut' -b:v 1500k -vf "scale=-2:720" -f mp4 -pass 1 -y /dev/null
       ffmpeg -y -i "${f}.mp4" -c:a libfdk_aac -ac 2 -ab 128k -c:v libx264 -x264opts 'keyint=24:min-keyint=24:no-scenecut' -b:v 1500k -vf "scale=-2:720" -f mp4 -pass 2 "${f}_1500.mp4"

       ffmpeg -y -i "${f}.mp4" -c:a libfdk_aac -ac 2 -ab 128k -c:v libx264 -x264opts 'keyint=24:min-keyint=24:no-scenecut' -b:v 800k -vf "scale=-2:540" -f mp4 -pass 1 -y /dev/null
       ffmpeg -y -i "${f}.mp4" -c:a libfdk_aac -ac 2 -ab 128k -c:v libx264 -x264opts 'keyint=24:min-keyint=24:no-scenecut' -b:v 800k -vf "scale=-2:540" -f mp4 -pass 2 "${f}_800.mp4"

       ffmpeg -y -i "${f}.mp4" -c:a libfdk_aac -ac 2 -ab 128k -c:v libx264 -x264opts 'keyint=24:min-keyint=24:no-scenecut' -b:v 400k -vf "scale=-2:360" -f mp4 -pass 1 -y /dev/null
       ffmpeg -y -i "${f}.mp4" -c:a libfdk_aac -ac 2 -ab 128k -c:v libx264 -x264opts 'keyint=24:min-keyint=24:no-scenecut' -b:v 400k -vf "scale=-2:360" -f mp4 -pass 2 "${f}_400.mp4"

       ffmpeg -y -i "${f}.mp4" -c:a libfdk_aac -ac 2 -ab 128k -c:v libx264 -x264opts 'keyint=24:min-keyint=24:no-scenecut' -b:v 200k -vf "scale=-2:180" -f mp4 -pass 1 -y /dev/null
       ffmpeg -y -i "${f}.mp4" -c:a libfdk_aac -ac 2 -ab 128k -c:v libx264 -x264opts 'keyint=24:min-keyint=24:no-scenecut' -b:v 200k -vf "scale=-2:180" -f mp4 -pass 2 "${f}_200.mp4"

       rm -f ffmpeg*log*

       mp4fragment "${f}_1500.mp4" "${f}_1500_fragmented.mp4"
       mp4fragment "${f}_800.mp4" "${f}_800_fragmented.mp4"
       mp4fragment "${f}_400.mp4" "${f}_400_fragmented.mp4"
       mp4fragment "${f}_200.mp4" "${f}_200_fragmented.mp4"

       rm -f "${f}_1500.mp4" "${f}_800.mp4" "${f}_400.mp4" "${f}_200.mp4"

       mp4dash -v -o "dash_${f}" "${f}_1500_fragmented.mp4" "${f}_800_fragmented.mp4" "${f}_400_fragmented.mp4" "${f}_200_fragmented.mp4"

       rm -f "${f}_1500_fragmented.mp4" "${f}_800_fragmented.mp4" "${f}_400_fragmented.mp4" "${f}_200_fragmented.mp4"

       fi

    done

    cd "$SAVEDIR"
  • MP4 to DASH (bash script)

    18 mars 2019, par Francesco Galgani

    I have a web site in which users can upload video files. I want to stream all of them using DASH to obtain an adaptive bitrate streaming. So I wrote a bash script (to run by cron) that converts all mp4 files to DASH, but it doesn’t work properly : what is wrong ?

    For example, using the following script, I obtained :
    https://www.informatica-libera.net/dash_faq/stream.mpd

    It validates, but it doesn’t play. I tested it on :
    http://dash-mse-test.appspot.com/dash-player.html?url=https%3A%2F%2Fwww.informatica-libera.net%2Fdash_faq%2Fstream.mpd&autoplay=on&adapt=auto&flavor=

    Thank you for any help.
    The code :

    #!/bin/bash

    # THIS SCRIPT CONVERTS EVERY MP4 (IN THE CURRENT FOLDER AND SUBFOLDER)
    # TO A MULTI-BITRATE VIDEO IN MP4-DASH
    # For each file "videoname.mp4" it creates a folder "dash_videoname"
    # containing a dash manifest file "stream.mpd" and subfolders containing
    # video segments.

    # mp4dash documentation and download: https://www.bento4.com/developers/dash/

    MYDIR=$(dirname $(readlink -f ${BASH_SOURCE[0]}))
    SAVEDIR=$(pwd)

    # Check programs
    if [ -z "$(which ffmpeg)" ]; then
       echo "Error: ffmpeg is not installed"
       exit 1
    fi

    if [ -z "$(which mp4dash)" ]; then
       echo "Error: mp4dash is not installed"
       exit 1
    fi

    cd "$MYDIR"

    TARGET_FILES=$(find ./ -type f -name "*.mp4")
    for f in $TARGET_FILES
    do
     f=$(basename "$f") # fullname of the file
     f="${f%.*}" # name without extension

     if [ ! -d "dash_${f}" ]; then
       echo "Converting \"$f\" to multi-bitrate video in MPEG-DASH"

       ffmpeg -y -i "${f}.mp4" -c:a libfdk_aac -ac 2 -ab 128k -c:v libx264 -x264opts 'keyint=24:min-keyint=24:no-scenecut' -b:v 1500k -vf "scale=-2:720" -f mp4 -pass 1 -y /dev/null
       ffmpeg -y -i "${f}.mp4" -c:a libfdk_aac -ac 2 -ab 128k -c:v libx264 -x264opts 'keyint=24:min-keyint=24:no-scenecut' -b:v 1500k -vf "scale=-2:720" -f mp4 -pass 2 "${f}_1500.mp4"

       ffmpeg -y -i "${f}.mp4" -c:a libfdk_aac -ac 2 -ab 128k -c:v libx264 -x264opts 'keyint=24:min-keyint=24:no-scenecut' -b:v 800k -vf "scale=-2:540" -f mp4 -pass 1 -y /dev/null
       ffmpeg -y -i "${f}.mp4" -c:a libfdk_aac -ac 2 -ab 128k -c:v libx264 -x264opts 'keyint=24:min-keyint=24:no-scenecut' -b:v 800k -vf "scale=-2:540" -f mp4 -pass 2 "${f}_800.mp4"

       ffmpeg -y -i "${f}.mp4" -c:a libfdk_aac -ac 2 -ab 128k -c:v libx264 -x264opts 'keyint=24:min-keyint=24:no-scenecut' -b:v 400k -vf "scale=-2:360" -f mp4 -pass 1 -y /dev/null
       ffmpeg -y -i "${f}.mp4" -c:a libfdk_aac -ac 2 -ab 128k -c:v libx264 -x264opts 'keyint=24:min-keyint=24:no-scenecut' -b:v 400k -vf "scale=-2:360" -f mp4 -pass 2 "${f}_400.mp4"

       ffmpeg -y -i "${f}.mp4" -c:a libfdk_aac -ac 2 -ab 128k -c:v libx264 -x264opts 'keyint=24:min-keyint=24:no-scenecut' -b:v 200k -vf "scale=-2:180" -f mp4 -pass 1 -y /dev/null
       ffmpeg -y -i "${f}.mp4" -c:a libfdk_aac -ac 2 -ab 128k -c:v libx264 -x264opts 'keyint=24:min-keyint=24:no-scenecut' -b:v 200k -vf "scale=-2:180" -f mp4 -pass 2 "${f}_200.mp4"

       rm -f ffmpeg*log*

       mp4fragment "${f}_1500.mp4" "${f}_1500_fragmented.mp4"
       mp4fragment "${f}_800.mp4" "${f}_800_fragmented.mp4"
       mp4fragment "${f}_400.mp4" "${f}_400_fragmented.mp4"
       mp4fragment "${f}_200.mp4" "${f}_200_fragmented.mp4"

       rm -f "${f}_1500.mp4" "${f}_800.mp4" "${f}_400.mp4" "${f}_200.mp4"

       mp4dash -v -o "dash_${f}" "${f}_1500_fragmented.mp4" "${f}_800_fragmented.mp4" "${f}_400_fragmented.mp4" "${f}_200_fragmented.mp4"

       rm -f "${f}_1500_fragmented.mp4" "${f}_800_fragmented.mp4" "${f}_400_fragmented.mp4" "${f}_200_fragmented.mp4"

       fi

    done

    cd "$SAVEDIR"
  • How to set fractional values for `seg_duration` when using ffmpeg's dash muxer ?

    29 décembre 2019, par agconti

    I’m trying to set a fractional value for seg_duration when using ffmepg’s dash muxer like the docs suggest. When I switch between integer decimal values, I don’t get different results. How can I set a fractional value for seg_duration ?

    • E.g. Running my command with seg_duration equal to 1 produces the same minBufferTime as using 0.01.
    • In the source, seg_duration is represented as an int64_t so I don’t see how you can pass a fraction to it.

    Here’s an example ffmpeg command to reproduce :

    ffmpeg -loglevel verbose \
    -i $INGESTION_PATH \
    -seg_duration 0.01 \
    -use_template 1 \
    -use_timeline 0 \
    -f dash $OUTPUT_PATH

    Here’s the snippet from the docs on seg_duration :

    seg_duration duration

    Set the segment length in seconds (fractional value can be set). The value is treated as average segment duration when use_template is enabled and use_timeline is disabled and as minimum segment duration for all the other use cases.