
Recherche avancée
Autres articles (59)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
XMP PHP
13 mai 2011, parDixit Wikipedia, XMP signifie :
Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...) -
Contribute to documentation
13 avril 2011Documentation is vital to the development of improved technical capabilities.
MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
To contribute, register to the project users’ mailing (...)
Sur d’autres sites (6260)
-
FFmpeg extracts different number of frames when using -filter_complex together with the split filter
14 juin 2016, par KonstantinI am fiddling with ffmpeg, extracting jpg pictures from videos. I am splitting the input stream into two output stream with -filter_complex, because I process my videos from direct http link (scarce free space on VPS), and I don’t want to read through the whole video twice (traffic quota is also scarce). Furthermore I need two series of pitcures, one for applying some filters (fps changing, scale, unsharp, crop, scale) and then selecting from them by naked eye, and the other series being untouched (expect fps changing, and cropping the black borders), using them for furter processing after selecting from the first series. I call my ffmpeg command from Ruby script, so it contains some string interpolation / substitution in the form #{}. My working command line looked like :
ffmpeg -y -fflags +genpts -loglevel verbose -i #{url} -filter_complex "[0:v]fps=fps=#{new_fps.round(5).to_s},split=2[in1][in2];[in1]crop=iw-#{crop[0]+crop[2]}:ih-#{crop[1]+crop[3]}:#{crop[0]}:#{crop[1]},scale=#{thumb_width}:-1:flags=lanczos,unsharp,lutyuv=y=gammaval(#{gammaval})[out1];[in2]crop=iw-#{crop[0]+crop[2]}:ih-#{crop[1]+crop[3]}:#{crop[0]}:#{crop[1]}[out2]" -f #{format} -c copy #{options} -map_chapters -1 - -map '[out1]' -f image2 -q 1 %06d.jpg -map '[out2]' -f image2 -q 1 big_%06d.jpg
#options is set when output is MP4, then its value is "-movflags frag_keyframe+empty_moov" so I can send it to standard output without seeking capability and uploading the stream somewhere without making huge temporary video files.
So I get two series of pictures, one of them is filtered, sharpened, the other is in fact untouched. And I also get an output stream of the video on the standard output which is handled by Open3.popen3 library connecting the output stream of the input of two other commands.Problem arise when I would like to seek in the video to a given point and omitting the streamed video output on the STDOUT. I try to apply combined seeking, fast seek before the given time code and the slow seek to the exact time code, given in floating seconds :
ffmpeg -report -y -fflags +genpts -loglevel verbose -ss #{(seek_to-seek_before).to_s} -i #{url} -ss #{seek_before.to_s} -t #{t_duration.to_s} -filter_complex "[0:v]fps=fps=#{pics_per_sec},split=2[in1][in2];[in1]crop=iw-#{crop[0]+crop[2]}:ih-#{crop[1]+crop[3]}:#{crop[0]}:#{crop[1]},scale=#{thumb_width}:-1:flags=lanczos,unsharp,lutyuv=y=gammaval(#{gammaval})[out1];[in2]crop=iw-#{crop[0]+crop[2]}:ih-#{crop[1]+crop[3]}:#{crop[0]}:#{crop[1]}[out2]" -map '[out1]' -f image2 -q 1 %06d.jpg -map '[out2]' -f image2 -q 1 big_%06d.jpg
Running this command I get the needed two series of pictures, but they contains different number of images, 233 vs. 484.
Actual values can be read from this interpolated / substituted command line :
ffmpeg -report -y -fflags +genpts -loglevel verbose -ss 1619.0443599999999 -i fabf.avi -ss 50.0 -t 46.505879999999934 -filter_complex "[0:v]fps=fps=5,split=2[in1][in2];[in1]crop=iw-0:ih-0:0:0,scale=280:-1:flags=lanczos,unsharp,lutyuv=y=gammaval(0.526316)[out1];[in2]crop=iw-0:ih-0:0:0[out2]" -map '[out1]' -f image2 -q 1 %06d.jpg -map '[out2]' -f image2 -q 1 big_%06d.jpg
Detailed log can be found here : http://www.filefactory.com/file/1yih17k2hrmp/ffmpeg-20160610-223820.txt
Before last line it shows 188 duplicated frames.I also tried passing "-vsync 0" option, but didn’t help. When I generate the two series of images in two consecutive steps, with two different command lines, then no problem arises, I get same amount of pictures in both series of course. So my question would be, how can I use the later command line, generating the two series of images by only one reading / parsing of the remote video file ?
-
how to get interval frames and key frames by ffmpeg with one command ?
17 janvier 2023, par shsfI need to get the pictures of the video with one command.


- 

- gets a frame by interval ;For example 0s 10s 20s 30s ... ;In order to generate sprites
sprite
- gets a keyframe at a fixed interval ; In order to show the video synopsis ;






How to modify the following commands ?


ffmpeg -y -ss -5 -i <input /> -vf fps=fps=1/10 -s 480x270 p1/out-%04d.png -vf "select='eq(pict_type,PICT_TYPE_I)'" -vsync vfr -s 480x270 -frame_pts true p2/out-%05d.png


-
FFMPEG - moov atom not found after elaboration
8 juillet 2019, par Pier Giorgio MisleyI have a command where I put overlay images over a video.
After that I resize the output to fit certain dimensions.Everything usually works fine, but sometimes and only from a certain desktop computer, when the second elaboration starts, the command returns an error :
moov atom not found
Lets put some code :
My first command is pretty long, I past just the important stuff with a 2 pictures example :
-i inputVideo.mp4 -i 1.jpg -i 2.jpg
-filter_complex "[1:v]format=yuva422p,[Other effects...][im1];
[2:v]format=yuva422p,[Other effects...][im2];
[0][im1]overlay=(main_w-overlay_w)/2:(main_h - overlay_h)/2[o1];
[o1][im2]overlay=(main_w-overlay_w)/2:(main_h - overlay_h)/2"
-crf 18 -c:a copy output.mp4My second command is the following :
-i output.mp4 -crf 19 resized.mp4
I think I am missing something in my first command, but what ?
If I execute the same exact code from my portable computer, it works fine.Thanks for the help !
Here is the link for both log ffmpeg logs
Last edit (I hope) :)
I added in that github repository the ffmpeg command I tried and the source files to reproduce the problem. I hope anyone will ever find a solution
In the repository there are :
- LAST_CommandLine_Command -> it’s the ffmpeg command I am running
- LAST_CommandLine_Command_Output -> it is one of my ffmpeg’s run output (it’s the last I’ve tried)
- Files from 01.jpg to 10.jpg -> those are the pictures I’m overlaying over the video with the command
- My input video for the ffmpeg command.
I tried running this command with :
A Windows console application that run it for me
Directly from command line
With a command line dotnet myapplication.dll (running my application not from debug but from publish)
Results :
It worked 1 times out of 10 for those specific files, in other cases it randomly stopped after some seconds (fron 45’’ to 1’55’’, depending on run).
Note : I tried with
-threads 1
,-threads 2
and without any thread limitation. It failed in all cases