Recherche avancée

Médias (91)

Autres articles (10)

  • Possibilité de déploiement en ferme

    12 avril 2011, par

    MediaSPIP peut être installé comme une ferme, avec un seul "noyau" hébergé sur un serveur dédié et utilisé par une multitude de sites différents.
    Cela permet, par exemple : de pouvoir partager les frais de mise en œuvre entre plusieurs projets / individus ; de pouvoir déployer rapidement une multitude de sites uniques ; d’éviter d’avoir à mettre l’ensemble des créations dans un fourre-tout numérique comme c’est le cas pour les grandes plate-formes tout public disséminées sur le (...)

  • Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs

    12 avril 2011, par

    La manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
    Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.

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

Sur d’autres sites (1906)

  • Error when trying to play h264 stream with ffplay

    29 août 2015, par Yehuda

    I have a file that contain part of raw h264 stream and I want to play it in Android app..

    First I tried to play it on the computer... So I tried to use ffplay for this..
    I used this command :
    ffplay.exe stream.out
    Then its opened a window and start to play it, but all i saw is a lot of green on the screen...

    The output had a lot of red lines of errors :

    [h264 @ 00000000031238c0] Reducing left cropping to 0 chroma samples to preserve alignment.
    [h264 @ 00000000031238c0] illegal aspect ratio
    [h264 @ 0000000003110ec0] Stream #0: not enough frames to estimate rate; consider increasing probesize
    Input #0, h264, from 'out4':
     Duration: N/A, bitrate: N/A
       Stream #0:0: Video: h264 (High), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 1200k tbn, 59.94 tbc
    [h264 @ 0000000005791960] error while decoding MB 50 37, bytestream -11
    [h264 @ 0000000005791960] top block unavailable for requested intra4x4 mode -1 at 4 42
    [h264 @ 0000000005791960] error while decoding MB 4 42, bytestream 4057
    [h264 @ 0000000005791960] concealing 3519 DC, 3519 AC, 3519 MV errors in P frame
    [h264 @ 0000000005782840] error while decoding MB 0 3, bytestream -23
    [h264 @ 0000000005782fc0] error while decoding MB 1 36, bytestream -16
    [h264 @ 0000000005782fc0] concealing 3462 DC, 3462 AC, 3462 MV errors in P frame
    [h264 @ 0000000005782840] top block unavailable for requested intra4x4 mode -1 at 0 12
    [h264 @ 0000000005490380] top block unavailable for requested intra4x4 mode -1 at 0 12
    [h264 @ 0000000005490380] error while decoding MB 0 12, bytestream 917
    [h264 @ 0000000005782840] error while decoding MB 0 12, bytestream 4415
    [h264 @ 0000000005782840] top block unavailable for requested intra mode at 22 18
    [h264 @ 0000000005782840] error while decoding MB 22 18, bytestream 1477
    [h264 @ 0000000005782840] top block unavailable for requested intra4x4 mode -1 at 8 30
    [h264 @ 0000000005782840] error while decoding MB 8 30, bytestream 4272
    [h264 @ 0000000005782840] error while decoding MB 67 37, bytestream -10
    [h264 @ 0000000005782840] top block unavailable for requested intra mode at 51 42
    [h264 @ 0000000005782840] error while decoding MB 51 42, bytestream 3845
    [h264 @ 0000000005782840] concealing 3309 DC, 3309 AC, 3309 MV errors in P frame
    [h264 @ 0000000005490380] concealing 3296 DC, 3296 AC, 3296 MV errors in P frame
    [h264 @ 00000000057914c0] top block unavailable for requested intra4x4 mode -1 at 0 12
    [h264 @ 00000000057914c0] error while decoding MB 0 12, bytestream 4371
    [h264 @ 00000000057914c0] top block unavailable for requested intra4x4 mode -1 at 5 18
    [h264 @ 00000000057914c0] error while decoding MB 5 18, bytestream 5007
    [h264 @ 00000000057914c0] error while decoding MB 46 26, bytestream -6
    [h264 @ 00000000057914c0] top block unavailable for requested intra mode at 37 36
    [h264 @ 00000000057914c0] error while decoding MB 37 36, bytestream 1271
    [h264 @ 00000000057914c0] concealing 2953 DC, 2953 AC, 2953 MV errors in P frame
    [h264 @ 0000000005791960] concealing 3391 DC, 3391 AC, 3391 MV errors in P frame
    [h264 @ 0000000005782840] top block unavailable for requested intra4x4 mode -1 at 5 0
    [h264 @ 0000000005782840] error while decoding MB 5 0, bytestream 1025
    [h264 @ 0000000005782fc0] top block unavailable for requested intra4x4 mode -1 at 47 30
    [h264 @ 0000000005782fc0] error while decoding MB 47 30, bytestream 584
    [h264 @ 0000000005782840] top block unavailable for requested intra4x4 mode -1 at 8 6
    [h264 @ 0000000005782840] error while decoding MB 8 6, bytestream 4699
    [h264 @ 0000000005782fc0] concealing 3600 DC, 3600 AC, 3600 MV errors in P frame
    [h264 @ 0000000005782840] top block unavailable for requested intra4x4 mode -1 at 0 12
    [h264 @ 0000000005782840] error while decoding MB 0 12, bytestream 4586
    [h264 @ 0000000005782840] error while decoding MB 58 19, bytestream -6
    [h264 @ 0000000005782840] top block unavailable for requested intra mode at 44 30
    [h264 @ 0000000005782840] error while decoding MB 44 30, bytestream 3906
    [h264 @ 0000000005490380] top block unavailable for requested intra4x4 mode -1 at 37 0
    [h264 @ 0000000005490380] error while decoding MB 37 0, bytestream 805
    [h264 @ 0000000005490380] top block unavailable for requested intra4x4 mode -1 at 18 6
    [h264 @ 0000000005490380] error while decoding MB 18 6, bytestream 4681
    [h264 @ 0000000005782840] concealing 3271 DC, 3271 AC, 3271 MV errors in P frame
    [h264 @ 0000000005490380] top block unavailable for requested intra4x4 mode -1 at 53 18
    [h264 @ 0000000005490380] error while decoding MB 53 18, bytestream 4391
    [h264 @ 0000000005490380] top block unavailable for requested intra4x4 mode -1 at 2 24
    [h264 @ 0000000005490380] error while decoding MB 2 24, bytestream 1268
    [h264 @ 0000000005490380] top block unavailable for requested intra4x4 mode -1 at 0 30
    [h264 @ 0000000005490380] error while decoding MB 0 30, bytestream 4550
    [h264 @ 0000000005490380] top block unavailable for requested intra4x4 mode -1 at 0 36
    [h264 @ 0000000005490380] error while decoding MB 0 36, bytestream 4722
    [h264 @ 0000000005490380] top block unavailable for requested intra4x4 mode -1 at 0 42
    [h264 @ 0000000005490380] error while decoding MB 0 42, bytestream 792
    [h264 @ 0000000005490380] concealing 3596 DC, 3596 AC, 3596 MV errors in P frame
    [h264 @ 00000000057914c0] concealing 3598 DC, 3598 AC, 3598 MV errors in P frame
    [h264 @ 0000000005791960] top block unavailable for requested intra mode at 25 0
    [h264 @ 0000000005791960] error while decoding MB 25 0, bytestream 964
    [h264 @ 0000000005791960] top block unavailable for requested intra4x4 mode -1 at 0 12
    [h264 @ 0000000005791960] error while decoding MB 0 12, bytestream 4593
    [h264 @ 0000000005791960] top block unavailable for requested intra4x4 mode -1 at 29 24
    [h264 @ 0000000005791960] error while decoding MB 29 24, bytestream 954
    [h264 @ 0000000005791960] top block unavailable for requested intra mode at 3 30
    [h264 @ 0000000005791960] error while decoding MB 3 30, bytestream 799
    [h264 @ 0000000005791960] concealing 3118 DC, 3118 AC, 3118 MV errors in P frame
    [h264 @ 0000000005782fc0] top block unavailable for requested intra4x4 mode -1 at 0 30
    [h264 @ 0000000005782fc0] error while decoding MB 0 30, bytestream 778
    [h264 @ 0000000005782840] error while decoding MB 31 4, bytestream -8
    [h264 @ 0000000005782fc0] concealing 3600 DC, 3600 AC, 3600 MV errors in P frame
    [h264 @ 0000000005782840] top block unavailable for requested intra4x4 mode -1 at 4 6
    [h264 @ 0000000005782840] error while decoding MB 4 6, bytestream 4729
    [h264 @ 0000000005782840] top block unavailable for requested intra4x4 mode -1 at 0 12
    [h264 @ 0000000005782840] error while decoding MB 0 12, bytestream 4431
    [h264 @ 0000000005782840] top block unavailable for requested intra4x4 mode -1 at 38 18
    [h264 @ 0000000005782840] error while decoding MB 38 18, bytestream 4798
    [h264 @ 0000000005782840] top block unavailable for requested intra mode at 31 24
    [h264 @ 0000000005782840] error while decoding MB 31 24, bytestream 752
    [h264 @ 0000000005782840] top block unavailable for requested intra mode at 5 30
    [h264 @ 0000000005782840] error while decoding MB 5 30, bytestream 3844
    [h264 @ 0000000005782840] top block unavailable for requested intra4x4 mode -1 at 38 42
    [h264 @ 0000000005782840] error while decoding MB 38 42, bytestream 3739
    [h264 @ 0000000005782840] concealing 3291 DC, 3291 AC, 3291 MV errors in P frame
    [h264 @ 0000000005490380] Delayed frames seen. Reenabling low delay requires a codec flush.
    [h264 @ 0000000005490380] Reinit context to 1280x720, pix_fmt: yuvj420p
    [h264 @ 00000000057914c0] error while decoding MB 10 17, bytestream -6
    [h264 @ 0000000005490380] left block unavailable for requested intra4x4 mode -1 at 0 16
    [h264 @ 0000000005490380] error while decoding MB 0 16, bytestream 3934
    [h264 @ 00000000057914c0] concealing 3239 DC, 3239 AC, 3239 MV errors in P frame
    [h264 @ 0000000005490380] left block unavailable for requested intra mode at 0 18
    [h264 @ 0000000005490380] error while decoding MB 0 18, bytestream 3068
    [h264 @ 0000000005490380] left block unavailable for requested intra4x4 mode -1 at 0 33
    [h264 @ 0000000005490380] error while decoding MB 0 33, bytestream 745
    [h264 @ 0000000005490380] left block unavailable for requested intra4x4 mode -1 at 0 38
    [h264 @ 0000000005490380] error while decoding MB 0 38, bytestream 4460
    [h264 @ 0000000005490380] concealing 2769 DC, 2769 AC, 2769 MV errors in I frame
    [h264 @ 0000000005782840] error while decoding MB 79 24, bytestream -7
    [h264 @ 0000000005782840] concealing 3570 DC, 3570 AC, 3570 MV errors in P frame

    There is a problem with my source ?
    What can I do ?

    Thank you :)

  • ffmpeg overlay png on video has color issue

    9 janvier 2023, par Richard

    Im trying a simple overlay command to put a logo on a black video, but find the color a little different in output, the original RGB value of green part of the logo is (0,220,90), but changed to (0,191,88) in output. Looks like the color gets mixed with the black background, any ideas ?

    


    original logo rgb :

    


    enter image description here

    


    rgb after logo overlayed on video :

    


    enter image description here

    


    the command to overlay :

    


    ffmpeg -i video.mp4 -i logo.png -filter_complex "[1:v]format=rgba[s],[0:v][s]overlay=240:1275:format=auto" output.mp4


    


    the logo and video :

    


    ▶ ffmpeg -i logo.png               
ffmpeg version 4.4-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 8 (Debian 8.3.0-6)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100                                                                                                                                            
Input #0, png_pipe, from 'logo.png':
  Duration: N/A, bitrate: N/A
  Stream #0:0: Video: png, rgba(pc), 601x81 [SAR 2834:2834 DAR 601:81], 25 fps, 25 tbr, 25 tbn, 25 tbc

▶ ffmpeg -i video.mp4                                                                                                   
ffmpeg version 4.4-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 8 (Debian 8.3.0-6)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.76.100
  Duration: 00:00:02.00, start: 0.000000, bitrate: 24 kb/s
  Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1080x1920, 18 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]


    


  • ffmpeg wasm - how to take client-side created mp4 and upload it to the same server hosting the index/js files being used

    29 juillet 2022, par John Farrell

    Ok, so Im an IT guy and kind of a noob on the dev side of the fence. But I've been able to create this ffmpeg wasm page that takes a canvas and converts it to webm / and .mp4 — what i WANT to do is take the resulting .mp4 file and upload it to the server where the page/js are being served from. is this possible ? I will include my source code which is fairly simple and straight forward, I just don't know how to manipulate the resulting mp4 file that ffmpeg spits out (i realize it is happening client side) to be able to push it up to the server (maybe with aupload.php type situation ?) the solution can be html/java/php whatever, so long as it takes the mp4 output and gets it onto the server. I'd VERY MUCH appreciate a hand here.

    


    Going to try my best to properly insert the html and js. please bear with me if i've done something wrong, i've never had to -ask- a question on here, usually just look up existing answers.

    


    

    

    const { createFFmpeg } = FFmpeg;
const ffmpeg = createFFmpeg({
  log: true
});

const transcode = async (webcamData) => {
  const message = document.getElementById('message');
  const name = 'record.webm';
  await ffmpeg.load();
  message.innerHTML = 'Start transcoding';
  await ffmpeg.write(name, webcamData);
  await ffmpeg.transcode(name,  'output.mp4');
  message.innerHTML = 'Complete transcoding';
  const data = ffmpeg.read('output.mp4');

  const video = document.getElementById('output-video');
  video.src = URL.createObjectURL(new Blob([data.buffer], { type: 'video/mp4' }));
  dl.href = video.src;
  dl.innerHTML = "download mp4"
}

fn().then(async ({url, blob})=>{
    transcode(new Uint8Array(await (blob).arrayBuffer()));
})

function fn() {
var recordedChunks = [];

var time = 0;
var canvas = document.getElementById("canvas");

return new Promise(function (res, rej) {
    var stream = canvas.captureStream(60);

    mediaRecorder = new MediaRecorder(stream, {
        mimeType: "video/webm; codecs=vp9"
    });

    mediaRecorder.start(time);

    mediaRecorder.ondataavailable = function (e) {
        recordedChunks.push(event.data);
        // for demo, removed stop() call to capture more than one frame
    }

    mediaRecorder.onstop = function (event) {
        var blob = new Blob(recordedChunks, {
            "type": "video/webm"
        });
        var url = URL.createObjectURL(blob);
        res({url, blob}); // resolve both blob and url in an object

        myVideo.src = url;
        // removed data url conversion for brevity
    }

// for demo, draw random lines and then stop recording
var i = 0,
tid = setInterval(()=>{
  if(i++ > 20) { // draw 20 lines
    clearInterval(tid);
    mediaRecorder.stop();
  }
  let canvas = document.querySelector("canvas");
  let cx = canvas.getContext("2d");
  cx.beginPath();
  cx.strokeStyle = 'green';
  cx.moveTo(Math.random()*100, Math.random()*100);
  cx.lineTo(Math.random()*100, Math.random()*100);
  cx.stroke();
},200)

});
}

    


    &#xA;&#xA;&#xA;<code class="echappe-js">&lt;script src=&quot;https://unpkg.com/@ffmpeg/ffmpeg@0.8.1/dist/ffmpeg.min.js&quot; defer&gt;&lt;/script&gt;&#xA;&lt;script src='http://stackoverflow.com/feeds/tag/canvas2mp4.js' defer&gt;&lt;/script&gt;&#xA;&#xA;&#xA;&#xA;here is a canvas
    &#xA;
    &#xA;&#xA;here is a recorded video of the canvas in webM format
    &#xA;
    &#xA;&#xA;&#xA;here is a transcoded mp4 from the webm above CLIENT SIDE using ffmpeg
    &#xA;
    &#xA;&#xA;

    &#xA;&#xA;

    &#xD;&#xA;

    &#xD;&#xA;

    &#xD;&#xA;&#xA;