
Recherche avancée
Médias (1)
-
The pirate bay depuis la Belgique
1er avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (55)
-
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela. -
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...) -
Contribute to translation
13 avril 2011You can help us to improve the language used in the software interface to make MediaSPIP more accessible and user-friendly. You can also translate the interface into any language that allows it to spread to new linguistic communities.
To do this, we use the translation interface of SPIP where the all the language modules of MediaSPIP are available. Just subscribe to the mailing list and request further informantion on translation.
MediaSPIP is currently available in French and English (...)
Sur d’autres sites (4625)
-
Resizing AVIF images with transparency with FFmpeg [closed]
4 octobre 2024, par CalebmerI'm trying to resize an image with transparency with FFmpeg, however the output looks to only be a resized version of the alpha layer.


When I try to do a noop transform of the AVIF image with an alpha layer :


ffmpeg -i input.avif output.avif



output.avif
appears to be the alpha layer with black representing alpha 0 and white representing alpha 1.

ffprobe input.avif
gives me :

ffprobe version 7.0.2 Copyright (c) 2007-2024 the FFmpeg developers
 built with Apple clang version 15.0.0 (clang-1500.3.9.4)
 configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/7.0.2 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags='-Wl,-ld_classic' --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon
 libavutil 59. 8.100 / 59. 8.100
 libavcodec 61. 3.100 / 61. 3.100
 libavformat 61. 1.100 / 61. 1.100
 libavdevice 61. 1.100 / 61. 1.100
 libavfilter 10. 1.100 / 10. 1.100
 libswscale 8. 1.100 / 8. 1.100
 libswresample 5. 1.100 / 5. 1.100
 libpostproc 58. 1.100 / 58. 1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.avif':
 Metadata:
 major_brand : avif
 minor_version : 0
 compatible_brands: avifmif1miaf
 Duration: N/A, start: 0.000000, bitrate: N/A
 Stream #0:0[0x1]: Video: av1 (libdav1d) (Main) (av01 / 0x31307661), gray(pc), 336x252 [SAR 1:1 DAR 4:3], 1 fps, 1 tbr, 1 tbn (default)
 Stream #0:1[0x2]: Video: av1 (libdav1d) (High) (av01 / 0x31307661), yuv444p(pc, smpte170m/bt709/iec61966-2-1), 336x252 [SAR 1:1 DAR 4:3], 1 fps, 1 tbr, 1 tbn



Seeing there are two streams (the first stream being
gray(pc)
, probably the alpha layer) I next tried :

ffmpeg -i input.avif -map 0:v:1 output.avif



To see the second stream and it gave me the image without any alpha channel. Transparent pixels were black.


Ultimately I want to resize the AVIF file with
ffmpeg -i input.avif -vf "scale=iw/2:-1" output.avif
but that appears to only resize the greyscale alpha channel. Furthermore, this will be part of a script that operates on some AVIF files without an alpha channel and some AVIF files with an alpha channel and I don't know which files have an alpha channel ahead of time.ffmpeg -i input.avif -vf "scale=iw/2:-1" output.avif
works for files without an alpha channel.

-
Marketing Cohort Analysis : How To Do It (With Examples)
12 janvier 2024, par Erin -
How to reinsert edited metadata stream information from the FFMETADATAFILE file ? [closed]
6 septembre 2024, par SENYCHI'm working on simplifying and speeding up the process of editing video metadata for user convenience. I've successfully edited metadata streams using console commands, such as :


ffmpeg -i INPUT.mp4 -map 0 -metadata:s:0 "handler_name=An other video" -metadata:s:1 "handler_name=An other audio recording in russian" -metadata:s:2 "handler_name=An other audio recording in english" -metadata:s:3 "handler_name=An other audio recording in japanese" -c copy OUTPUT.mp4



However, I'd like to accomplish this through a ffmetadata file. Here's the approach I've taken :


ffmpeg -t 0 -i INPUT.mp4 -map 0 -c copy -f ffmetadata ffmetadata.txt -hide_banner



Original ffmetadata.txt is :


;FFMETADATA1
major_brand=isom
minor_version=512
compatible_brands=isomiso2avc1mp41
encoder=Lavf61.5.101
[STREAM]
language=und
handler_name=The best video
vendor_id=[0][0][0][0]
[STREAM]
language=rus
handler_name=The best russian language
vendor_id=[0][0][0][0]
[STREAM]
language=eng
handler_name=The best english language
vendor_id=[0][0][0][0]
[STREAM]
language=jpn
handler_name=The best japanese language
vendor_id=[0][0][0][0]



Edit the ffmetadata.txt file to update the handler_name values :


;FFMETADATA1
major_brand=isom
minor_version=512
compatible_brands=isomiso2avc1mp41
encoder=Lavf61.5.101
[STREAM]
language=und
handler_name=An other video
vendor_id=[0][0][0][0]
[STREAM]
language=rus
handler_name=An other audio recording in russian
vendor_id=[0][0][0][0]
[STREAM]
language=eng
handler_name=An other audio recording in english
vendor_id=[0][0][0][0]
[STREAM]
language=jpn
handler_name=An other audio recording in japanese
vendor_id=[0][0][0][0]



Attempt to apply the updated metadata from ffmetadata2.txt :


C:\Users\Alexander\Videos>ffmpeg -i INPUT.mp4 -i ffmetadata2.txt -map 0:v -map 0:a -map_metadata 1 -c copy OUTPUT2.mp4 -hide_banner



Despite these steps, I've noticed that only the global metadata is updated, while the metadata for each stream remains unchanged. The console output shows that metadata for each stream is not updated as expected.


What am I missing ? How can I ensure that the stream-specific metadata is also updated correctly when using a ffmetadata file ?


Additional Information :


- 

- FFmpeg version : 2024-08-26-git-98610fe95f-full_build
- The ffmetadata file format and the approach I've used should be correct according to the FFmpeg documentation.






I would greatly appreciate any recommendations or suggestions on how to solve this problem !


I found a bad solution for my problem, but it still isn't ideal as it requires specifying
-map_metadata:s:N 1:s:N
for each stream individually, which is quite cumbersome. Is there a way to simplify this process and avoid having to set metadata for each stream separately ?

The command I’m using is :


C:\Users\Alexander\Videos>ffmpeg -i INPUT.mp4 -i ffmetadata2.txt -map 0 -map_metadata:s:0 1:s:0 -map_metadata:s:1 1:s:1 -map_metadata:s:2 1:s:2 -map_metadata:s:3 1:s:3 -c copy OUTPUT2.mp4 -hide_banner



This works, but having to specify
-map_metadata:s:N
for each stream creates extra work, especially as the number of streams increases. Is there a more efficient way to handle this ?