Recherche avancée

Médias (91)

Autres articles (48)

  • La sauvegarde automatique de canaux SPIP

    1er avril 2010, par

    Dans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
    Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)

  • Installation en mode ferme

    4 février 2011, par

    Le mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
    C’est la méthode que nous utilisons sur cette même plateforme.
    L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
    Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

Sur d’autres sites (9332)

  • fluent-ffmpeg module : "end" event does not fire

    6 décembre 2015, par ndugger

    I’m using the fluent-ffmpeg npm module

    I’ve POSTed a video from my client, and am using new stream.Readable to "read" the video Buffer.

    ffmpeg is converting and saving the file, and everything seems beautiful, but the "end" event never fires.

    My code is as follows :

    const videoStream = new stream.Readable({
       read: function (n) {
           this.push(myVideoBuffer);
       }
    });

    ffmpeg(videoStream)
    .on('progress', e => console.log(e))
    .on('end', () => {
       console.log('ended')
       videoStream.destroy();
    })
    .on('error', e => console.error(e))
    .save(`${process.cwd()}/media/videos/${Date.now()}.mp4`);

    I get a log on every progress event, and it does save the video, but the "end" event’s callback never gets called.

    I assume this is a bug, since everything else works just fine.

  • FFmpeg NaCl module avformat_open_input (on rtsp stream) returns -5 : I/O error

    8 janvier 2016, par Taimoor Alam

    I want to create an RTSP player in Chrome PNaCl.

    I have successfully built the ffmpeg naclport including the following networking flags in the build.sh file for the ffmpeg NaCl port.

    —enable network —enable-protocols —enable-demuxer=rtsp —enable-demux=rtp —enable-demuxer=sdp —enable-decoder=h264

    Furthermore, I have successfully coded and the linked the ffmpeg NaCl port in my own PNaCl module. I have included the following network permissions in the manifest.json file :

    "permissions": [
    {
       "socket": [
           "tcp-listen:*:*",
           "tcp-connect:*:*",
           "resolve-host:*:*",
           "udp-bind:*:*",
           "udp-send-to:*:*"
       ],
    }

    Now once I run the following code, in PNaCl, the avformat_open_input(...) returns -5 or I/O Error :

       AVFormatContext* formatContext = avformat_alloc_context();

       av_register_all();

       avformat_network_init();

       const char * stream_path = "rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov";

       int result = avformat_open_input(&formatContext, stream_path ,NULL,NULL);

       if(result< 0){

           PostMessage("input not opened, result: ");

           PostMessage(result);

       }else{

         PostMessage(std::string("input successfully opened"));

       }

    What am I possibly doing wrong, and why can’t the PNaCl module access the RTSP stream ?

    PS. This is a similar question, but it gives no definitive answer.

  • Processing Camera stream in Opencv, pushing it over RTMP (NGINX RTMP Module) using FFMPEG

    19 avril 2016, par Asymptote

    Output video :
    https://youtu.be/VxfoBQjoY6E

    Explanation :

    I want to : Process camera stream in Opencv and push it over to RTMP server. I already have NGINX (RTMP module) set up and I have tested streaming videos with both RTMP (Flash Player) and HLS.

    I am reading the frames in a loop and using ’subprocess’ in python to execute ffmpeg command. Here’s the command I am using :

    command = [ffmpeg,
       '-y',
       '-f', 'rawvideo',
       '-vcodec','rawvideo',
       '-pix_fmt', 'bgr24',
       '-s', dimension,
       '-i', '-',
       '-c:v', 'libx264',
       '-pix_fmt', 'yuv420p',
       '-preset', 'ultrafast',
       '-f', 'flv',
       'rtmp://10.10.10.80/live/mystream']


    import subprocess as sp
    ...
    proc = sp.Popen(command, stdin=sp.PIPE,shell=False)
    ...
    proc.stdin.write(frame.tostring()) #frame is read using opencv

    Problem :

    I can see the stream fine but it freezes and resumes frequently. Here’s the output of FFMPEG terminal log :

    Stream mapping:
     Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
    frame=  117 fps= 16 q=22.0 size=     344kB time=00:00:04.04 bitrate= 697.8kbits/s speed=0.543x  

    It mentions speed at the end. I believe it should be close to 1x. I am not sure how to achieve that.

    And I am on the same network as server, I can post my python code if required. Need some ffmpeg guru to give me some advise.

    EDIT

    My input fps is actually 3.
    With '-use_wallclock_as_timestamps', '1' I can see in the log that speed is close to 1x.
    But HLS is not streaming live there’s 2 min delay, it halts and . Chris’s advise partially worked. I am not sure where exactly is the problem, I am starting to believe it has something to do with nginx-rtmp module.

    Here’s the final output, on left it’s flash and on right it’s hls. I am showing the ffmpeg options at the end.
    https://youtu.be/jsm6XNFOUE4