
Recherche avancée
Médias (16)
-
#7 Ambience
16 octobre 2011, par
Mis à jour : Juin 2015
Langue : English
Type : Audio
-
#6 Teaser Music
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#5 End Title
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#3 The Safest Place
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#4 Emo Creates
15 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#2 Typewriter Dance
15 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
Autres articles (86)
-
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. -
Organiser par catégorie
17 mai 2013, parDans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...) -
Récupération d’informations sur le site maître à l’installation d’une instance
26 novembre 2010, parUtilité
Sur le site principal, une instance de mutualisation est définie par plusieurs choses : Les données dans la table spip_mutus ; Son logo ; Son auteur principal (id_admin dans la table spip_mutus correspondant à un id_auteur de la table spip_auteurs)qui sera le seul à pouvoir créer définitivement l’instance de mutualisation ;
Il peut donc être tout à fait judicieux de vouloir récupérer certaines de ces informations afin de compléter l’installation d’une instance pour, par exemple : récupérer le (...)
Sur d’autres sites (6344)
-
Concatenate two files while keeping the duration the same as the two files separately
21 septembre 2020, par John PollardWhen I calculate the duration of each individual file I want to concatenate I get 10.24 for both. So I figured when I concatenate the two files I would get a duration of file A plus file B or 10.24 + 10.24 giving me a total duration of 20.48 for the combined file. But no matter what command I use to concentrate I cannot get the same duration. Am I doing something wrong ?


ffprobe -i "audioA.mp3" -show_entries format=duration -v quiet -of csv="p=0"
10.24 



ffprobe -i "audioB.mp3" -show_entries format=duration -v quiet -of csv="p=0"
10.24 



Which makes a total of 10.24 + 10.24 = 20.48 seconds


But when I concatenate the files I get a different duration. Here are my different tries.


Try 1


FFMPEG -y -i 'concat:audioA.mp3|audioB.mp3' -map 0:a -codec:a copy -map_metadata -1 output.mp3
ffprobe -i "output.mp3" -show_entries format=duration -v quiet -of csv="p=0"
20.610612



Try 2


FFMPEG -y -i audioA.mp3 -i audioB.mp3 -filter_complex [0:a][1:a]concat=n=2:v=0:a=1 output.mp3
ffprobe -i "output.mp3" -show_entries format=duration -v quiet -of csv="p=0
20.453878



Try 3


FFMPEG -y -i 'concat:audioA.mp3|audioB.mp3' output.mp3
ffprobe -i "output.mp3" -show_entries format=duration -v quiet -of csv="p=0"
20.506122



- 

- Is there a command to use to concatenate that will output a file with
the same duration ?
- Is there a way to do that without reencoding ?
- What makes the durations different in the combined files above ?








-
Cross Fade Arbitrary Number of Videos ffmpeg Efficiently
15 avril 2022, par jippyjoe4I have a series of videos named 'cut_xxx.mp4' where xxx represents a number 000 through 999. I want to do a cross fade on an arbitrary number of them to create a compilation, and each fade should last 4 seconds long. Currently, I'm doing this with Python, but I suspect this is not the most efficient way :


import subprocess 
def get_length(filename):
 result = subprocess.run(["ffprobe", "-v", "error", "-show_entries",
 "format=duration", "-of",
 "default=noprint_wrappers=1:nokey=1", filename],
 stdout=subprocess.PIPE,
 stderr=subprocess.STDOUT)
 return float(result.stdout)

CROSS_FADE_DURATION = 4

basevideo = 'cut_000.mp4'
for ii in range(total_videos - 1):
 fade_start = math.floor(get_length(basevideo) - CROSS_FADE_DURATION) # new one
 outfile = f'cross_fade_{ii}.mp4'
 append_video = f'cut_{str(ii+1).zfill(3)}.mp4'
 cfcmd = f'ffmpeg -y -i {basevideo} -i {append_video} -filter_complex "xfade=offset={fade_start}:duration={CROSS_FADE_DURATION}" -an {outfile}'
 basevideo = outfile
 subprocess.call(cfcmd)
 print(fade_start)



I specifically remove the audio with
-an
because I'll add an audio track later. The issue I see here is that I'm compressing the video over and over again with each individual video file I add to the compilation because I'm only adding one video at a time and then re-encoding.

There should be a way to cross fade multiple videos together into a compilation, but I'm not sure what this would look like or how I would get it to work for an arbitrary number of video files of different durations. Any idea on what that monolithic ffmppeg command would look like or how I could automatically generate it given a list of videos and their durations ?


-
How to create an animated GIF using FFMPEG with an interval ?
26 octobre 2014, par Jeff WilbertHello fellow overflowers,
A brief overview of what I’m trying to accomplish ; I have a site that will accept video uploads, uploads get converted into the mp4 format to be uniformed and playable on the web using one of the many available players. That part is all fine and dandy.
The problem now is I want to show the user a short scaled preview (animated gif) of the video before they click to play it. The code I’m working with now is
ffmpeg -i test.mp4 -vf scale=150:-1 -t 10 -r 1 test.gif
Which works for creating a scaled animated gif with a fixed width of 150px at a rate of 1 frame per second but its only an animation of the first 10 seconds of the video. I’m trying to do something that spreads out the frame gap to cover the whole video length but create an animated gift that’s no more then 10 seconds long.
For example say I have a video that’s 30 seconds I want the gif to be 10 seconds long but cover frames of the entire 30 seconds so it might start at frame 3 or 3 seconds in and create a frame in the gif, then at 6 seconds in the video create another frame, then 9 seconds in another, and so forth where the final outcome is
example video 30 seconds long example video 1 minute 45 second long
video position - gif frame/per second video position - gif frame/per second
00:03:00 1 00:10:50 1
00:06:00 2 00:21:00 2
00:09:00 3 00:31:50 3
00:12:00 4 00:42:00 4
00:15:00 5 00:52:50 5
00:18:00 6 01:03:00 6
00:21:00 7 01:13:50 7
00:24:00 8 01:24:00 8
00:27:00 9 01:34:50 9
00:30:00 10 01:45:00 10
3 second interval between frames 10.5 second interval between framesWhere you end up with an animated gif that’s 10 seconds long showing a preview of the entire video no matter the length of it. Which basically just boils down to
video length / 10 (length of desired animated gif) = interval to use between frames
but I don’t know how I can use that data to accomplish my problem...So does anyone have an idea or suggestion on how this can be accomplished with relative ease ? I can probably do it by calculating the length through code and running a command to extract each individual frame from the video that’s needed then generate a gif from the images but I’d like to be able to do it all with just one command. Thanks.