
Recherche avancée
Médias (2)
-
Exemple de boutons d’action pour une collection collaborative
27 février 2013, par
Mis à jour : Mars 2013
Langue : français
Type : Image
-
Exemple de boutons d’action pour une collection personnelle
27 février 2013, par
Mis à jour : Février 2013
Langue : English
Type : Image
Autres articles (109)
-
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...) -
De l’upload à la vidéo finale [version standalone]
31 janvier 2010, parLe chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
Upload et récupération d’informations de la vidéo source
Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)
Sur d’autres sites (15006)
-
Getting motion vector side data from ffmpeg from the compressed domain (without performing full decode)
4 mai 2019, par John AllardThe ffmepg source code comes with a file
extract_mvs.c
which is quite helpful in showing how to extract the motion vectors from an h264-encoded video file. Unfortunately, it performs a full decode before getting the motion vectors from the side data of the stream.One should be technically able to (as was confirmed by FFMPEG developer Carl Eugen in this thread https://ffmpeg.org/pipermail/libav-user/2016-December/009913.html) get the motion vectors from the compressed domain before performing a full decode step. This would obviously be less computationally intensive as one wouldn’t have to perform a full decode.
Is it possible to do this with ffmpeg/libavcodec as is ? I know Carl said that it wasn’t possible but that was 3 years ago. If it is not currently possible, does anyone have any hints on how one would go about modifying the ffmpeg source code to do this ?
Thanks
-
Split a movie into 1000+ shots using PyAV in a single pass ?
3 mai 2019, par Andrew KlaassenI need to split a 44 minute MP4 into 1000 shots (i.e. separate MP4s) with ffmpeg. I want to do it quickly (i.e. in a single pass rather than 1000 passes), I need perfect frame accuracy, and I need to do it in Windows.
The Windows command-line length limit is stopping me from doing this, and I’m wondering if someone could show me an example of how to do this using a library like PyAV or Avpy. (Libraries like ffmpeg-python and ffmpy won’t help, since they simply construct an ffmpeg command line and run it, leading to the same Windows command-line length issue that I already have.)
After much testing and gnashing of teeth, I’ve learned that the only way to get perfect frame accuracy from ffmpeg, 100% of the time, is to use the "select" filter. ("-ss" in the newest versions of ffmpeg is frame accurate 99% of the time ; unfortunately, that’s not good enough for this application.)
There are two ways to use "select" for this. There’s the slow way, which I’m doing now, and which requires having ffmpeg open the file 1000 times :
for (start, end, name) in shots:
audio_start = start / frame_rate
audio_end = end + 1 / frame_rate
cmd = [
path_to_ffmpeg,
'-y',
'-i', input_movie,
'-vf', r'select=between(n\,%s\,%s),setpts=PTS-STARTPTS' % (start, end),
'-af', 'atrim=%s:%s,asetpts=PTS-STARTPTS' % (audio_start, audio_end),
'-c:v', 'libx264',
'-c:a', 'aac',
'-write_tmcd', '0',
'-g', '1',
'-r', str(frame_rate),
name + '.mp4',
'-af', 'atrim=%s:%s' % (audio_start, audio_end),
name + '.wav',
]
subprocess.call(cmd)And there’s the fast way, which causes the Windows command line to explode when there are too many shots. The long command line leads to a failure to run :
cmd = [
path_to_ffmpeg,
'-y',
'-i',
input_movie,
]
for (start, end, name) in shots:
audio_start = start / frame_rate
audio_end = end + 1 / frame_rate
cmd.extend([
'-vf', r'select=between(n\,%s\,%s),setpts=PTS-STARTPTS' % (start, end),
'-af', 'atrim=%s:%s,asetpts=PTS-STARTPTS' % (audio_start, audio_end),
'-c:v', 'libx264',
'-c:a', 'aac',
'-write_tmcd', '0',
'-g', '1',
'-r', str(frame_rate),
name + '.mp4',
'-af', 'atrim=%s:%s' % (audio_start, audio_end),
name + '.wav',
]
subprocess.call(cmd)I’ve looked through the documentation of PyAV and Avpy, but I haven’t been able to figure out whether the second form of my function is something I could do there, or how I’d go about doing it. If it is possible, would someone be able to write a function equivalent to my second function, using either library ?
-
How to convert jquery animation to movie or gif format ?
19 avril 2019, par Barış DemirdelenHow to convert jquery animation to movie or gif format ?
Animation and screenshot functions call or too slow.
Help me pleaseAnimation Function
function resim1(){
$("#resim-1").animate({ left: leftx}, startEffectTime1);
......
}ScreenShot Function but too slow
function shot(){
html2canvas($("#main"), {
onrendered: function(canvas) {
theCanvas = canvas;
document.body.appendChild(canvas);
Canvas2Image.saveAsPNG(canvas);
$("#img-out").append(canvas);
}
});
}Call animation and screenshot functions
$(document).ready(function() {
resim1(); // Animate start
setInterval(function(){ // Screenshot start
shot();
},500);
});Bottom function call animation breaking :/
$(document).ready(function() {
resim1(); // Animate start
setInterval(function(){ // Screenshot start
shot();
},500);
});