Recherche avancée

Médias (0)

Mot : - Tags -/albums

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (39)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-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

  • List of compatible distributions

    26 avril 2011, par

    The table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
    If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...)

Sur d’autres sites (7808)

  • Download youtube video as stream Readable object

    26 décembre 2023, par Abraam Emad

    in 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]);


    


    }`

    


  • 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 ?

    


    


  • Unable to play video from firebase cloud storage download url on Iphone Safari [closed]

    26 janvier 2024, par Acid Coder
                        getDownloadURL(ref)
                        .then(url => {
                            //... save the url to state
                        })


    


    front end : React

    


                                &#xA;                                <source src="{videoURL}" type="video/mp4"></source>&#xA;                            &#xA;

    &#xA;

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

    &#xA;

    enter image description here

    &#xA;

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

    &#xA;

    import ffmpeg from &#x27;fluent-ffmpeg&#x27;&#xA;&#xA;        ffmpeg(inputPath)&#xA;            .output(outputPath)&#xA;            .videoCodec(&#x27;libx264&#x27;)&#xA;            .audioCodec(&#x27;aac&#x27;)&#xA;            .on(&#x27;end&#x27;, () => {&#xA;                // ...&#xA;            })&#xA;            .on(&#x27;error&#x27;, err => {&#xA;                // ...&#xA;            })&#xA;            .run()&#xA;

    &#xA;