
Recherche avancée
Autres articles (67)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 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 (...) -
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 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 (...) -
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)
Sur d’autres sites (12033)
-
How to grab individual frames from streaming video with VLC.DotNet and pass them to OpenCV
12 février 2018, par user2219675I have a RTP video stream (MPEG TS & H264) that does not display well when opened with OpenCV ffmpeg. The video is not decoded well and contains artifacts while it is displayed correctly in VLC. So I thought to grab the video frames with VLC library (VLC DotNet) convert them to Mat and pass them to OpenCV.
I couldn’t find any similar solutions. The only solution that seems non optimal is to transcode the stream in VLC to MJPEG stream and them open it in OpenCV.
Does anyone have a better idea ?
-
How to make media recorder api individual chunks playable by it self
10 août 2024, par tedGuyI'm trying to send individual chunks to the server instead of sending the whole chunks at once. This way, I have Ffmpeg on my Rails server to convert these chunks to HLS and upload them to S3 to stream the video instantly. However, I've encountered an issue the Media Recorder only provides playable chunks for the first segment after that, they are not playable and need to be concatenated to play.


To avoid this, I've taken a different approach where I start a new Media Recorder every 3 seconds so that I get a playable chunk every time. However, this approach has its issues the video glitches a bit due to the delay when I stop and start a new Media Recorder. Is there a way to achieve this with ease ? This is my current status. please help !


const startVideoRecording = async (
 screenStream: MediaStream,
 audioStream: MediaStream
 ) => {
 setStartingRecording(true);

 try {
 const res = await getVideoId();
 videoId.current = res;
 } catch (error) {
 console.log(error);
 return;
 }

 const outputStream = new MediaStream();
 outputStream.addTrack(screenStream.getVideoTracks()[0]);
 outputStream.addTrack(audioStream.getAudioTracks()[0]); // Add audio track

 const mimeTypes = [
 "video/webm;codecs=h264",
 "video/webm;codecs=vp9",
 "video/webm;codecs=vp8",
 "video/webm",
 "video/mp4",
 ];

 let selectedMimeType = "";
 for (const mimeType of mimeTypes) {
 if (MediaRecorder.isTypeSupported(mimeType)) {
 selectedMimeType = mimeType;
 break;
 }
 }

 if (!selectedMimeType) {
 console.error("No supported mime type found");
 return;
 }

 const videoRecorderOptions = {
 mimeType: selectedMimeType,
 };

 let chunkIndex = 0;

 const startNewRecording = () => {
 // Stop the current recorder if it's running
 if (
 videoRecorderRef.current &&
 videoRecorderRef.current.state === "recording"
 ) {
 videoRecorderRef.current.stop();
 }

 // Create a new MediaRecorder instance
 const newVideoRecorder = new MediaRecorder(
 outputStream,
 videoRecorderOptions
 );
 videoRecorderRef.current = newVideoRecorder;

 newVideoRecorder.ondataavailable = async (event) => {
 if (event.data.size > 0) {
 chunkIndex++;
 totalSegments.current++;
 const segmentIndex = totalSegments.current;
 console.log(event.data);
 handleUpload({ segmentIndex, chunk: event.data });
 }
 };

 // Start recording with a 3-second interval
 newVideoRecorder.start();
 };

 // Start the first recording
 startNewRecording();

 // Set up an interval to restart the recording every 3 seconds
 recordingIntervalIdRef.current = setInterval(() => {
 startNewRecording();
 }, 3000);

 setIsRecording(true);
 setStartingRecording(false);
 };



-
Capture multiple individual streams ALSA FFMPEG
3 novembre 2017, par user3170450There are similar questions available but I couldn’t understand them properly as per my use case. As I am new to ALSA so I would like to explain my use case first.
I am opening my application via google chrome and I need to to capture the audio being played in that chrome window. I did it successfully by capturing the speaker sound with following command :
ffmpeg -f pulse -i alsa_output.pci-0000_00_1b.0.analog-stereo.monitor -ac 1 -ar 16000 test.wav
But the real problem is I will be opening multiple windows at the same time and I need to capture each audio stream separately. There is something like Virtual Audio device but I don’t know how to configure and use them for my use case.
Please guide me in right direction.
Just for a note my system has only one physical sound card available which I am capturing for one window.