Recherche avancée

Médias (91)

Autres articles (91)

  • 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

  • MediaSPIP Player : problèmes potentiels

    22 février 2011, par

    Le lecteur ne fonctionne pas sur Internet Explorer
    Sur Internet Explorer (8 et 7 au moins), le plugin utilise le lecteur Flash flowplayer pour lire vidéos et son. Si le lecteur ne semble pas fonctionner, cela peut venir de la configuration du mod_deflate d’Apache.
    Si dans la configuration de ce module Apache vous avez une ligne qui ressemble à la suivante, essayez de la supprimer ou de la commenter pour voir si le lecteur fonctionne correctement : /** * GeSHi (C) 2004 - 2007 Nigel McNie, (...)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

Sur d’autres sites (14018)

  • FFmpeg live streaming webm video to multiple http clients over Nodejs

    11 octobre 2017, par Léo Martin

    I am trying to share a live stream of my screen over an ExpressJS server.
    I cannot save ffmpeg output to a file or start more than one ffmpeg instance for performance reason.
    My current solution is to pipe ffmpeg’s stdout and stream it to each connected client.

    index.js

    const express = require('express');
    const app = express();
    const request = require('request');
    const FFmpeg = require('./FFmpeg');

    const APP_PORT = 3500;

    app.get('/stream', function (req, res) {
     const recorder = FFmpeg.getInstance();

     res.writeHead(200, {
       "content-type": "video/webm",
     });
     recorder.stdout.on('data', res.write);
     req.on('close', FFmpeg.killInstance);
    });

    app.listen(APP_PORT, function () {
     console.log(`App is listening on port ${APP_PORT}!`)
    });

    FFmpeg.js

    const spawn = require('child_process').spawn;
    const ffmpegPath = 'ffmpeg';
    const ffmpegOptions = [
     '-loglevel', 'panic',
     '-y',
     '-f',
     'alsa',
     '-ac',
     '2',
     '-i',
     'pulse',
     '-f',
     'x11grab',
     '-r',
     '25',
     '-i',
     ':0.0+0,0',
     '-acodec',
     'libvorbis',
     '-preset',
     'ultrafast',
     '-vf',
     'scale=320:-1',
     "-vcodec", "libvpx-vp9",
     '-f', 'webm',
     'pipe:1',
    ];

    module.exports = {
     start,
     getInstance,
     killInstance,
    };

    let instance = null;
    let connections = 0;

    function killInstance() {
     connections -= 1;
     if (connections < 1) {
       instance.kill();
       instance = null;
     }
    };

    function getInstance() {
     connections += 1;
     if (!instance) instance = start();
     return instance;
    };

    function start() {
     return spawn(ffmpegPath, ffmpegOptions);
    };

    It is working well for one client, but I cannot manage to stream to several clients at the same time (might be related to missing keyframes).

  • Process to preview any video format inside the browser

    11 octobre 2017, par Nuzzob

    I have a simple app where the user can upload any video file to my server, come again later and stream the videos he uploaded.

    The thing is, depending on the browser he is using, he will be able to play it, or not.

    I was thinking of using ffmpeg when I receive a new video, in order to convert it into a format that will be readable by any browser.

    • Is it the best option that I can have ?
    • What is the most supported video format ? MP4 or WEBM ?
    • How does Youtube, for example, handle this problematic ?

    ( I’m aware that I could also use DASH to adapt the video resolution to the user bandwidth, but for now I do not focus on that part )

    If I effectively use ffmpeg, what’s the best command options I can use to make the conversion process faster without loosing to much of the video quality ? Is there a "magical ffmpeg command" that take any video in input and convert it into mp4 or webm ?

    I’m also afraid that, with big videos like 700mo or so, it will take so long to convert.

    Thank you !

  • How to fix duration for an incompletely downloaded video ?

    15 octobre 2017, par Krash

    I am partially downloading a video by specifying the Ranges header. I am doing this in python. So, suppose there is video whose duration is 4:43 min and has size 2.56 mb and I am only downloading 1 mb of it, so the actual duration of the video is somewhere around the 2 min mark. Now when I play this video, it plays till it has downloaded but shows 4:43 still as its total duration and abruptly ends like a corrupted video file does. Is there a way I can edit the bytes I receive on downloading the file, so that the video player recognises the exact position after which it should end ?

    More importantly, I want to know if in videos, the start and end is determined by some set of bytes ? Like, if I download a video from the 3000th byte to 6000th byte, it won’t play as if its a corrupt video, so I want to know if its possible to add some bytes to the beginning of the file to let the player know that this is the beginning. How does a video player determine the end duration of a video from just the bytes ?