Recherche avancée

Médias (91)

Autres articles (98)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 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 (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

Sur d’autres sites (12748)

  • 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 360 Video Conversion - EAC (Youtube) to Equirectangular

    18 juillet 2022, par chantey

    I have this top-bottom 360 Video, where the bottom is rotated 90 degrees clockwise, and I am looking for the ffmpeg command to produce a singular equirectangular output. I've been experimenting with various ffmpeg 360 filters, but am really just guessing at this point.

    


    enter image description here

    


  • How to use YouTube-dl to stream from Bloomberg TV ?

    1er janvier 2020, par Mr. Demetrius Michael

    Any help would be appreciated !

    This isn’t getting the correct stream from Bloomberg LiveTV, and I’m unsure why and how to fix.

    $ youtube-dl https://www.bloomberg.com/live

    Here’s a snippet of the errors that I get from that link :

    [mp4 @ 0x7ffd13860c00] Invalid DTS: 9009 PTS: 3003 in output stream 0:0, replacing by guess
    [mp4 @ 0x7ffd13860c00] Invalid DTS: 12012 PTS: 9009 in output stream 0:0, replacing by guess
    [mp4 @ 0x7ffd13860c00] Invalid DTS: 21021 PTS: 15015 in output stream 0:0, replacing by guess
    [mp4 @ 0x7ffd13860c00] Invalid DTS: 24024 PTS: 21021 in output stream 0:0, replacing by guess
    [mp4 @ 0x7ffd13860c00] Invalid DTS: 33033 PTS: 27027 in output stream 0:0, replacing by guess
    [mp4 @ 0x7ffd13860c00] Invalid DTS: 36036 PTS: 33033 in output stream 0:0, replacing by guess
    [mp4 @ 0x7ffd13860c00] Invalid DTS: 45045 PTS: 39039 in output stream 0:0, replacing by guess
    [mp4 @ 0x7ffd13860c00] Invalid DTS: 48048 PTS: 45045 in output stream 0:0, replacing by guess
    [mp4 @ 0x7ffd13860c00] Invalid DTS: 57057 PTS: 51051 in output stream 0:0, replacing by guess
    [mp4 @ 0x7ffd13860c00] Invalid DTS: 60060 PTS: 57057 in output stream 0:0, replacing by guess
    [mpegts @ 0x7ffd14810000] Invalid timestamps stream=0, pts=963063, dts=969069, size=12512
    [mpegts @ 0x7ffd14810000] Invalid timestamps stream=0, pts=969069, dts=972072, size=12513
    [hls @ 0x7ffd14000400] Invalid timestamps stream=0, pts=963063, dts=969069, size=12512
    [mp4 @ 0x7ffd13860c00] Invalid DTS: 69069 PTS: 63063 in output stream 0:0, replacing by guess
    [hls @ 0x7ffd14000400] Invalid timestamps stream=0, pts=969069, dts=972072, size=12513
    [mp4 @ 0x7ffd13860c00] Invalid DTS: 72072 PTS: 69069 in output stream 0:0, replacing by guess
    [mpegts @ 0x7ffd14810000] Invalid timestamps stream=0, pts=975075, dts=981081, size=12512
    [mpegts @ 0x7ffd14810000] Invalid timestamps stream=0, pts=981081, dts=984084, size=12513
    [hls @ 0x7ffd14000400] Invalid timestamps stream=0, pts=975075, dts=981081, size=12512
    [mp4 @ 0x7ffd13860c00] Invalid DTS: 81081 PTS: 75075 in output stream 0:0, replacing by guess
    [hls @ 0x7ffd14000400] Invalid timestamps stream=0, pts=981081, dts=984084, size=12513
    [mp4 @ 0x7ffd13860c00] Invalid DTS: 84084 PTS: 81081 in output stream 0:0, replacing by guess
    [mpegts @ 0x7ffd14810000] Invalid timestamps stream=0, pts=987087, dts=993093, size=12512
    [mpegts @ 0x7ffd14810000] Invalid timestamps stream=0, pts=993093, dts=996096, size=12513
    [hls @ 0x7ffd14000400] Invalid timestamps stream=0, pts=987087, dts=993093, size=12512
    [mp4 @ 0x7ffd13860c00] Invalid DTS: 93093 PTS: 87087 in output stream 0:0, replacing by guess
    [hls @ 0x7ffd14000400] Invalid timestamps stream=0, pts=993093, dts=996096, size=12513
    [mp4 @ 0x7ffd13860c00] Invalid DTS: 96096 PTS: 93093 in output stream 0:0, replacing by guess
    [mpegts @ 0x7ffd14810000] Invalid timestamps stream=0, pts=999099, dts=1005105, size=12512
    [mpegts @ 0x7ffd14810000] Invalid timestamps stream=0, pts=1005105, dts=1008108, size=12513
    [hls @ 0x7ffd14000400] Invalid timestamps stream=0, pts=999099, dts=1005105, size=12512
    [mp4 @ 0x7ffd13860c00] Invalid DTS: 105105 PTS: 99099 in output stream 0:0, replacing by guess
    [hls @ 0x7ffd14000400] Invalid timestamps stream=0, pts=1005105, dts=1008108, size=12513

    Ideally I would be able to get all of their available programming :

    https://www.bloomberg.com/live/us
    https://www.bloomberg.com/live/us/btv
    https://www.bloomberg.com/live/europe
    https://www.bloomberg.com/live/asia
    https://www.bloomberg.com/live/australia
    https://www.bloomberg.com/live/stream
    https://www.bloomberg.com/live/emea
    https://www.bloomberg.com/live/asia_stream
    https://www.bloomberg.com/live/politics