Recherche avancée

Médias (0)

Mot : - Tags -/configuration

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (112)

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

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

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

Sur d’autres sites (15282)

  • How can I make a slideshow of images into a video with each image having a specific length of frames to be shown ?

    24 novembre 2013, par jett

    Right now I am using something like this to create a video from a selection of images :

    avconv -i input%05d.png -r 24 -vsync cfr -c:v libx264 output.mp4

    But I want each picture to have a separate amount of time spent on it, so if I have 5 images I might want :

    [10frames, 40frames, 5frames, 80frames, 10frames]

    To be specified. The only thing I could find that may be a solution is to create five separate videos- set the length then merge them together, is this my only choice here ?

  • Quality problem when converting JPEG to GIF using FFmpeg

    25 octobre 2018, par yyms

    I created a GIF using FFmpeg as shown below.
    However, there is a problem with GIF quality. As you can see in the attachment, there are square particles on the GIF surface. I want to improve this.

    • Is it possible to solve this problem with the FFmpeg default option without using the palette option ?

    Can I erase the repeating rectangle pattern shown in the GIF ?

    • "-f", "image2", "-i", "load_path", "-vf", "scale=720x450", "-y", "save_path"
    <img src="local/cache-vignettes/L300xH180/I2Stygif-c60c60e-d4d96.png?1541836614" width='300' height='180' />

    enter image description here

  • Xvfb records a black screen

    11 mai 2024, par Vivek

    I am trying a record a video by running xvfb inside a docker image. No matter what I do it gives me black screen.

    &#xA;

    Screen size same in xvfb and ffmpeg and puppeteer.

    &#xA;

    It will would really great if someone can help.

    &#xA;

    &#xA;start-xvfb.sh&#xA;---------------------------------------------------------------------&#xA;# Start Xvfb&#xA;Xvfb :99 -screen 0 1280x720x24 &amp;&#xA;&#xA;# Set the display environment variable&#xA;export DISPLAY=:99&#xA;&#xA;# Run the application (assuming it starts with npm start)&#xA;npm run dev&#xA;

    &#xA;

    Dockerfile

    &#xA;

    FROM node:lts-alpine3.19&#xA;&#xA;# Install dependencies using apk&#xA;RUN apk update &amp;&amp; \&#xA;    apk add --no-cache \&#xA;    gnupg \&#xA;    ffmpeg \&#xA;    libx11 \&#xA;    libxcomposite \&#xA;    libxdamage \&#xA;    libxi \&#xA;    libxtst \&#xA;    nss \&#xA;    cups-libs \&#xA;    libxrandr \&#xA;    alsa-lib \&#xA;    pango \&#xA;    gtk&#x2B;3.0 \&#xA;    xvfb \&#xA;    bash \&#xA;    curl \&#xA;    udev \&#xA;    ttf-freefont \&#xA;    chromium \&#xA;    chromium-chromedriver&#xA;&#xA;# Set working directory&#xA;WORKDIR /app&#xA;&#xA;# Copy package.json and install dependencies&#xA;COPY package.json .&#xA;RUN npm install --force&#xA;&#xA;# Copy remaining source code&#xA;COPY . .&#xA;&#xA;# Add a script to start Xvfb&#xA;COPY start-xvfb.sh /app/start-xvfb.sh&#xA;RUN chmod &#x2B;x /app/start-xvfb.sh&#xA;&#xA;# Expose the port&#xA;EXPOSE 4200&#xA;EXPOSE 3000&#xA;&#xA;# Command to start Xvfb and run the application&#xA;CMD ["./start-xvfb.sh"]&#xA;

    &#xA;

    Below

    &#xA;

    this is code code that launches puppeteer and from a nodejs application and create spawns a process for ffmpeg

    &#xA;

    export class UnixBrowserRecorder implements Recorder {&#xA;&#xA;  url = &#x27;https://stackoverflow.com/questions/3143698/uncaught-syntaxerror-unexpected-token&#x27;; // Replace with your URL&#xA;  outputFilePath = `/app/output_video.mp4`; // Output file path within the container&#xA;  durationInSeconds = 6; // Duration of the video in seconds&#xA;  resolution = &#x27;1280x720&#x27;;&#xA;&#xA;  public async capture(): Promise<string> {&#xA;    const browser = await puppeteer.launch({&#xA;      args: [&#xA;        &#x27;--no-sandbox&#x27;, // Required in Docker&#xA;        &#x27;--disable-setuid-sandbox&#x27;, // Required in Docker&#xA;        &#x27;--disable-dev-shm-usage&#x27;, // Required in Docker&#xA;        &#x27;--headless&#x27;, // Run browser in headless mode&#xA;        &#x27;--disable-gpu&#x27;, // Disable GPU acceleration&#xA;        `--window-size=${this.resolution}` // Set window size&#xA;      ],&#xA;      executablePath: &#x27;/usr/bin/chromium&#x27; // Specify the path to Chromium executable&#xA;    });&#xA;&#xA;    const page = await browser.newPage();&#xA;    await page.goto(this.url);&#xA;&#xA;    await page.screenshot({&#xA;      "type": "png", // can also be "jpeg" or "webp" (recommended)&#xA;      "path": `/app/screenshot.png`,  // where to save it&#xA;      "fullPage": true,  // will scroll down to capture everything if true&#xA;    });&#xA;&#xA;    //ffmpeg -video_size `DISPLAY=:5 xdpyinfo | grep &#x27;dimensions:&#x27;|awk &#x27;{print $2}&#x27;` -framerate 30 -f x11grab -i :5.0&#x2B;0,0 output.mpg&#xA;&#xA;    const ffmpegProcess = spawn(&#x27;ffmpeg&#x27;, [&#xA;      &#x27;-video_size&#x27;, this.resolution,&#xA;      &#x27;-framerate&#x27;, &#x27;30&#x27;,&#xA;      &#x27;-f&#x27;, &#x27;x11grab&#x27;,&#xA;      &#x27;-i&#x27;, &#x27;:99&#x27;, // Use display :99 (assuming Xvfb is running on this display)&#xA;      &#x27;-t&#x27;, this.durationInSeconds.toString(),&#xA;      &#x27;-c:v&#x27;, &#x27;libx264&#x27;,&#xA;      &#x27;-loglevel&#x27;, &#x27;debug&#x27;,&#xA;      &#x27;-pix_fmt&#x27;, &#x27;yuv420p&#x27;,&#xA;      this.outputFilePath&#xA;    ]);&#xA;&#xA;    // Log ffmpeg output&#xA;    ffmpegProcess.stdout.on(&#x27;data&#x27;, data => {&#xA;      console.log(`ffmpegProcess stdout: ${data}`);&#xA;    });&#xA;&#xA;    ffmpegProcess.stderr.on(&#x27;data&#x27;, data => {&#xA;      console.error(`ffmpegProcess stderr: ${data}`);&#xA;    });&#xA;&#xA;    // Handle ffmpegProcess process exit&#xA;    ffmpegProcess.on(&#x27;close&#x27;, code => {&#xA;      console.log(`ffmpeg process exited with code ${code}`);&#xA;    });&#xA;&#xA;    // Wait for the duration to complete&#xA;    await new Promise(resolve => setTimeout(resolve, this.durationInSeconds * 1000));&#xA;&#xA;    // Close the FFmpeg stream and process&#xA;    ffmpegProcess.stdin.end();&#xA;    // Close Puppeteer&#xA;    await page.close();&#xA;    await browser.close();&#xA;&#xA;    return "Video generated successfully";&#xA;  }&#xA;}&#xA;</string>

    &#xA;

    enter image description here

    &#xA;