
Recherche avancée
Médias (1)
-
The Slip - Artworks
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
Autres articles (95)
-
Les vidéos
21 avril 2011, parComme les documents de type "audio", Mediaspip affiche dans la mesure du possible les vidéos grâce à la balise html5 .
Un des inconvénients de cette balise est qu’elle n’est pas reconnue correctement par certains navigateurs (Internet Explorer pour ne pas le nommer) et que chaque navigateur ne gère en natif que certains formats de vidéos.
Son avantage principal quant à lui est de bénéficier de la prise en charge native de vidéos dans les navigateur et donc de se passer de l’utilisation de Flash et (...) -
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Possibilité de déploiement en ferme
12 avril 2011, parMediaSPIP 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 (...)
Sur d’autres sites (8090)
-
Writing linear float range to openEXR turns out non linear
3 avril 2022, par ChryfiI am writing the linearized depth buffer of a game to openEXR using FFmpeg. Unfortunately, FFmpeg does not adhere to the openEXR file specification fully (like allowing unsigned integer for one channel) so I am writing one float channel to openEXR, which is put into the green channel with this command
-f rawvideo -pix_fmt grayf32be -s %WIDTH%x%HEIGHT% -r %FPS% -i - -vf %DEFVF% -preset ultrafast -tune zerolatency -qp 6 -compression zip1 -pix_fmt gbrpf32le %NAME%_depth_%d.exr
.

The float range is from 0F to 1F and it is linear. I can confirm that the calculation and linearization is correct by testing 16 bit integer (per pixel component) PNG in Blender compositor. The 16 bit integer data is written like this
short s = (short) (linearzieDepth(depth) * (Math.pow(2,16) - 1))
whereas for float the linearized value is directly written to OpenEXR without multiplying with a value.

However, when viewing the openEXR file it doesn't have the same "gradient" as the 16 bit png... when viewing them side by side, it appears as if the values near 0 are not linear, and they are not as dark as they should be like in the 16 bit png.
(And yes, I set the image node to linear), and comparing it with 3d tracking data from the game I cant reproduce the depth and cant mask things using the depth buffer where as with the png I can.


How is it possible for a linear float range to turn out so different to a linear integer range in an image ?


-
FFmpeg cant recognize 3 channels with each 32 bit
4 avril 2022, par ChryfiI am writing the linearized depth buffer of a game to openEXR using FFmpeg. Unfortunately, FFmpeg does not adhere to the openEXR file specification fully (like allowing unsigned integer for one channel) so I am writing one float channel to openEXR, which is put into the green channel with this command
-f rawvideo -pix_fmt grayf32be -s %WIDTH%x%HEIGHT% -r %FPS% -i - -vf %DEFVF% -preset ultrafast -tune zerolatency -qp 6 -compression zip1 -pix_fmt gbrpf32le %NAME%_depth_%d.exr
.

The float range is from 0F to 1F and it is linear. I can confirm that the calculation and linearization is correct by testing 16 bit integer (per pixel component) PNG in Blender compositor. The 16 bit integer data is written like this
short s = (short) (linearzieDepth(depth) * (Math.pow(2,16) - 1))
whereas for float the linearized value is directly written to OpenEXR without multiplying with a value.

However, when viewing the openEXR file it doesn't have the same "gradient" as the 16 bit png... when viewing them side by side, it appears as if the values near 0 are not linear, and they are not as dark as they should be like in the 16 bit png.
(And yes, I set the image node to linear), and comparing it with 3d tracking data from the game I cant reproduce the depth and cant mask things using the depth buffer where as with the png I can.


How is it possible for a linear float range to turn out so different to a linear integer range in an image ?


UPDATE :


I now write 3 channels to the ffmpeg with this code


float f2 = this.linearizeDepth(depth);

buffer.putFloat(f2);
buffer.putFloat(0);
buffer.putFloat(0);



the byte buffer is of the size
width * height * 3 * 4
-> 3 channels with each 4 bytes. The command is now-f rawvideo -pix_fmt gbrpf32be -s %WIDTH%x%HEIGHT% -r %FPS% -i - -vf %DEFVF% -preset ultrafast -tune zerolatency -qp 6 -compression zip1 -pix_fmt gbrpf32le %NAME%_depth_%d.exr
which should mean that the input (byte buffer) is expecting 32 bit floats with 3 channels.

FFmpeg is somehow splitting up channels or whatever... could be a bug, could be my fault ?


-
FFMPEG : How to overlay a large size png on jpg [closed]
21 juin 2022, par Yoav MorI'm trying to use ffmpeg to achieve the following :
x.jpg = a file that is 540x540 in size.
Gradient.png = a 540x960 image that has a gradient of semi transparency (which starts with dark blue with no transparency in the top and then gradually becomes transparent in the bottom)
example of Gradient.png attached


The goal is to end up with a jpg that is 540x960, where x.jpg is in the bottom 540x540 of the frame and the Gradient.png is laid on top of it. Because Gradient.png is larger, this seems to pose a problem.


I tried :


ffmpeg.exe -i x.jpg -i Gradient.png -filter_complex overlay=0:480 -c:v png -pix_fmt rgba out.png



Which just creates a 540x540 frame, so doesn't work. Feels close though. If I new how to enlarge the "canvas" this could have maybe worked.


I tried.


ffmpeg.exe -i Gradient.png -i x.jpg -filter_complex overlay=0:480 -c:v png -pix_fmt rgba out.png



Which does create a 540x960 frame but Gradient.png is not on top of 1.jpg, the opposite is happening here, so I don't get the effect of the semi transparency shown on top of x.jpg like I need.


Any help will be highly appreciated


Edit :
I was able to do it in 2 steps.
ffmpeg -i x.jpg -vf "scale=540:960:force_original_aspect_ratio=decrease,pad=540:960 :(ow-iw)/2 :(oh-ih)" -c:v png -pix_fmt rgba out.jpg
ffmpeg -i out.jpg -i Gradient.png -filter_complex overlay=0:0 OUT2.jpg


If someone can come up with a way to do it in one step, it'll be great.