
Recherche avancée
Médias (91)
-
DJ Z-trip - Victory Lap : The Obama Mix Pt. 2
15 septembre 2011
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Matmos - Action at a Distance
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
DJ Dolores - Oslodum 2004 (includes (cc) sample of “Oslodum” by Gilberto Gil)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Danger Mouse & Jemini - What U Sittin’ On ? (starring Cee Lo and Tha Alkaholiks)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Cornelius - Wataridori 2
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
The Rapture - Sister Saviour (Blackstrobe Remix)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (55)
-
Participer à sa traduction
10 avril 2011Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
Actuellement MediaSPIP n’est disponible qu’en français et (...) -
Les statuts des instances de mutualisation
13 mars 2010, parPour des raisons de compatibilité générale du plugin de gestion de mutualisations avec les fonctions originales de SPIP, les statuts des instances sont les mêmes que pour tout autre objets (articles...), seuls leurs noms dans l’interface change quelque peu.
Les différents statuts possibles sont : prepa (demandé) qui correspond à une instance demandée par un utilisateur. Si le site a déjà été créé par le passé, il est passé en mode désactivé. publie (validé) qui correspond à une instance validée par un (...) -
L’agrémenter visuellement
10 avril 2011MediaSPIP est basé sur un système de thèmes et de squelettes. Les squelettes définissent le placement des informations dans la page, définissant un usage spécifique de la plateforme, et les thèmes l’habillage graphique général.
Chacun peut proposer un nouveau thème graphique ou un squelette et le mettre à disposition de la communauté.
Sur d’autres sites (10241)
-
Stack architecture for handling video uploadings
18 septembre 2017, par LunfI have Springboot app (on EC2 xlarge) which handle multi-part upload video from mobile apps. The average video file is 250 350MB which currently stored in local disk before ffmpeg thread is started to convert and upload to S3 then will be removed from local disk.
The problem is the app server could not keep up with number of uploads concurrently (5 videos), and CPU, RAM is maxed out.
My question is what is the strategies (architecture) to scale in order to handle more uploads concurrently and should I need to rewrite the app server in specific way to meet my goal, let say 50 videos.
Thank you
-
How to receive video chunks from MediaRecorder to ffmpeg
18 juillet 2024, par AviatoI am trying to make a screen recording application and wants to stream the recording in real time to my backend in order to save it as mp4 file and store it in AWS S3 bucket. I first initialized the Media Recorder instance which would accept the stream from
getUserDisplay
and would send chunk to my backend every two second usingwebsocket
.

this.socket = new WebSocket(`ws://localhost:4000/api/stream`);
await this.socket.connect();
const recorder = new MediaRecorder(stream, {
 mimeType: 'video/webm;codecs=H264',
 videoBitsPerSecond: 8000000
});

 recorder.ondataavailable = (e: BlobEvent) => {
 this.socket.sendChunk(e.data)
 
 }
 
 recorder.onstart = (event: Event) => {
 console.log("started :)");
 };
 
 recorder.start(2000);



BACKEND


In my backend I opened a websocket connection and started a
FFMPEG
process that would take input as a stream and pipe out an mp4 video.

print(f" Client connected: {websocket.client.host}")

 command = [
 'ffmpeg', 
 '-y',
 '-i', 
 '-', 
 '-codec:v', 
 'copy', 
 '-f', 'mp4',
 "testmain.mp4",
 # "-"
 # f'output{queueNumber}.mp4',
 ]

 process = subprocess.Popen(command, stdin=subprocess.PIPE)


 try:
 while True:
 try:
 data = await websocket.receive_bytes()
 if not data:
 break
 process.stdin.write(data)
 except RuntimeError:
 break



When I tested this approach, there are lots of problem,


- 

- Even though I specified the frame rate in my getUserDisplay of 60, I am getting a very slow version video of 30fps by ffmpeg
- Sometimes the final video file is corrupted or getting this message :-
- Video Bitrate in the final video is extremely low, something like 100 kbps








I know that it could be my fault of the way I setup the application, but I am not sure how can I approach it the right way and being able to record the user's screen efficiently


-
Redis corrupted my Qthread, cv2 and ffmpeg system. Assertion fctx->async_lock failed at src/libavcodec/pthread_frame.c:167 [closed]
8 novembre 2024, par Alperen ÖlçerI used to have a websocket communication in my system but I wanted to change to redis. Afterwards it started to crash when cap.set function calls with error 'Assertion fctx->async_lock failed at src/libavcodec/pthread_frame.c:167' I normally run this function inside of a QThread. Any idea why its happening. Only redis changes affected it and the changes are so innocent. I am using ubuntu 22.04 and opencv 4.8.1 builded with cuda 11.5 cudnn 8.6,ffmpeg 769c36b, gcc 10, pyQt 5.15, python3.10.