Recherche avancée

Médias (1)

Mot : - Tags -/illustrator

Autres articles (70)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

Sur d’autres sites (8819)

  • Memory leaks in buffer

    5 juillet 2022, par imagesck

    Encode result always theres glitch in top. if i just pipe directly decode.stdout.pipe(encode.stdin), no glitch. i try my best to solve. my problem arises when try to read as chunk to manipulate later. i dont know again, which part that rise problem. i think i need to refresh, keep back and forth to read documentation. nothing change.

    


    const { spawn } = require('child_process');
const path = require('path');

const decArgs = [
    '-i', path.join(__dirname + '/public/test.mp4'),
    '-an',
    '-pix_fmt', 'bgr24',
    '-f', 'rawvideo',
    '-'
];

const decode = spawn('ffmpeg', decArgs, {
    stdio: [
        'ignore',
        'pipe',
        'ignore'
    ] 
});

// Encode section
const width = 854;
const height = 480;
const channels = 3;
const fps = 23.97602397602398.toString();
const colorsLength = width*height*channels;


const encArgs = [
    '-f', 'rawvideo',
    '-pix_fmt', 'bgr24', 
    '-s', `${width}x${height}`,
    '-r', fps,
    '-i', '-',
    '-c:v', 'libx264',
    '-preset', 'ultrafast',
    '-crf', '30',
    '-pix_fmt', 'yuv420p',
    '-r', fps,
    '-y',
    path.join(__dirname + '/public/output.mp4')
];

const encode = spawn('ffmpeg', encArgs, {
    stdio: [
        'pipe',
        'ignore',
        'pipe'
    ]
});

// colors RGBA
let buffer = Buffer.alloc(0);
decode.stdout.on('data', data => {
    const allocSize = buffer.length + data.length;
    buffer = Buffer.concat([buffer, data], allocSize);
    
    if (buffer.length > colorsLength) decode.stdout.pause();
});

decode.stdout.on('pause', () => {
    // Create new buffer with size of colors length
    const bufferData = Buffer.alloc(colorsLength);
    buffer.copy(bufferData, 0, 0, colorsLength);
    // after manipulate the buffer send it to encode
    encode.stdin.write(bufferData);
    
    // Create new buffer to take out left buffer. cause stream length cant be predict.
    const leftBuffer = Buffer.alloc(buffer.length - bufferData.length);
    buffer.copy(leftBuffer, 0, buffer.length - bufferData.length, buffer.length);
    buffer = leftBuffer;

    decode.stdout.resume()
});

decode.stdout.on('end', () => {
    if (buffer.length) encode.stdin.write(buffer);
    encode.stdin.end();
})

encode.stderr.on('data', data => {
    console.log(data.toString())
})


    


  • FFmpeg h264_v4l2m2m encoder changing aspect ratio from 16:9 to 1:1 with black bars

    8 janvier, par LycoReco2007

    When switching from libx264 to h264_v4l2m2m encoder in FFmpeg for YouTube streaming, the output video's aspect ratio changes from 16:9 to 1:1 with black bars on the sides, despite keeping the same resolution settings.

    


    Original working command (with libx264) :

    


    ffmpeg -f v4l2 \
    -input_format yuyv422 \
    -video_size 1280x720 \
    -framerate 30 \
    -i /dev/video0 \
    -f lavfi \
    -i anullsrc=r=44100:cl=stereo \
    -c:v libx264 \
    -preset ultrafast \
    -tune zerolatency \
    -b:v 2500k \
    -c:a aac \
    -b:a 128k \
    -ar 44100 \
    -f flv rtmp://a.rtmp.youtube.com/live2/[STREAM-KEY]


    


    When I replaced libx264 with h264_v4lm2m, it always produce a square resolution, and it automatically adds black bars to the top and the bottom of the sides of the camera. I currently using a Rasberry Pi 4 model B, with a webcam that I believe supports the 16:9 ratio (I've verified using v4l2-ctl --list-formats-ext -d /dev/video0 command)

    


    I've tried the follows :

    


      

    • Adding -aspect 16:9 parameter in the ffmpeg command
    • 


    • Adding video filters such as -vf "scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2,setsar=1"
None of these give me the correct aspect ratio.
    • 


    


    How can I make the h264_v4l2m2m encoder maintain the original 16:9 aspect ratio without adding black bars ? Is this a known limitation of the encoder, or am I missing some required parameters ?

    


  • Is ffmpeg's chromakey filter broken when matching black/white ?

    7 janvier 2023, par Taylor Brown

    I have a file, colors.png. It looks like this :

    



    Let's say I want to make the red square transparent. When I run ffmpeg -i colors.png -filter_complex "[0]chromakey=0xff0000:similarity=0.1:blend=0.0[out]" -map "[out]" colors-rm-red.png (notice I use similarity=0.1 to make this work), I get exactly that :

    



    How about making the blue square transparent ? ffmpeg -i colors.png -filter_complex "[0]chromakey=0x0000ff:similarity=0.1:blend=0.0[out]" -map "[out]" colors-rm-blue.png works too !

    



    But what about replacing black ? ffmpeg -i colors.png -filter_complex "[0]chromakey=0x000000:similarity=0.1:blend=0.0[out]" -map "[out]" colors-rm-black.png gives me this :

    



    And likewise, replacing white with ffmpeg -i colors.png -filter_complex "[0]chromakey=0xffffff:similarity=0.1:blend=0.0[out]" -map "[out]" colors-rm-white.png gives me the same result :

    



    Why is this ? Even if I use similarity=0.01, which according to the docs "matches only the exact key color", this still doesn't work when I'm trying to make black/white transparent. Is ffmpeg broken, or am I misunderstanding the chromakey filter ?