
Advanced search
Other articles (97)
-
MediaSPIP 0.1 Beta version
25 April 2011, byMediaSPIP 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 (...) -
HTML5 audio and video support
13 April 2011, byMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 March 2010, byLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3); le plugin champs extras v2 nécessité par (...)
On other websites (11870)
-
Use ffmpeg to match an image to source frames in video [closed]
25 May 2024, by user22335954I'm trying to write an application to split a single video into multiple pieces based on the appearance of a specific image. (Think title cards). I have video files that may have more than one episode or content inside of a single file and I want them split anywhere I find that title card or image.


My application works by the user providing a timestamp in the format of 00:00:00 to specify the title card image which is then used like this:


ffmpeg -i FILE -qmin 1 -qscale:v 1 -vframes 00:00:00 -f image2 img.png



Now I want to compare that image (img.png) to the source video file using the following example command I've found:


ffmpeg -i FILE -loop 1 -i img.png -an -filter_complex "blend=difference:shortest=1,blackframe=90:20" -f null



I've had to play around with the blackframe=90:20 values to get what I think are correct matches, but I don't understand what these values and/or the blackframe filter is actually controlling. The blend documentation: https://ffmpeg.org/ffmpeg-filters.html#Examples-46 doesn't seem to go into much detail about what is actually happening. I do understand the difference blend means I'm essentially looking for the smallest difference, indicating a frame match to my img, but beyond that I'm sort of just guessing.


Additionally, the output shows a bunch of:


[Parsed_blackframe_1 @ 0x5c1183081880] frame:195 pblack:99 pts:6506 t:6.506000 type:B last_keyframe:135



Based on the frames I can parse those out to find the non-sequential frames and find how how many segments I expect in the video, but when I go to split them, I don't know how to translate the frame or the t value into a timestamp format of 00:00:00. Even for matches that I'm 100% sure of, the frame values don't seem to line up with what I expect. For example, from watching the video, I know that a perfect match occurs at exactly 00:01:45, but the blackframe data says the match occurs at frame 1471 or t:49.08 (the video has a framerate of 29.97). 1471 / 29.97 is indeed 49.08, but that does not correlate to the actual time of 1:45 (105 seconds). How can I convert these values into timestamps (or just show the timestamps of the frames)?


-
Revision 4c5a4efc38: Merge "Re-distribute hierarchical vector match pattern"
25 February 2015, by Jingning HanChanged Paths:
Modify /vp9/encoder/vp9_encodeframe.c
Merge "Re-distribute hierarchical vector match pattern" -
Revision c3e08e4aeb: Merge "Define var threshold as unsigned int to match the type"
11 April 2014, by Yunqing WangChanged Paths:
Modify /vp9/encoder/vp9_encodeframe.c
Merge "Define var threshold as unsigned int to match the type"