
Recherche avancée
Autres articles (40)
-
L’espace de configuration de MediaSPIP
29 novembre 2010, parL’espace de configuration de MediaSPIP est réservé aux administrateurs. Un lien de menu "administrer" est généralement affiché en haut de la page [1].
Il permet de configurer finement votre site.
La navigation de cet espace de configuration est divisé en trois parties : la configuration générale du site qui permet notamment de modifier : les informations principales concernant le site (...) -
Contribute to documentation
13 avril 2011Documentation is vital to the development of improved technical capabilities.
MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
To contribute, register to the project users’ mailing (...) -
Contribute to a better visual interface
13 avril 2011MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community.
Sur d’autres sites (6729)
-
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);
 };



-
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 ?
-
fftools/ffmpeg_enc : apply -top to individual encoded frames
14 septembre 2023, par Anton Khirnov