
Recherche avancée
Médias (21)
-
1,000,000
27 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Demon Seed
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
The Four of Us are Dying
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Corona Radiata
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Lights in the Sky
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Head Down
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (76)
-
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
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 (...) -
Mise à jour de la version 0.1 vers 0.2
24 juin 2013, parExplications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)
Sur d’autres sites (9908)
-
Video duration huge number tried to run through ffmpeg but still got a different huge number
12 novembre 2016, par jonI recorded a video on Twitch using streamlink, but sometimes when I get the video the video duration is completely off.
For example, if the video is 6 hours long, I get a random number like 235:23:00 or sometimes I just get 00:00. While the video still works you can’t use the time bar because it’s such a large number. When it is 00:00, every time you try to scroll past it starts over.
I tried to run it through ffmpeg and it did change the video duration. However, it is still abnormally large at 29:33:44. What could I be doing wrong ? Can someone start me off in the right direction ?
-
FFmpeg zoompan filter always arcs when panning — how to get a straight‐line pan to a focus rectangle center ?
26 mai, par Mykyta ManuilenkoI’m trying to generate a 10s video from a single PNG image with FFmpeg’s
zoompan
filter, where the crop window zooms in from the image center and simultaneously pans in a perfectly straight line to the center of a predefined focus rectangle.

My input parameters :


"zoompan": {
 "timings": {
 "entry": 0.5, // show full frame
 "zoom": 1, // zoom-in/zoom-out timing
 "outro": 0.5 // show full frame in the end
 },
 "focusRect": {
 "x": 1086.36,
 "y": 641.87,
 "width": 612.44,
 "height": 344.86
 }
}



My input/output values :


- 

- fps : 25
- image input dimensions : 1920 × 1080
- output video dimensions : 1920 × 1080








My calculations :


// Width of the bounding box to zoom into
 const bboxWidth = focusRect.width;

 // Height of the bounding box to zoom into
 const bboxHeight = focusRect.height;

 // X coordinate (center of the bounding box)
 const bboxX = focusRect.x + focusRect.width / 2;

 // Y coordinate (center of the bounding box)
 const bboxY = focusRect.y + focusRect.height / 2;

 // Time (in seconds) to wait before starting the zoom-in
 const preWaitSec = timings.entry;

 // Duration (in seconds) of the zoom-in/out animation
 const zoomSec = timings.zoom;

 // Time (in seconds) to wait on the last frame after zoom-out
 const postWaitSec = timings.outro;

 // Frame counts
 const preWaitF = Math.round(preWaitSec * fps);
 const zoomInF = Math.round(zoomSec * fps);
 const zoomOutF = Math.round(zoomSec * fps);
 const postWaitF = Math.round(postWaitSec * fps);

 // Calculate total frames and holdF
 const totalF = Math.round(duration * fps);

 // Zoom target so that bbox fills the output
 const zoomTarget = Math.max(
 inputWidth / bboxWidth,
 inputHeight / bboxHeight,
 );

 // Calculate when zoom-out should start (totalF - zoomOutF - postWaitF)
 const zoomOutStartF = totalF - zoomOutF - postWaitF;

 // Zoom expression (simple linear in/out)
 const zoomExpr = [
 // Pre-wait (hold at 1)
 `if(lte(on,${preWaitF}),1,`,
 // Zoom in (linear)
 `if(lte(on,${preWaitF + zoomInF}),1+(${zoomTarget}-1)*((on-${preWaitF})/${zoomInF}),`,
 // Hold zoomed
 `if(lte(on,${zoomOutStartF}),${zoomTarget},`,
 // Zoom out (linear)
 `if(lte(on,${zoomOutStartF + zoomOutF}),${zoomTarget}-((${zoomTarget}-1)*((on-${zoomOutStartF})/${zoomOutF})),`,
 // End
 `1))))`,
 ].join('');

 // Center bbox for any zoom
 const xExpr = `${bboxX} - (${outputWidth}/zoom)/2`;
 const yExpr = `${bboxY} - (${outputHeight}/zoom)/2`;

 // Build the filter string
 const zoomPanFilter = [
 `zoompan=`,
 `s=${outputWidth}x${outputHeight}`,
 `:fps=${fps}`,
 `:d=${totalF}`,
 `:z='${zoomExpr}'`,
 `:x='${xExpr}'`,
 `:y='${yExpr}'`,
 `,gblur=sigma=0.5`,
 `,minterpolate=mi_mode=mci:mc_mode=aobmc:vsbmc=1:fps=${fps}`,
 ].join('');



So, my FFmpeg command looks like :


ffmpeg -t 10 -framerate 25 -loop 1 -i input.png -y -filter_complex "[0:v]zoompan=s=1920x1080:fps=25:d=250:z='if(lte(on,13),1,if(lte(on,38),1+(3.1350009796878058-1)*((on-13)/25),if(lte(on,212),3.1350009796878058,if(lte(on,237),3.1350009796878058-((3.1350009796878058-1)*((on-212)/25)),1))))':x='1392.58 - (1920/zoom)/2':y='814.3 - (1080/zoom)/2',gblur=sigma=0.5,minterpolate=mi_mode=mci:mc_mode=aobmc:vsbmc=1:fps=25,format=yuv420p,pad=ceil(iw/2)*2:ceil(ih/2)*2" -vcodec libx264 -f mp4 -t 10 -an -crf 23 -preset medium -copyts output.mp4



Actual behavior :


The pan starts at the image center, but follows a curved (arc-like) trajectory before it settles on the focus‐rect center (first it goes to the right bottom corner and then to the focus‐rect center).


Expected behavior :


The pan should move the crop window’s center in a perfectly straight line from (iw/2, ih/2) to (1392.58, 814.3) over the 25-frame zoom‐in (similar to pinch-zooming on a smartphone).


Questions :


- 

-
How can I express a truly linear interpolation of the crop window center inside zoompan so that the pan path is a straight line in source coordinates ?


-
Is there a better way (perhaps using different FFmpeg filters or scripting) to achieve this effect ?








-
lavc/aarch64 : add hevc sao edge 8x8
28 avril 2022, par J. Dekker