
Recherche avancée
Médias (1)
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
Autres articles (94)
-
Les formats acceptés
28 janvier 2010, parLes commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
ffmpeg -codecs ffmpeg -formats
Les format videos acceptés en entrée
Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
Les formats vidéos de sortie possibles
Dans un premier temps on (...) -
Ajouter notes et légendes aux images
7 février 2011, parPour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
Modification lors de l’ajout d’un média
Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...) -
Supporting all media types
13 avril 2011, parUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
Sur d’autres sites (6414)
-
how to not remove transparency using negate option on png files ffmpeg
27 mars 2024, par ReilbasI'm new to FFMPEG.
To make it simple, I've created a program that applies a negative filter to small images in png format. For some of the images, everything is fine and the transparency is maintained... But for others, FFMPEG converted the transparency to either black or white pixels.


I'm just using the command :

ffmpeg -y -i input.png -vf negate output.png


I downloaded the latest binaries for windows from https://www.gyan.dev/ffmpeg/builds/ (2024/03/25)


-
FFMPEG - copy the SPECIFED tracks only, ignore all others
10 janvier 2024, par GDPI have some very strange MP4 files that we get regularly for processing created by Wowza. Neither FFMPEG or MEDIAINFO can detect that there are subtitles soft-coded in them, but they ARE there, I can extract them with ccextractor, and when they're played, the captions appear later in the video where the actually start in the timeline.


I've tried every variation of copying with/without re-encoding, but all the answers show how to "omit" the subtitles with -sn such as these :


ffmpeg -i 3078.mp4 -c copy -sn 3078_sn.mp4
 ffmpeg -i 3078.mp4 -c:v libx264 -c:a ac3 -map 0:v:0 -map 0:a:1 3078_sn.mp4
 ffmpeg -i 3078.mp4 -map 0:v:0 -map 0:a:0 -map -0:s -map -0:d -c copy 3078_sn2.mp4 -y



FFprobe :


ffprobe 3078.mp4 -hide_banner
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001ef2bcd9e00] multiple fourcc not supported
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '3078.mp4':
 Metadata:
 major_brand : f4v
 minor_version : 0
 compatible_brands: isommp42m4v
 creation_time : 2024-01-09T19:59:28.000000Z
 Duration: 02:17:18.47, start: 0.000000, bitrate: 2165 kb/s
 Stream #0:0[0x1](eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 1902 kb/s, 29.96 fps, 29.97 tbr, 90k tbn (default)
 Metadata:
 creation_time : 2024-01-09T19:59:28.000000Z
 handler_name : WowzaStreamingEngine
 vendor_id : [0][0][0][0]
 encoder : WowzaStreamingEngine
 Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 257 kb/s (default)
 Metadata:
 creation_time : 2024-01-09T19:59:28.000000Z
 handler_name : WowzaStreamingEngine
 vendor_id : [0][0][0][0]
 Stream #0:2[0x3](eng): Data: none (amf0 / 0x30666D61), 1 kb/s (default)
 Metadata:
 creation_time : 2024-01-09T19:59:28.000000Z
 handler_name : WowzaStreamingEngine
Unsupported codec with id 0 for input stream 2



The problem seems to be that FFMPEG isn't detecting they're there, and so copies them anyways. My assumption is that they're not stored in the header of the MP4 properly (or however that's done), so get because they're later detect, but weren't omitted when it checked the header (pure guesswork on that).


So, is there a way to copy ONLY the video, regardless of whatEVER tracks may or not be in the file, then do the same for audio, and then merge the two single-track files ?


-
ffmpeg chains parameters and options while being used in a loop
10 janvier 2024, par Simon NazarenkoI got a code that generates videos from scratch (got gifs, captions and audio). It works amazing when done once, however, when put in a loop and it should create more than 1 video it freezes being caused by memory leak. Upon investigation I realized that ffmpeg (v1.1.0) chains the loop iterations carrying the parameters and options from the first iteration to the second. It then breaks (overwrites) the first video and infinitely writes the second.


This is my dependency


const ffmpeg = require("fluent-ffmpeg")()
 .setFfprobePath(ffprobe.path)
 .setFfmpegPath(ffmpegInstaller.path)



It looks like this


async function convertGifToVideo(
 gifFile,
 audioFile,
 subtitlesFile,
 tempDirectory
) {
 return new Promise((resolve, reject) => {
 const outputFile = `${tempDirectory}/video_${Date.now()}.mp4`
 
 ffmpeg
 .input(gifFile)
 .inputFormat("gif")
 .inputOptions("-stream_loop -1")
 .input(audioFile)
 .outputOptions("-shortest")
 .outputOptions(`-vf subtitles=${subtitlesFile}`)
 .outputOptions("-report")
 .output(outputFile)
 .on("end", () => {
 console.log(`Combined ${gifFile} and ${audioFile} into ${outputFile}`)
 resolve(outputFile)
 })
 .on("error", (err, stdout, stderr) => {
 console.error("Error combining GIF and audio:", err)
 console.error("ffmpeg stdout:", stdout)
 console.error("ffmpeg stderr:", stderr)
 reject(err)
 })
 .run()
 })
}



And it's called in a loop


for (const key in script) {
 if (script.hasOwnProperty(key)) {
 ...stuff

 const videoFileName = await convertGifToVideo(
 gifFileName,
 audioFileName,
 subtitlesFileName,
 tempDirectory
 )
 }
 }



Here is a piece of log from the first video generation




ffmpeg started on 2024-01-10 at 02:58:52
Report written to "ffmpeg-20240110-025852.log"
Command line :
/home/simon/Documents/AFYTUBE/node_modules/@ffmpeg-installer/linux-x64/ffmpeg -f gif -stream_loop -1 -i ./temp/gif_funny_frogs.gif -i ./temp/funny_frogs.mp3 -y -shortest -vf "subtitles=./temp/funny_frogs.srt" -report ./temp/video_1704880732780.mp4




Here is a piece of log from the second one




/home/simon/Documents/AFYTUBE/node_modules/@ffmpeg-installer/linux-x64/ffmpeg -f gif -stream_loop -1 -i ./temp/gif_funny_frogs.gif -i ./temp/funny_frogs.mp3 -f gif -stream_loop -1 -i ./temp/gif_leg_exercises.gif -i ./temp/leg_exercises.mp3 -y -shortest -vf "subtitles=./temp/funny_frogs.srt" -report -shortest -vf "subtitles=./temp/leg_exercises.srt" -report ./temp/video_1704880732780.mp4 ./temp/video_1704880750879.mp4




Any ideas what I am doing wrong ?