Recherche avancée

Médias (1)

Mot : - Tags -/stallman

Autres articles (63)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

Sur d’autres sites (9009)

  • How to extract frames in sequence as PNG images from ffmpeg stream ?

    7 janvier, par JamesJGoodwin

    I'm trying to create a program that would capture my screen (a game to be precise) using ffmpeg and stream frames to NodeJS for live processing. So, if the game runs at 60 fps then I expect ffmpeg to send 60 images per second down to stdout. I've written a code for that

    


        import { spawn as spawnChildProcess } from 'child_process';

    const videoRecordingProcess = spawnChildProcess(
      ffmpegPath,
      [
        '-init_hw_device',
        'd3d11va',
        '-filter_complex',
        'ddagrab=0,hwdownload,format=bgra',
        '-c:v',
        'png',
        '-f',
        'image2pipe',
        '-loglevel',
        'error',
        '-hide_banner',
        'pipe:',
      ],
      {
        stdio: 'pipe',
      },
    );

    videoRecordingProcess.stderr.on('data', (data) => console.error(data.toString()));

    videoRecordingProcess.stdout.on('data', (data) => {
      fs.promises.writeFile(`/home/goodwin/genshin-repertoire-autoplay/imgs/${Date.now()}.bmp`, data);
    });


    


    Currently I'm streaming those images onto disk for debugging and it's almost working except that the image is cropped. Here's what's going on. I get 4 images saved on disk :

    


      

    1. Valid image that is 2560x1440, but only 1/4 or even 1/5 of the screen is present at the top, the remaining part of the image is empty (transparent)
    2. 


    3. Broken image that won't open
    4. 


    5. Broken image that won't open
    6. 


    7. Broken image that won't open
    8. 


    


    This pattern is nearly consistent. Sometimes it's 3, sometimes 4 or 5 images between valid images. What did I do wrong and how do I fix it ? My guess is that ffmpeg is streaming images in chunks, each chunk represents a part of the frame that was already processed by progressive scan. Though I'm not entirely sure if I should try and process it manually. There's gotta be a way to get fully rendered frames in one piece sequentially.

    


  • Capture xvfb stream from docker container using webRTC [closed]

    5 septembre 2023, par HIMANSHU SAHU

    I have a windows game .exe file and running the game inside a docker container (In EC2 linux VM) using xvfb version of X server. Now I want to Capture X server stream from docker container to my local system using webRTC. What should I do for the same ?

    


    Here's my Dockerfile :

    


    FROM ubuntu:22.04

    


    #Specify a workdir, to better organize your files inside the container.

    


    WORKDIR /app

    


    #Update package lists and install required packages

    


    RUN apt-get update
RUN apt-get install -y wget software-properties-common gnupg2 winbind xvfb
RUN apt-get -qq update -y && apt-get -qq install -y —no-install-recommends \
build-essential cpp cpp-9 g++-9 gcc-9 gcc-10 g++-10 gcc-multilib gcc-mingw-w64
    
git-core
    
dkms
    
ffmpeg

    


    #Add Wine repository and install

    


    RUN dpkg —add-architecture i386
RUN mkdir -pm755 /etc/apt/keyrings
RUN wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
RUN wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources
RUN apt-get update

    


    RUN apt-get -qq update -y && apt-get -qq install -y —no-install-recommends
    
alsa-utils
    
libasound2-dev libdbus-1-dev libfontconfig-dev libfreetype-dev libgnutls28-dev libldap-common
    
libodbc1 libv4l-0 libjpeg-dev libldap2-dev libpng-dev libtiff-dev libgl-dev libunwind-dev libxml2-dev
    
libxslt1-dev
    
libfaudio-dev
    
libmpg123-dev
    
libosmesa6-dev
    
libsdl2-dev
    
libudev-dev
    
libvkd3d-dev \
libvulkan-dev

    


    RUN apt-get -qq update -y && apt-get -qq install -y —no-install-recommends
    
ocl-icd-opencl-dev
    
bison
    
schroot
    
debootstrap
    
flex

    


    RUN apt-get -qq update -y && apt-get -qq install -y —no-install-recommends
    
libmpg123-dev:i386
    
libosmesa6-dev:i386
    
libvulkan-dev:i386
    
ocl-icd-opencl-dev:i386
    
bison:i386
    
flex:i386

    


    RUN apt-get install -y linux-firmware

    


    #Install additional packages and configure Wine

    


    RUN apt-get install —no-install-recommends -y winehq-stable winetricks cabextract

    


    RUN winetricks msxml6

    


    #Cleanup unnecessary files

    


    RUN apt-get clean
RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

    


    ENV WINEDEBUG=-d3d

    


    COPY app /root/catalyst
COPY overcooked_drm-free_20_566540 /root/overcooked_drm-free_20_566540
COPY startup.sh /root/startup.sh
RUN chmod 755 /root/startup.sh

    


    EXPOSE 9000

    


    CMD ["/root/startup.sh"]

    


    Startup.sh :

    


    # !/usr/bin/env bash

    


    sleep 1s
Xvfb :1 -screen 0 1024x768x24 &

    


    glxinfo -force-d3d9
ffmpeg -video_size 1024x768 -framerate 25 -f x11grab -i :1 -t 120 outputofscreen1.mp4 &

    


    DISPLAY=:1 wine /root/overcooked_drm-free_20_566540/Overcooked.exe -force-d3d11

    



    


    As of now I'm capturing the xserver stream using ffmpeg and storing the same in .mp4 file. Now I want to play the game on my local machine by using webRTC for connection and streaming.

    


    I have run the .exe in linux using wine and xvfb server and captured the stream using ffmpeg and stored in a .mp4 file.

    


  • avcodec/sanm : implement STOR/FTCH for ANIMv1

    14 mars, par Manuel Lauss
    avcodec/sanm : implement STOR/FTCH for ANIMv1
    

    Handle STOR/FTCH the same way the RA1 game engine does :
    On STOR, save the next following FOBJ (not the decoded image)
    in a buffer ; decode it on FTCH.
    The RA1 codecs and the fobj handler now take an explicit
    GetByteContext in order to be able to replay stored data.

    Used extensively by Rebel Assault 1 for e.g. backgrounds and
    the cockpit overlay.

    For ANIMv2 keep the current system to store the decoded image, as
    replaying a FOBJ would not work with codecs37/47/48 due to sequence
    violations.

    Signed-off-by : Manuel Lauss <manuel.lauss@gmail.com>

    • [DH] libavcodec/sanm.c