Recherche avancée

Médias (3)

Mot : - Tags -/pdf

Autres articles (70)

  • MediaSPIP Core : La Configuration

    9 novembre 2010, par

    MediaSPIP Core fournit par défaut trois pages différentes de configuration (ces pages utilisent le plugin de configuration CFG pour fonctionner) : une page spécifique à la configuration générale du squelettes ; une page spécifique à la configuration de la page d’accueil du site ; une page spécifique à la configuration des secteurs ;
    Il fournit également une page supplémentaire qui n’apparait que lorsque certains plugins sont activés permettant de contrôler l’affichage et les fonctionnalités spécifiques (...)

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

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, 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 (9899)

  • Turn an FFmpeg command into an FFmpeg wasm exec function

    30 novembre 2024, par SeriousLee

    I have this gnarly FFmpeg command :

    


    ffmpeg -i music.mp3 -i video.mp4 -i speech.mp3 -filter_complex "[0:a]atrim=0:$(ffprobe -i speech.mp3 -show_entries format=duration -v quiet -of csv=p=0),volume=0.08[trimmed_music]; [2:a]volume=2[speech]; [1:v]loop=-1,trim=duration=$(ffprobe -i speech.mp3 -show_entries format=duration -v quiet -of csv=p=0),setdar=9/16[vout]; [trimmed_music][speech]amix=inputs=2:duration=first[aout]" -map "[vout]" -map "[aout]" -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 192k final_output.mp4


    


    What it does is :

    


      

    • Get the duration of a speech.mp3 file
    • 


    • Crop a video.mp4 to portrait dimensions
    • 


    • Trim a longer music.mp3 file to the duration of the speech
    • 


    • Loop a the video and trim the final loop so that the whole thing matches the duration of the speech
    • 


    • Adjust the volume of the music and speech
    • 


    • Combine them all into a single video with talking (speech) and music
    • 


    


    I can't figure out how to run it using the FFmpeg wasm. I realise ffprobe isn't a thing with the wasm so we'll have to find a different way to get the duration of the speech.mp3 by probably breaking it up into 2 or more exec functions, but I have no idea how to do that, which is why I'm here asking for help.

    


    For reference, here's the function into which I want to insert this exec function, but feel free to change it however needed. And let me know if I need to provide more information.

    


      const processVideo = async (speech, video, music) => {
    const ffmpeg = new FFmpeg();

    // ffmpeg loading code goes here, assume that part works without issue

    await ffmpeg.writeFile("video.mp4", new Uint8Array(video));
    await ffmpeg.writeFile("speech.mp3", new Uint8Array(speech));
    await ffmpeg.writeFile("music.mp3", new Uint8Array(music));

    await ffmpeg.exec([
      // command(s) should go here
    ]);

    const fileData = await ffmpeg.readFile("final_output.mp4");
    const blob = new Blob([fileData.buffer], { type: "video/mp4" });
    const blobUrl = URL.createObjectURL(blob);

    return blobUrl;
  };


    


  • Back porting ffmpeg.dll from electron for windows xp by disassembling

    28 juillet 2024, par Oosuke Ren

    I've recently gotten into a really interesting project of having a fully functional (and as futuristic as possible) physical retro gaming machine with windows xp. I had found One Core Api that successfully works to allow for some programs to work that otherwise wouldn't have. One of them is electron (5.0.13). Thanks to a vast testing between a VM with the kernel extender and a vanilla XP, I found out that the only thing stopping me from succeeding is because it's dependent on an EXTREMELY specific version/fork of ffmpeg (Chromium fork of ffmpeg 4.1) . Due to that being a relatively old fork/version, the build tools/links for some of the stuff are nonexistent right now, so even if I do have the fork locally with all the instructions, I can't build it. (and if I do I have to patch Win Vista+ Api functions, with one custom stub dll I have)

    


    AcquireSRWLockExclusive InitializeConditionVariable SleepConditionVariableSRW InitOnceBeginInitialize InitOnceComplete InitializeSRWLock ReleaseSRWLockExclusive WakeAllConditionVariable WakeConditionVariable

    


    Since I can't custom build ffmpeg I have to patch it's calls by redirecting them to my custom dll that includes these back ported functions and more.

    


    I tried many different ways => IDA Pro, Ghidra, objconv, currently am the closest with "DLL to C"

    


    Ida Pro and Ghidra seem to not be creating assembly code that I'd be able to assemble back after patching.

    


    objconv produces a really accurate disassembly, but the issue is it doesn't have an assembler. And the produced .asm won't assemble with Fasm, masm or nasm

    


    As for DLL to C-> successfully created a quite presentable VS project, the project successfully compiles with only one warning, the byte sizes is quite similar, the problem is => the functions are getting wrongly directed (towards wrong functions in my dll- and thus the ones needed are undefined) And this is too deep to be able to tell if it's a VS version issue, wrong code implementation or if just DLL to C has wrongly disassembled the logic.

    


    Question is, is my last option remaining to manually edit the HEXES of the Import Address Table and Import Names so they get redirected ? (the problem is my knowledge in Assembly isn't too good, so I'm not sure if that's all I'd have to do, and even if so, I have a feeling I'd mess up the Virtual Addresses or something.

    


  • How to clone last frame when using overlay in ffmpeg ? [closed]

    6 mai 2024, par mikezang

    I use this code to slide previous and next pages up, this is no problems, can I remove png file 1970~1979-last.png and use the last frame of video file 1970~1979.mp4 to instead it ?

    


    script-01.txt

    


    color=white:864x504[c];
[0:v]scale=864:504:force_original_aspect_ratio=decrease,pad=864:504:-1:-1,setsar=1[s0];
[1:v]scale=864:504:force_original_aspect_ratio=decrease,pad=864:504:-1:-1,setsar=1[s1];
[c][s0]overlay=y=0-h*t[c];
[c][s1]overlay=y='if(between(t,0,18),max(H-h*t,0),max(0-h*(t-18),0-H))'[v],
[v]tpad=stop_mode=clone:stop_duration=10[s2];
[s2]drawtext=fontfile='/WINDOWS/Fonts/Arial.ttf':text='%{eif\:18-t\:d}':
box=1:boxborderw=10:boxcolor=orange@0.4:
x=w-tw-10:y=10:fontsize=24:fontcolor=red:enable='between(t,8,18)';


    


    script-01.bat

    


    ffmpeg -hide_banner -loglevel fatal ^
    -loop 1 -i "C:\myimages\1970~1979-last.png" ^
    -i "C:\myvideos\years\1980~1989.mp4" ^
    -filter_complex_script script-01.txt ^
    -t 18 -y v01.mp4


    


    I got it what I only need video files and capture last frame by pipe line to next step, so that the last frame image never neede ! Though the first slide has little problem when countdown finished !

    


    script-01.bat

    


    ffmpeg -hide_banner -loglevel fatal ^
    -sseof -0.03 -i "C:\myvideos\years\1970~1979.mp4" ^
    -vframes 1 -c:v png -f image2pipe - | ffmpeg  ^
    -hide_banner -loglevel fatal -i - ^
    -i "C:\myvideos\years\1980~1989.mp4" ^
    -filter_complex_script script-01.txt ^
    -t 18 -y v01.mp4