
Recherche avancée
Médias (1)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
Autres articles (63)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Creating farms of unique websites
13 avril 2011, parMediaSPIP 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, parFormulaire 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 JamesJGoodwinI'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 :


- 

- 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)
- Broken image that won't open
- Broken image that won't open
- Broken image that won't open










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 SAHUI 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 Laussavcodec/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>