
Recherche avancée
Médias (1)
-
Somos millones 1
21 juillet 2014, par
Mis à jour : Juin 2015
Langue : français
Type : Video
Autres articles (56)
-
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) (...)
-
Supporting all media types
13 avril 2011, parUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
-
Changer son thème graphique
22 février 2011, parLe thème graphique ne touche pas à la disposition à proprement dite des éléments dans la page. Il ne fait que modifier l’apparence des éléments.
Le placement peut être modifié effectivement, mais cette modification n’est que visuelle et non pas au niveau de la représentation sémantique de la page.
Modifier le thème graphique utilisé
Pour modifier le thème graphique utilisé, il est nécessaire que le plugin zen-garden soit activé sur le site.
Il suffit ensuite de se rendre dans l’espace de configuration du (...)
Sur d’autres sites (10555)
-
Unable to play video from firebase cloud storage download url on Iphone Safari [closed]
26 janvier 2024, par Acid CodergetDownloadURL(ref)
 .then(url => {
 //... save the url to state
 })



front end : React



 <source src="{videoURL}" type="video/mp4"></source>
 



work fine on PC and Android, but on Iphone Safari, only 1 out of 10 videos can be played




all video are from the same source, going through same compression, from mp4 to mp4


import ffmpeg from 'fluent-ffmpeg'

 ffmpeg(inputPath)
 .output(outputPath)
 .videoCodec('libx264')
 .audioCodec('aac')
 .on('end', () => {
 // ...
 })
 .on('error', err => {
 // ...
 })
 .run()



-
Ffmpeg convert mp3u8 to mp3, how to skip read mp3u8 segment quick download ? [closed]
16 janvier 2024, par Raag Jatt

[hls,applehttp @ 0x21e3e80] Opening 'https://vodhlsgaana.akamaized.net/hls/98/6329098/47086991/320/hdntl=exp=1705512097~acl=%2f*~data=hdntl~hmac=766aac0bee539dc389ef0eef4979c2c982c341eaba85156b0264b1a26b3122f8/segment-86.ts' ; for reading
[hls,applehttp @ 0x21e3e80] Opening 'https://vodhlsgaana.akamaized.net/hls/98/6329098/47086991/320/hdntl=exp=1705512097~acl=%2f*~data=hdntl~hmac=766aac0bee539dc389ef0eef4979c2c982c341eaba85156b0264b1a26b3122f8/segment-87.ts' ; for reading
[hls,applehttp @ 0x21e3e80] Opening 'https://vodhlsgaana.akamaized.net/hls/98/6329098/47086991/320/hdntl=exp=1705512097~acl=%2f*~data=hdntl~hmac=766aac0bee539dc389ef0eef4979c2c982c341eaba85156b0264b1a26b3122f8/segment-88.ts' ; for reading
[hls,applehttp @ 0x21e3e80] Opening 'https://vodhlsgaana.akamaized.net/hls/98/6329098/47086991/320/hdntl=exp=1705512097~acl=%2f*~data=hdntl~hmac=766aac0bee539dc389ef0eef4979c2c982c341eaba85156b0264b1a26b3122f8/segment-89.ts' ; for reading
[hls,applehttp @ 0x21e3e80] Opening 'https://vodhlsgaana.akamaized.net/hls/98/6329098/47086991/320/hdntl=exp=1705512097~acl=%2f*~data=hdntl~hmac=766aac0bee539dc389ef0eef4979c2c982c341eaba85156b0264b1a26b3122f8/segment-90.ts' ; for reading
[hls,applehttp @ 0x21e3e80] Opening 'https://vodhlsgaana.akamaized.net/hls/98/6329098/47086991/320/hdntl=exp=1705512097~acl=%2f*~data=hdntl~hmac=766aac0bee539dc389ef0eef4979c2c982c341eaba85156b0264b1a26b3122f8/segment-91.ts' ; for reading
size= 8611kB time=00:09:11.08 bitrate= 128.0kbits/s speed=2.05x


i want to save quickly in my server how can i ?




-
Download youtube video as stream Readable object
26 décembre 2023, par Abraam Emadin this function it download youtube video as a file out.mp4 on hard disk i need to download it as a Readable Object to upload it


private async downloadVideo(videoId: string) {
// Buildin with nodejs
const cp = require('child_process');
const readline = require('readline');
// External modules
const ytdl = require('ytdl-core');
const ffmpeg = require('ffmpeg-static');
// Global constants
const ref = `https://www.youtube.com/watch?v=${videoId}`;
const tracker = {
 start: Date.now(),
 audio: { downloaded: 0, total: Infinity },
 video: { downloaded: 0, total: Infinity },
 merged: { frame: 0, speed: '0x', fps: 0 },
};

// Get audio and video streams
const audio = ytdl(ref, { quality: 'highestaudio' })
 .on('progress', (_, downloaded, total) => {
 tracker.audio = { downloaded, total };
 });
const video = ytdl(ref, { quality: 'highestvideo' })
 .on('progress', (_, downloaded, total) => {
 tracker.video = { downloaded, total };
 });

// Prepare the progress bar
let progressbarHandle = null;
const progressbarInterval = 1000;
const showProgress = () => {
 readline.cursorTo(process.stdout, 0);
 const toMB = i => (i / 1024 / 1024).toFixed(2);

 process.stdout.write(`Audio | ${(tracker.audio.downloaded / tracker.audio.total * 100).toFixed(2)}% processed `);
 process.stdout.write(`(${toMB(tracker.audio.downloaded)}MB of ${toMB(tracker.audio.total)}MB).${' '.repeat(10)}\n`);

 process.stdout.write(`Video | ${(tracker.video.downloaded / tracker.video.total * 100).toFixed(2)}% processed `);
 process.stdout.write(`(${toMB(tracker.video.downloaded)}MB of ${toMB(tracker.video.total)}MB).${' '.repeat(10)}\n`);

 process.stdout.write(`Merged | processing frame ${tracker.merged.frame} `);
 process.stdout.write(`(at ${tracker.merged.fps} fps => ${tracker.merged.speed}).${' '.repeat(10)}\n`);

 process.stdout.write(`running for: ${((Date.now() - tracker.start) / 1000 / 60).toFixed(2)} Minutes.`);
 readline.moveCursor(process.stdout, 0, -3);
};

// Start the ffmpeg child process
const ffmpegProcess = cp.spawn(ffmpeg, [
 // Remove ffmpeg's console spamming
 '-loglevel', '8', '-hide_banner',
 // Redirect/Enable progress messages
 '-progress', 'pipe:3',
 // Set inputs
 '-i', 'pipe:4',
 '-i', 'pipe:5',
 // Map audio & video from streams
 '-map', '0:a',
 '-map', '1:v',
 // Keep encoding
 '-c:v', 'copy',
 // Define output file
 '-f', 'mpegts', // Use MPEG-TS format for streaming
 'out.mp4'
], {
 windowsHide: true,
 stdio: [
 /* Standard: stdin, stdout, stderr */
 'inherit', 'inherit', 'inherit',
 /* Custom: pipe:3, pipe:4, pipe:5 */
 'pipe', 'pipe', 'pipe',
 ],
});
ffmpegProcess.on('close', () => {
 console.log('done');
 // Cleanup
 process.stdout.write('\n\n\n\n');
 clearInterval(progressbarHandle);
});
// Link streams
// FFmpeg creates the transformer streams and we just have to insert / read data
ffmpegProcess.stdio[3].on('data', chunk => {
 // Start the progress bar
 if (!progressbarHandle) progressbarHandle = setInterval(showProgress, progressbarInterval);
 // Parse the param=value list returned by ffmpeg
 const lines = chunk.toString().trim().split('\n');
 const args: any = {};
 for (const l of lines) {
 const [key, value] = l.split('=');
 args[key.trim()] = value.trim();
 }
 tracker.merged = args;
});
audio.pipe(ffmpegProcess.stdio[4]);
video.pipe(ffmpegProcess.stdio[5]);



}`