Recherche avancée

Médias (17)

Mot : - Tags -/wired

Autres articles (111)

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

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

Sur d’autres sites (15312)

  • FFMPEG - batch extracting media duration and writing to a text file

    3 septembre 2015, par lyrically wicked

    I have ten media files in a folder. I want to create a text file containing two columns - filename and its duration (seconds) :

    video1.mp4|300 seconds
    video2.mp4|360 seconds
    video3.mp4|420 seconds
    ...
    audio10.wav|120 seconds

    I did not find any similar question on the Web, so I don’t have any hint of how to do this...

  • ffmpeg images to video with different start times and durations

    25 mai 2018, par Rich

    I’ve recently learned of FFMPEG’s existence and I am trying to use it on my wordpress site.

    On the site I am working on a html/php/js form page that lets users upload pictures, and set when the image shows and for how long.

    Right now the code I have is only showing one image for the entire video.

    <?php if (isset($_POST['button'])) {
    echo shell_exec('ffmpeg -t '.$cap_1.' -i /myurl/beach-1866431.jpg -t '.$cap_2.' -i /myurl/orlando-1104481-1.jpg -filter_complex "scale=1280:-2" -i /myurl/audio.mp3 -c:v libx264 -pix_fmt yuv420p -t 30 -y /myurl/'.$v_title.'.mp4 2>&1');
    } ?>

    I tried setting "-t" for the duration with my php variables but nothing changes and I cant figure out what to use for the start time of each image.

    Also, when writing shell_exec commands, instead of it all being on one line, is there a way to write working command code in php files with line breaks ? For example -

    <?php if (isset($_POST['button'])) {
       echo shell_exec('ffmpeg -t '.$cap_1.' -i /myurl/beach-1866431.jpg
       -t '.$cap_2.' -i /myurl/orlando-1104481-1.jpg
       -filter_complex "scale=1280:-2"
       -i /myurl/audio.mp3
       -c:v libx264 -pix_fmt yuv420p -t 30 -y /myurl/'.$v_title.'.mp4 2>&1');
            } ?>

    EDIT

    So far the concat text file seems to work, however I do not know how to set the start times for each image ---

    ffconcat version 1.0
    file /path/beach-1866431.jpg
    duration 3
    file /path/orlando-1104481-1.jpg
    duration 5
    file /path/beach-1866431.jpg

    And ffmpeg command -

    shell_exec('ffmpeg -f concat -safe 0 -i /path/file.txt -filter_complex "scale=1280:-2" -i /path/audio.mp3 -c:v libx264 -pix_fmt yuv420p -t 30 -y /path/'.$v_title.'.mp4 2>&1');

    EDIT 2

    Using the concat method suggested, my code now looks like this —

    <?php if (isset($_POST['button'])) {
    echo shell_exec('ffmpeg \
    -loop 1 -framerate 24 -t 10 -i goldmetal.jpg \
    -i 3251.mp3 \
    -loop 1 -framerate 24 -t 10 -i cash-register-1885558.jpg \
    -loop 1 -framerate 24 -t 10 -i ice-1915849.jpg \
    -filter_complex "[0:v][1:a][2:v][3:v]concat=n=4:v=1:a=1[v][a]" -map "[v]" -map "[a]" -c:v libx264 /path/'.$v_title.'.mp4 2>&1');
    } ?>

    But I’m getting this error —

    **Stream specifier ':v' in filtergraph description [0:v][1:a][2:v][3:v]concat=n=4:v=1:a=1[v][a] matches no streams.**

    EDIT 3

    I almost got it working as needed, using 2 commands, one for the images and fade, the other to combine the audio. The only issue I’m having is changing the time each image shows up. —

    echo shell_exec('ffmpeg \
    -loop 1 -t 5 -i '.$thepath .'/'.$v_pix1.' \
    -loop 1 -t 5 -i ' .$thepath . '/cash-register-1885558.jpg \
    -loop 1 -t 5 -i ' .$thepath . '/ice-1915849.jpg \
    -loop 1 -t 5 -i '.$thepath .'/'.$v_pix1.' \
    -loop 1 -t 5 -i ' .$thepath . '/ice-1915849.jpg \
    -filter_complex \
    "[0:v]setpts=PTS-STARTPTS,fade=t=out:st=4:d=1,scale=1280:720,setdar=16/9,setsar=sar=300/300[v0]; \
    [1:v]setpts=PTS-STARTPTS,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1,scale=1280:720,setdar=16/9,setsar=sar=300/300[v1]; \
    [2:v]setpts=PTS-STARTPTS,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1,scale=1280:720,setdar=16/9,setsar=sar=300/300[v2]; \
    [3:v]setpts=PTS-STARTPTS,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1,scale=1280:720,setdar=16/9,setsar=sar=300/300[v3]; \
    [4:v]setpts=PTS-STARTPTS,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1,scale=1280:720,setdar=16/9,setsar=sar=300/300[v4]; \
    [v0][v1][v2][v3][v4]concat=n=5:v=1:a=0,format=yuv420p[v]" -map "[v]" -y '.$thepath .'/fadeout.mp4 2>&1');


    echo shell_exec('ffmpeg \
    -i '.$thepath .'/fadeout.mp4 \
    -i '.$thepath .'/3251.mp3 \
    -filter_complex "[0:v:0][1:a:0] concat=n=1:v=1:a=1 [vout] [aout]" -map "[vout]" -map "[aout]" -c:v libx264 -r 1 -y '.$thepath .'/mergetest.mp4 2>&1');
  • Is ffmpeg using a buffer ? Why arent the filename and drawtext times matching ?

    6 octobre 2018, par Ian Rubenstein

    I am using ffmpeg to

    1) capture images from a webcam as jpeg with the timestamp in the filename and as an overlay with drawtext

    ffmpeg -s 1920x1080 -framerate 20 -i /dev/video1 -f image2 -ss 8 -s 1920x1080 -qscale:v 1 -r 1 -strftime 1 -vf setpts=.2*PTS, drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf: text='%{localtime\:%Y-%m-%d_%T}': fontcolor=white: fontsize=24: box=1: boxcolor=black@0.5: boxborderw=5: x=(w-text_w)*.04: y=(h-text_h)*.96 /home/ian/netdrives/antares/Pictures/plant_lapse/ir/20181004/plant.%Y%m%d_%H%M%S.jpeg

    2) combine the images into a timelapse video

    C:/Users/Ian/apps/ffmpeg/bin/ffmpeg -f concat -safe 0 -i processingfilelist.ir_20181004.txt -c:v h264_nvenc -rc constqp -qp 38 -s 1920x1080 -filter:v format=yuv420p,fps=60,scale=iw/1.5:-1,yadif=0:-1:0,hqdn3d plant_lapse_ir_20181004_074451_dusk.mp4

    Its generally working, but I noticed the filenames are one frame ahead of the timestamp shown in the overlay.

    Example Image - Im not smart enough to know which is the right time, just to know that I’d like them to match. Any ideas why they don’t ?