Recherche avancée

Médias (91)

Autres articles (44)

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

  • Dépôt de média et thèmes par FTP

    31 mai 2013, par

    L’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
    Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...)

Sur d’autres sites (3162)

  • Anomalie #4230 : Limite à la longueur des paramètres d’un modèle

    10 février 2021, par b b

    Si tout le monde est d’accord et que SPIP 3.3 est compatible PHP 7.3, on peut fermer non ? Sinon on attend la version de SPIP qui nécessitera PHP 7.3 mini et zou :p

    PS : j’ai bien ri avec le coup de guerre & paix en argument, merci :D

  • FFMPEG : How to avoid audio/video desync in output of crossfaded clips when input is variable frame rate video

    25 décembre 2018, par Anders Lunde

    I’m doing screen recordings of gameplay (Dota2) using my NVIDIA graphics card GeForce experience hardware recording (NVEC Encoder). This creates a variable frame rate output video. My NVIDIA settings are 60 fps 15000 kbps. I have paid a guy to make a program that generates scripts that given start/stop timepoints can extract clips from the video and merge them with crossfade. See example code below. The script works for many input recordings but fails often : The audio and video are desynchronized (usually audio delay) in many of the clips, ca 0.5 seconds. I think it fails more when frame rate dropped more during recording. He does not know how to fix the problem, and I wonder if anyone could point out if anything could be fixed in the script (example below) ?

    Processing speed is quite important (now making a 10 min ’highlight’ video takes ca 7-10 min). Solutions increasing that amount very much more is not of too big interest, unfortunately. His approach has been to work separately with audio and video and merge in the end. He already has a program to make ffmpeg code for working with different scenarios (also adding overlays, adding music, intro/outro) so it would be preferable with some easy fixes to his code and not dramatic redesigning of the logic. But if nothing else can fix the problem, a redesign in logic is ok. Using other tools than ffmpeg is also ok, but should be automatable (scripts/cli) and not increase processing times too much.

    Running the program "mediainfo" on the input video shows that framerate dropped quite low for this input video :

    Frame rate mode : Variable

    Frame rate : 60.000 FPS

    Minimum frame rate : 3.059 FPS

    Maximum frame rate : 63.739 FPS

    Full report here : https://pastebin.com/TX061Wih

    The input video can be downloaded from dropbox here (6 GB) :
    https://www.dropbox.com/s/ftwdgapazbi62pr/fullgame.mp4?dl=0

    Here the example of a script when asked to extract two clips from input video at 9:57 (41 sec length) and 15:45 (28 sec length) and crossfade merge them with a 0.5 crossfade time. There might be some code-remnants from options that are not used in this example (overlays, music, intro/outro). Using the input video above, this creates audio/video desync.

    6 commands excecuted in sequence :

    ffmpeg.exe -loglevel warning -ss 00:09:57 -i fullgame.mp4 -t 00:00:41 -filter_complex "[0:a]afade=t=out:st=40.5:d=0.5[a1]" -map "[a1]" -y out_temp_00.mp4.wav

    ffmpeg.exe -loglevel warning -i fullgame.mp4 -ss 00:09:57 -t 00:00:41 -an -vcodec copy -f mpegts -avoid_negative_ts make_zero -y out_temp_00.mp4.ts

    ffmpeg.exe -loglevel warning -ss 00:15:45 -i fullgame.mp4 -t 00:00:28 -filter_complex "[0:a]afade=t=in:st=0:d=0.5[a1]" -map "[a1]" -y out_temp_01.mp4.wav

    ffmpeg.exe -loglevel warning -i fullgame.mp4 -ss 00:15:45 -t 00:00:28 -an -vcodec copy -f mpegts -avoid_negative_ts make_zero -y out_temp_01.mp4.ts

    ffmpeg.exe -loglevel warning -i out_temp_00.mp4.wav -i out_temp_01.mp4.wav -y -filter_complex "[0:a]adelay=0|0[a0];[1:a]adelay=40500|40500[a1];[a0][a1]amix=inputs=2:dropout_transition=68.5,atrim=duration=68.5[outa0];[outa0]loudnorm[outa]" -map "[outa]" -ar 48000 -acodec aac -strict -2 fullgame_Output.mp4.aac

    ffmpeg.exe -loglevel warning -i out_temp_00.mp4.ts -i out_temp_01.mp4.ts -y -i fullgame_Output.mp4.aac  -filter_complex "[0:v]trim=start=0.5,setpts=PTS-STARTPTS[0c];[1:v]trim=start=0.5,setpts=PTS-STARTPTS[1c];[0:v]trim=40.5:41,setpts=PTS-STARTPTS[fo];[1:v]trim=0:0.5[fi];[fi]format=pix_fmts=yuva420p,fade=t=in:st=0:d=0.5:alpha=1[z];[fo]format=pix_fmts=yuva420p,fade=t=out:st=0:d=0.5:alpha=1[x];[z]fifo[w];[x]fifo[q];[q][w]overlay[r];[0c][r][1c]concat=n=3[outv]" -map "[outv]" -map 2:a -shortest -acodec copy -vcodec libx264 -preset ultrafast -b 15000k -aspect 1920:1080 fullgame_Output.mp4

    P.S.

    I already asked for help at an ffmpeg chat room. One guy said he knew what the problem was, but didnt know how to fix it(?) :

    [00:10] <kepstin> oh, wait, you're using -vcodec copy
    [00:10] <kepstin> that explains everything.
    [00:10] <kepstin> when you're using -vcodec copy, the start time (set with -ss) is rounded to the nearest keyframe
    [00:10] <kepstin> it's not exact
    [00:11] <kepstin> depending on the keyframe interval, this will result in possibly quite large shifts
    [00:11] <kepstin> (also, your commands are applying audio filters on commands with -an, which is confusing/contradictory)
    [00:12] <birdboy88> so the problem is that the audio temporary clips are not being extracted from the same excat timepoints?
    [00:13] <kepstin> birdboy88: yeah, your audio is being re-encoded to wav so it's being cut sample-accurate, but the video's not being precisely cut.
    [00:16] <birdboy88> kepstin: so I need to use slow seek (?) to extract video accurately? Or somehow extract audio only where there are video keyframes?
    [00:17] <kepstin> birdboy88: i don't know how to extract audio starting at video keyframes with ffmpeg cli. You're already doing slow seek, which doesn't help (you should move the -ss option to before the -i option to speed it up)
    [00:17] <kepstin> if you want accurate video cutting when saving to a file, you have to re-encode the video
    [00:18] <kepstin> (doing this in a single ffmpeg command means you don't have to save to a file, so you can avoid the issue)
    [00:18] * kepstin is off for a bit now
    </kepstin></kepstin></kepstin></birdboy88></kepstin></birdboy88></kepstin></kepstin></kepstin></kepstin></kepstin></kepstin>

    EDIT :
    Everything is done with the latest ffmpeg version.

    I was unable to get Gyan’s code to work. It always loses some audio (audio is either 40.5 or 27.5, so only one audio is used). This is the only one working for me (changes were adelay=40500|40500 and amix=inputs=2[a0] ;[a0]loudnorm) :

    ffmpeg -i fullgame.mp4 -filter_complex "[0]split=2[vpre][vpost];
    [0]asplit=2[apre][apost];
    [vpre]trim=start='00:09:57':duration='00:00:41',setpts=PTS-STARTPTS[vpre-t];
    [apre]atrim=start='00:09:57':duration='00:00:41',asetpts=PTS-STARTPTS,afade=t=out:st=40.5:d=0.5[apre-t];
    [vpost]trim=start='00:15:45':duration='00:00:28',setpts=PTS-STARTPTS,format=yuva420p,fade=t=in:st=0:d=0.5:alpha=1,setpts=PTS+40.5/TB[vpost-t];
    [apost]atrim=start='00:15:45':duration='00:00:28',asetpts=PTS-STARTPTS,afade=t=in:st=0:d=0.5,adelay=40500|40500[apost-t];
    [vpre-t][vpost-t]overlay[v];
    [apre-t][apost-t]amix=inputs=2[a0];[a0]loudnorm[a]" -map "[v]" -map "[a]" -y -c:v libx264 -preset ultrafast -b:v 15000k -aspect 1920:1080 -c:a aac fullgame_Output.mp4

    Then I tried using a similar setup but with 3 clips, but on one machine I got error : "Error while filtering : Cannot allocate memory". And my 16 GB memory machine the processing speed is 0.02x ! Any way to avoid this ? This is the code I tried :

    ffmpeg -i fullgame.mp4 -filter_complex "[0]split=3[vpre][vpost][v3];
    [0]asplit=3[apre][apost][a3];
    [vpre]trim=start=357:duration=41,setpts=PTS-STARTPTS[vpre-t];
    [apre]atrim=start=357:duration=41,asetpts=PTS-STARTPTS,afade=t=out:st=40.5:d=0.5[apre-t];
    [vpost]trim=start=795:duration=28,setpts=PTS-STARTPTS,format=yuva420p,fade=t=in:st=0:d=0.5:alpha=1,fade=t=out:st=40.5:d=0.5:alpha=1,setpts=PTS+40.5/TB[vpost-t];
    [apost]atrim=start=795:duration=28,asetpts=PTS-STARTPTS,afade=t=in:st=0:d=0.5,afade=t=out:st=27.5:d=0.5,adelay=40500|40500[apost-t];
    [v3]trim=start=95:duration=30,setpts=PTS-STARTPTS,format=yuva420p,fade=t=in:st=0:d=0.5,setpts=PTS+41Û0.5/TB[v3-t];
    [a3]atrim=start=95:duration=30,asetpts=PTS-STARTPTS,afade=t=in:st=0:d=0.5,adelay=68500|68500[a3-t];
    [vpre-t][vpost-t]overlay[v1];
    [v1][v3-t]overlay[v];
    [apre-t][apost-t][a3-t]amix=inputs=3[a0];
    [a0]loudnorm[a]" -map "[v]" -map "[a]" -y -c:v libx264 -preset ultrafast -b:v 15000k -aspect 1920:1080 -c:a aac fullgame_Output.mp4
  • Museum of Multimedia Software, Part 1

    14 août 2010, par Multimedia Mike — Software Museum

    Many years ago, I found a boneyard of old software, much of it related to the creation and processing of multimedia. I was permitted to liberate anything of my choosing from this cache. This is the same pile where I found this Apple QuickTime format spec as well as this perfect form factor floppy disc box. So I have been sitting on the stuff for awhile.

    I thought I might get the chance to study it a bit more closely one day. But now I’m interested in getting rid of it. Before I do, it’s more or less traditional for me to photograph it and post it on one blog or another. Also, if you know of any software collection groups who would be interested in taking this stuff off my hands, do let me know.

    As usual, click a picture for a much larger image.

    Paracomp FilmMaker
    This is easily the most distinctive piece in this collection and it’s easy to see why— the software is packaged in a film cannister. Still sealed, and I don’t have a good reason to open it now.



    "The Professional Animation/Presentation Program for the Macintosh." No copyright date on the packaging, though the front does mention a 1990 award. System requirements : Mac OS 6.0.5, 5 MB RAM, 32-bit QuickDraw, math coprocessor.

    Strata VideoShop
    Version 4.5 (and not for resale), still shrink-wrapped. "The Digital Video Editor for Creative Professionals."



    System requirements : PowerMac with 5 MB RAM (8 MB recommended), Mac OS 7.5.

    BeatWare e-Picture
    "The Professional’s Choice for Designing Animated Web Graphics." Claims a best of show award for 1999 MacWorld New York Expo.



    System requirements : PowerMac with Mac OS 8, 32MB RAM, 10 MB of HD space and a 256-color adapter.

    BeatWare eZ-Motion
    Another offering from BeatWare. "The fastest and easiest way to create animations and graphics for the Web."



    This one is for either Mac or Windows. 32 MB RAM and 25 MB HD space required. Works with Mac OS 8.5, 8.6, or 9.0, or Windows 98, NT, or 2000.

    Much more to come...