
Recherche avancée
Médias (91)
-
Collections - Formulaire de création rapide
19 février 2013, par
Mis à jour : Février 2013
Langue : français
Type : Image
-
Les Miserables
4 juin 2012, par
Mis à jour : Février 2013
Langue : English
Type : Texte
-
Ne pas afficher certaines informations : page d’accueil
23 novembre 2011, par
Mis à jour : Novembre 2011
Langue : français
Type : Image
-
The Great Big Beautiful Tomorrow
28 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Texte
-
Richard Stallman et la révolution du logiciel libre - Une biographie autorisée (version epub)
28 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Texte
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (96)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
Sur d’autres sites (8350)
-
Not able to install ffmpeg vlc rubberband anything in my centOS stream 9 [closed]
16 septembre 2023, par Yash Goyalsudo dnf install ffmpeg


Last metadata expiration check : 0:15:12 ago on Saturday 16 September 2023 05:22:51 PM.
Error :
Problem : package ffmpeg-5.1.3-1.el9.x86_64 from rpmfusion-free-updates requires libavfilter.so.8()(64bit), but none of the providers can be installed


- 

- package ffmpeg-5.1.3-1.el9.x86_64 from rpmfusion-free-updates requires libavfilter.so.8(LIBAVFILTER_8)(64bit), but none of the providers can be installed
- package libavfilter-free-5.1.3-1.el9.x86_64 from epel requires librubberband.so.2()(64bit), but none of the providers can be installed
- package ffmpeg-libs-5.1.3-1.el9.x86_64 from rpmfusion-free-updates requires librubberband.so.2()(64bit), but none of the providers can be installed
- conflicting requests
- nothing provides ladspa needed by rubberband-3.1.3-1.el9.x86_64 from epel
(try to add '—skip-broken' to skip uninstallable packages or '—nobest' to use not only best candidate packages)
[root@yashgoyal yash]# sudo dnf install ffmpeg —skip-broken
Last metadata expiration check : 0:15:17 ago on Saturday 16 September 2023 05:22:51 PM.
Dependencies resolved.












Problem : package ffmpeg-5.1.3-1.el9.x86_64 from rpmfusion-free-updates requires libavfilter.so.8()(64bit), but none of the providers can be installed


- 

- package ffmpeg-5.1.3-1.el9.x86_64 from rpmfusion-free-updates requires libavfilter.so.8(LIBAVFILTER_8)(64bit), but none of the providers can be installed
- package libavfilter-free-5.1.3-1.el9.x86_64 from epel requires librubberband.so.2()(64bit), but none of the providers can be installed
- package ffmpeg-libs-5.1.3-1.el9.x86_64 from rpmfusion-free-updates requires librubberband.so.2()(64bit), but none of the providers can be installed
- conflicting requests
- nothing provides ladspa needed by rubberband-3.1.3-1.el9.x86_64 from epel
================================================================================
Package Arch Version Repository Size
================================================================================
Skipping packages with broken dependencies :
ffmpeg x86_64 5.1.3-1.el9 rpmfusion-free-updates 1.7 M
ffmpeg-libs x86_64 5.1.3-1.el9 rpmfusion-free-updates 7.8 M
libavfilter-free x86_64 5.1.3-1.el9 epel 1.4 M
rubberband x86_64 3.1.3-1.el9 epel 364 k












Transaction Summary


Skip 4 Packages


Nothing to do.
Complete !


this is the problem i am facing i tried everything that is available on internet but not able to fix it


-
ffmpeg when asked to map a .mov file's streams 0,1,3 actually maps streams 0,1,2
15 septembre 2023, par user2258729I'm trying the following :


Start with
in.mov
which has 4 streams 0:0 - 0:3.

Audio, Video, Data (unknown), and mJpeg.


Trying to map 0:0, 0:1, and 0:3 into
out013.mov
.

ffmpeg -i in.mov -map 0 -map -0:2 -c copy out013.mov


or


ffmpeg -i in.mov -map 0:0 -map 0:1 -map 0:2 -c copy out013.mov


ffmpeg tells me that 3 streams are mapped :


Stream #0:0 -> #0:0 (copy)
 Stream #0:1 -> #0:1 (copy)
 Stream #0:3 -> #0:2 (copy)



ffprobe disagrees. According to it what really happened was :


Stream #0:0 -> #0:0 (copy)
 Stream #0:1 -> #0:1 (copy)
 Stream #0:2 -> #0:2 (copy)



"Who needs a thumbnail image anyways, screw it !" I said. "Let's just get rid of the data."


ffmpeg -i out013.mov -map 0:0 -map 0:1 -c copy out01.mov


ffmpeg tells me that 2 streams are mapped :


Stream #0:0 -> #0:0 (copy)
 Stream #0:1 -> #0:1 (copy)



ffprobe disagrees. According to it what really happened was :


Stream #0:0 -> #0:0 (copy)
 Stream #0:1 -> #0:1 (copy)
 Stream #0:2 -> #0:2 (copy)



Seems like I can't rid myself of that data stream (0:2).


Below is the output from the ffprobe and ffmpeg for the first scenario.


Any ideas ?



ffprobe in.mov


ffprobe version 2023-09-07-git-9c9f48e7f2-essentials_build-www.gyan.dev Copyright (c) 2007-2023 the FFmpeg developers
 built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-dxva2 --enable-d3d11va --enable-libvpl --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
 libavutil 58. 19.100 / 58. 19.100
 libavcodec 60. 26.100 / 60. 26.100
 libavformat 60. 11.100 / 60. 11.100
 libavdevice 60. 2.101 / 60. 2.101
 libavfilter 9. 11.100 / 9. 11.100
 libswscale 7. 3.100 / 7. 3.100
 libswresample 4. 11.100 / 4. 11.100
 libpostproc 57. 2.100 / 57. 2.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000023b088f3300] stream 0, timescale not set
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'in.mov':
 Metadata:
 major_brand : qt
 minor_version : 0
 compatible_brands: qt
 creation_time : 2023-08-22T21:23:09.000000Z
 title : Redacted
 com.apple.quicktime.displayname: Redacted
 com.apple.quicktime.title: Redacted
 Duration: 00:00:30.03, start: 0.000000, bitrate: 152583 kb/s
 Stream #0:0[0x1](eng): Audio: pcm_s24le (lpcm / 0x6D63706C), 48000 Hz, 2 channels, s32 (24 bit), 2304 kb/s (default)
 Metadata:
 creation_time : 2023-08-22T21:23:09.000000Z
 handler_name : Core Media Audio
 vendor_id : [0][0][0][0]
 Stream #0:1[0x2](und): Video: prores (Standard) (apcn / 0x6E637061), yuv422p10le(bt709, progressive), 1920x1080, 150213 kb/s, SAR 1:1 DAR 16:9, 29.97 fps, 29.97 tbr, 30k tbn (default)
 Metadata:
 creation_time : 2023-08-22T21:23:09.000000Z
 handler_name : Core Media Video
 vendor_id : [0][0][0][0]
 encoder : Apple ProRes 422
 timecode : 00:00:00:00
 Stream #0:2[0x3](und): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
 Metadata:
 creation_time : 2023-08-22T21:23:09.000000Z
 handler_name : Core Media Time Code
 timecode : 00:00:00:00
 Stream #0:3[0x0]: Video: mjpeg (Progressive), yuvj420p(pc, bt470bg/unknown/unknown), 1920x1080 [SAR 72:72 DAR 16:9], 90k tbr, 90k tbn (attached pic)
Unsupported codec with id 0 for input stream 2




ffmpeg -i in.mov -map 0:0 -map 0:1 -map 0:3 -c copy out013.mov


ffmpeg version 2023-09-07-git-9c9f48e7f2-essentials_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
 built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-dxva2 --enable-d3d11va --enable-libvpl --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
 libavutil 58. 19.100 / 58. 19.100
 libavcodec 60. 26.100 / 60. 26.100
 libavformat 60. 11.100 / 60. 11.100
 libavdevice 60. 2.101 / 60. 2.101
 libavfilter 9. 11.100 / 9. 11.100
 libswscale 7. 3.100 / 7. 3.100
 libswresample 4. 11.100 / 4. 11.100
 libpostproc 57. 2.100 / 57. 2.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001f92e383880] stream 0, timescale not set
[aist#0:0/pcm_s24le @ 000001f92e50f400] Guessed Channel Layout: stereo
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'in.mov':
 Metadata:
 major_brand : qt
 minor_version : 0
 compatible_brands: qt
 creation_time : 2023-08-22T21:23:09.000000Z
 title : Redacted
 com.apple.quicktime.displayname: Redacted
 com.apple.quicktime.title: Redacted
 Duration: 00:00:30.03, start: 0.000000, bitrate: 152583 kb/s
 Stream #0:0[0x1](eng): Audio: pcm_s24le (lpcm / 0x6D63706C), 48000 Hz, 2 channels, s32 (24 bit), 2304 kb/s (default)
 Metadata:
 creation_time : 2023-08-22T21:23:09.000000Z
 handler_name : Core Media Audio
 vendor_id : [0][0][0][0]
 Stream #0:1[0x2](und): Video: prores (Standard) (apcn / 0x6E637061), yuv422p10le(bt709, progressive), 1920x1080, 150213 kb/s, SAR 1:1 DAR 16:9, 29.97 fps, 29.97 tbr, 30k tbn (default)
 Metadata:
 creation_time : 2023-08-22T21:23:09.000000Z
 handler_name : Core Media Video
 vendor_id : [0][0][0][0]
 encoder : Apple ProRes 422
 timecode : 00:00:00:00
 Stream #0:2[0x3](und): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
 Metadata:
 creation_time : 2023-08-22T21:23:09.000000Z
 handler_name : Core Media Time Code
 timecode : 00:00:00:00
 Stream #0:3[0x0]: Video: mjpeg (Progressive), yuvj420p(pc, bt470bg/unknown/unknown), 1920x1080 [SAR 72:72 DAR 16:9], 90k tbr, 90k tbn (attached pic)
Output #0, mov, to 'out013.mov':
 Metadata:
 major_brand : qt
 minor_version : 0
 compatible_brands: qt
 com.apple.quicktime.title: Redacted
 title : Redacted
 com.apple.quicktime.displayname: Redacted
 encoder : Lavf60.11.100
 Stream #0:0(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s (default)
 Metadata:
 creation_time : 2023-08-22T21:23:09.000000Z
 handler_name : Core Media Audio
 vendor_id : [0][0][0][0]
 Stream #0:1(und): Video: prores (Standard) (apcn / 0x6E637061), yuv422p10le(bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 150213 kb/s, 29.97 fps, 29.97 tbr, 30k tbn (default)
 Metadata:
 creation_time : 2023-08-22T21:23:09.000000Z
 handler_name : Core Media Video
 vendor_id : [0][0][0][0]
 encoder : Apple ProRes 422
 timecode : 00:00:00:00
 Stream #0:2: Video: mjpeg (Progressive) (jpeg / 0x6765706A), yuvj420p(pc, bt470bg/unknown/unknown), 1920x1080 [SAR 72:72 DAR 16:9], q=2-31, 90k tbr, 90k tbn (attached pic)
Stream mapping:
 Stream #0:0 -> #0:0 (copy)
 Stream #0:1 -> #0:1 (copy)
 Stream #0:3 -> #0:2 (copy)
Press [q] to stop, [?] for help
[out#0/mov @ 000001f92e398340] video:550881kB audio:8446kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
frame= 900 fps=0.0 q=-1.0 Lq=-1.0 size= 559116kB time=00:00:30.02 bitrate=152567.6kbits/s speed= 117x




ffprobe out013.mov


ffprobe version 2023-09-07-git-9c9f48e7f2-essentials_build-www.gyan.dev Copyright (c) 2007-2023 the FFmpeg developers
 built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-dxva2 --enable-d3d11va --enable-libvpl --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
 libavutil 58. 19.100 / 58. 19.100
 libavcodec 60. 26.100 / 60. 26.100
 libavformat 60. 11.100 / 60. 11.100
 libavdevice 60. 2.101 / 60. 2.101
 libavfilter 9. 11.100 / 9. 11.100
 libswscale 7. 3.100 / 7. 3.100
 libswresample 4. 11.100 / 4. 11.100
 libpostproc 57. 2.100 / 57. 2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'out013.mov':
 Metadata:
 major_brand : qt
 minor_version : 512
 compatible_brands: qt
 title : Redacted
 encoder : Lavf60.11.100
 timecode : 00:00:00:00
 Duration: 00:00:30.03, start: 0.000000, bitrate: 152523 kb/s
 Stream #0:0[0x1](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s (default)
 Metadata:
 handler_name : Core Media Audio
 vendor_id : [0][0][0][0]
 Stream #0:1[0x2]: Video: prores (Standard) (apcn / 0x6E637061), yuv422p10le(bt709, progressive), 1920x1080, 150213 kb/s, SAR 1:1 DAR 16:9, 29.97 fps, 29.97 tbr, 30k tbn (default)
 Metadata:
 handler_name : Core Media Video
 vendor_id : FFMP
 encoder : Apple ProRes 422
 timecode : 00:00:00:00
 Stream #0:2[0x4](eng): Data: none (tmcd / 0x64636D74), 0 kb/s
 Metadata:
 handler_name : Core Media Video
 timecode : 00:00:00:00
Unsupported codec with id 0 for input stream 2




-
FFMPEG changes pixel values when reading and saving png without modification
25 janvier 2023, par walrusThis is a toy problem that is the result of my trying to identify a bug within a video pipeline I'm working on. The idea is that I want to take a frame from a YUV420 video, modify it as an RGB24 image, and reinsert it. To do this I convert YUV420 -> YUV444 -> RGB -> YUV444 -> YUV420. Doing this without any modification should result in the same frame however I noticed slight color transformations.


I tried to isolate the problem using a toy 3x3 RGB32 png image. The function
read_and_save_image
reads the image and then saves it as new file. It returns the read pixel array. I run this function thrice successively using the output of the previous run as the input of the next. This is to demonstrate a perplexing fact. While passing an image through the function once causes the resulting image to have different pixel values, doing it twice does not change anything. Perhaps more confusing is that the pixel values returned by the function are all the same.

tldr ; How can I load and save the toy image below using ffmpeg as a new file such that the pixel values of the new and original files are identical ?


Here is the original image followed by the result from one and two passes through the function. Note that the pixel value displayed by when reading these images with Preview has changed ever so slightly. This becomes noticeable within a video.


Test image (very small) ->

<-


Here are the pixel values read (note that after being loaded and saved there is a change) :








Edit : here is an RGB24 frame extracted from a video I am using to test my pipeline. I had the same issue with pixel values changing after loading and saving with ffmpeg.


frame from video I was testing pipeline on


Here is a screenshot showing how the image is noticeably darker after ffmpeg. Same pixels on the top right corner of the image.




Here is the code of the toy problem :


import os
import ffmpeg
import numpy as np


def read_and_save_image(in_file, out_file, width, height, pix_fmt='rgb32'):
 input_data, _ = (
 ffmpeg
 .input(in_file)
 .output('pipe:', format='rawvideo', pix_fmt=pix_fmt)
 .run(capture_stdout=True)
 )
 
 frame = np.frombuffer(input_data, np.uint8)
 print(in_file,'\n', frame.reshape((height,width,-1)))
 
 save_data = (
 ffmpeg
 .input('pipe:', format='rawvideo', pix_fmt=pix_fmt, s='{}x{}'.format(width, height))
 .output(out_file, pix_fmt=pix_fmt)
 .overwrite_output()
 .run_async(pipe_stdin=True)
 )
 
 

 save_data.stdin.write(frame.tobytes())
 save_data.stdin.close()
 #save_data.wait()

 return frame

try:
 test_img = "test_image.png"
 test_img_1 = "test_image_1.png"
 test_img_2 = "test_image_2.png"
 test_img_3 = "test_image_3.png"

 width, height, pix_fmt = 3,3,'rgb32'
 #width, height, pix_fmt = video_stream['width'], video_stream['height'], 'rgb24'
 test_img_pxls = read_and_save_image(test_img,test_img_1, width, height, pix_fmt)
 test_img_1_pxls = read_and_save_image(test_img_1,test_img_2, width, height, pix_fmt)
 test_img_2_pxls = read_and_save_image(test_img_2,test_img_3, width, height, pix_fmt)

 print(np.array_equiv(test_img_pxls, test_img_1_pxls))
 print(np.array_equiv(test_img_1_pxls, test_img_2_pxls))

except ffmpeg.Error as e:
 print('stdout:', e.stdout.decode('utf8'))
 print('stderr:', e.stderr.decode('utf8'))
 raise e


!mediainfo --Output=JSON --Full $test_img
!mediainfo --Output=JSON --Full $test_img_1
!mediainfo --Output=JSON --Full $test_img_2



Here is the console output of the program that shows that the pixel arrays read by ffmpeg are the same despite the images being different.


test_image.png 
 [[[253 218 249 255]
 [252 213 248 255]
 [251 200 244 255]]

 [[253 227 250 255]
 [249 209 236 255]
 [243 169 206 255]]

 [[253 235 251 255]
 [245 195 211 255]
 [226 103 125 255]]]
test_image_1.png 
 [[[253 218 249 255]
 [252 213 248 255]
 [251 200 244 255]]

 [[253 227 250 255]
 [249 209 236 255]
 [243 169 206 255]]

 [[253 235 251 255]
 [245 195 211 255]
 [226 103 125 255]]]
test_image_2.png 
 [[[253 218 249 255]
 [252 213 248 255]
 [251 200 244 255]]

 [[253 227 250 255]
 [249 209 236 255]
 [243 169 206 255]]

 [[253 235 251 255]
 [245 195 211 255]
 [226 103 125 255]]]
True
True
{
"media": {
"@ref": "test_image.png",
"track": [
{
"@type": "General",
"ImageCount": "1",
"FileExtension": "png",
"Format": "PNG",
"FileSize": "4105",
"StreamSize": "0",
"File_Modified_Date": "UTC 2023-01-19 13:49:00",
"File_Modified_Date_Local": "2023-01-19 13:49:00"
},
{
"@type": "Image",
"Format": "PNG",
"Format_Compression": "LZ77",
"Width": "3",
"Height": "3",
"BitDepth": "32",
"Compression_Mode": "Lossless",
"StreamSize": "4105"
}
]
}
}

{
"media": {
"@ref": "test_image_1.png",
"track": [
{
"@type": "General",
"ImageCount": "1",
"FileExtension": "png",
"Format": "PNG",
"FileSize": "128",
"StreamSize": "0",
"File_Modified_Date": "UTC 2023-01-24 15:31:58",
"File_Modified_Date_Local": "2023-01-24 15:31:58"
},
{
"@type": "Image",
"Format": "PNG",
"Format_Compression": "LZ77",
"Width": "3",
"Height": "3",
"BitDepth": "32",
"Compression_Mode": "Lossless",
"StreamSize": "128"
}
]
}
}

{
"media": {
"@ref": "test_image_2.png",
"track": [
{
"@type": "General",
"ImageCount": "1",
"FileExtension": "png",
"Format": "PNG",
"FileSize": "128",
"StreamSize": "0",
"File_Modified_Date": "UTC 2023-01-24 15:31:59",
"File_Modified_Date_Local": "2023-01-24 15:31:59"
},
{
"@type": "Image",
"Format": "PNG",
"Format_Compression": "LZ77",
"Width": "3",
"Height": "3",
"BitDepth": "32",
"Compression_Mode": "Lossless",
"StreamSize": "128"
}
]
}
}