
Recherche avancée
Médias (1)
-
Carte de Schillerkiez
13 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
Autres articles (70)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains 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, parMediaSPIP 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 imagesckEncode 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 LycoReco2007When 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
withh264_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 usingv4l2-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 ?


- Adding
-
Is ffmpeg's chromakey filter broken when matching black/white ?
7 janvier 2023, par Taylor BrownI 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 usesimilarity=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 thechromakey
filter ?