
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 (29)
-
Utilisation et configuration du script
19 janvier 2011, parInformations spécifiques à la distribution Debian
Si vous utilisez cette distribution, vous devrez activer les dépôts "debian-multimedia" comme expliqué ici :
Depuis la version 0.3.1 du script, le dépôt peut être automatiquement activé à la suite d’une question.
Récupération du script
Le script d’installation peut être récupéré de deux manières différentes.
Via svn en utilisant la commande pour récupérer le code source à jour :
svn co (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Support de tous types de médias
10 avril 2011Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)
Sur d’autres sites (3690)
-
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);
 };



-
Downloading individual songs from YouTube playlist [closed]
23 août 2024, par user26961371- 

- I've created a custom script using
yt-dlp
. - The script takes a single argument, which is the actual playlist URL.
- I'm using the following command :








yt-dlp --extract-audio --audio-format mp3 --yes-playlist -o "/Users/$USER/Desktop/%(id)s.%(ext)s" --embed-chapters $1



Try :
I've run the command with a valid playlist URL, but it's downloading each song from the playlist into a single MP3 file for each song. I want to download each song as an individual file, not the entire playlist in a single file 15 times.


Expectation :
I expect
yt-dlp
to download each song from the playlist as a separate MP3 file, rather than combining all songs into a single MP3 file for each song.

Context :
The issue is likely due to the use of the
--yes-playlist
option, which tellsyt-dlp
to treat the input as a playlist URL and download all songs in one go.
I've checked the official documentation foryt-dlp
, but I couldn't find a solution.

- I've created a custom script using
-
Significantly different scores when calculating VMAF for the whole video vs individual frames [closed]
24 octobre 2024, par YG1992Suppose i have a raw video 'encoded_raw.yuv' and 'original_raw.yuv' on YUV420p. I am getting significantly different results when im calculating VMAF using both methods


Method 1


$ ffmpeg -s widthxheight -pix_fmt yuv420p -i .\encoded_raw.yuv -s widthxheight -pix_fmt yuv420p -i .\original_raw.yuv -lavfi libvmaf=log_path=vmaf_logfile.json:log_fmt=json -f null -



versus Method 2 : extracting the png out of a single frame and computing the VMAF score for the individual frame


$ ffmpeg -video_size widthxheight -i ./encoded_raw.yuv -vf select=eq(n\,1) -vframes 1 -pix_fmt yuv420p encoded_raw_1.png
$ ffmpeg -video_size widthxheight -i ./original_raw.yuv -vf select=eq(n\,1) -vframes 1 -pix_fmt yuv420p original_raw.png
$ ffmpeg -s widthxheight -pix_fmt yuv420p -i .\encoded_raw_1.png -s widthxheight -pix_fmt yuv420p -i .\original_raw.png -lavfi libvmaf=log_path=vmaf_logfile.json:log_fmt=json -f null -`



method 1 vmaf at frame 1 from json = 80


method 2 vmaf = 70


any reason why this is so ?


Note : for moduse this is on topic as this covers
-> software tools commonly used by programmers (ie ffmpeg)