
Recherche avancée
Médias (1)
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
Autres articles (49)
-
HTML5 audio and video support
13 avril 2011, parMediaSPIP 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 (...) -
List of compatible distributions
26 avril 2011, parThe table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...) -
Selection of projects using MediaSPIP
2 mai 2011, parThe examples below are representative elements of MediaSPIP specific uses for specific projects.
MediaSPIP farm @ Infini
The non profit organizationInfini develops hospitality activities, internet access point, training, realizing innovative projects in the field of information and communication technologies and Communication, and hosting of websites. It plays a unique and prominent role in the Brest (France) area, at the national level, among the half-dozen such association. Its members (...)
Sur d’autres sites (7979)
-
ffmpeg : how to extract keyframes from certain time ranges into filenames with timestamps from the original video ?
18 mai 2023, par Display NameI have as input specific timestamps I'm interested in, and I wish to extract keyframes closest to them. I thus use
skip_frame nokey
and aselect='between(t,...,...)+between(t,...,...)+...'
where I add a few seconds around each time I'm interested in (enough so that at least one keyframe will fall in that range based on the input video I have, and then can manually delete if more than one came out in a given time range in my sequence). Chaining thebetween()
s lets me use a single command to extract all of these images in order to avoid seeking from the beginning of the video for each image, were I to use separate command per image. So this part works fine.

The problem is that I want the output image filenames to correspond to the timestamps, in seconds (or some decimal fraction of seconds like tenths or milliseconds) of the extracted frames with respect to the INPUT video. With older versions of ffmpeg, I used to be able for example to get output filenames being times in terms of tenths of a second with
-vsync 0 -r 10 -frame_pts true %05d.webp
but with recent versions, that results in the errorOne of -r/-fpsmax was specified together a non-CFR -vsync/-fps_mode. This is contradictory.
Replacing the deprecated-vsync
with-fps_mode
and one of the CFR values results in ffmpeg DUPLICATING frames to fulfill the specified-r
value which results in a huge number of output images. The way I am able to get just the set of keyframes I want and no duplications is to drop the-r
and use-fps_mode passthrough
, but then I lose the naming of the output files by their time in the original video. Searching around here and elsewhere on the web, I have tried things like settingsettb=...,setpts=...
and-copyts
but in the end couldn't get it to work.

As a complete example, the command

ffmpeg -skip_frame nokey -i "input.mp4" -vf "select='between(t,15,25)+between(t,40,50)+between(t,95,105)+between(t,120,130)+between(t,190,200)',scale='min(480,iw)':-2:flags=lanczos" -fps_mode passthrough -copyts -c:v libwebp -quality 75 -preset photo -frame_pts true %05d.webp
gives me the right set of output images, but not the filenames that would make it easy for me to quickly manually find frames corresponding to specific times in the original video.

-
ffmpeg extract keyframes from certain time ranges to filenames with timestamps from original video
17 mai 2023, par Display NameI have as input specific timestamps I'm interested in, and I wish to extract keyframes closest to them. I thus use
skip_frame nokey
and aselect='between(t,...,...)+between(t,...,...)+...'
where I add a few seconds around each time I'm interested in (enough so that at least one keyframe will fall in that range based on the input video I have, and then can manually delete if more than one came out in a given time range in my sequence). Chaining thebetween()
s lets me use a single command to extract all of these images in order to avoid seeking from the beginning of the video for each image, were I to use separate command per image. So this part works fine.

The problem is that I want the output image filenames to correspond to the timestamps, in seconds (or some decimal fraction of seconds like tenths or milliseconds) of the extracted frames with respect to the INPUT video. With older versions of ffmpeg, I used to be able for example to get output filenames being times in terms of tenths of a second with
-vsync 0 -r 10 -frame_pts true %05d.webp
but with recent versions, that results in the errorOne of -r/-fpsmax was specified together a non-CFR -vsync/-fps_mode. This is contradictory.
Replacing the deprecated-vsync
with-fps_mode
and one of the CFR values results in ffmpeg DUPLICATING frames to fulfill the specified-r
value which results in a huge number of output images. The way I am able to get just the set of keyframes I want and no duplications is to drop the-r
and use-fps_mode passthrough
, but then I lose the naming of the output files by their time in the original video. Searching around here and elsewhere on the web, I have tried things like settingsettb=...,setpts=...
and-copyts
but in the end couldn't get it to work.

As a complete example, the command

ffmpeg -skip_frame nokey -i "input.mp4" -vf "select='between(t,15,25)+between(t,40,50)+between(t,95,105)+between(t,120,130)+between(t,190,200)',scale='min(480,iw)':-2:flags=lanczos" -fps_mode passthrough -copyts -c:v libwebp -quality 75 -preset photo -frame_pts true %05d.webp
gives me the right set of output images, but not the filenames that would make it easy for me to quickly manually find frames corresponding to specific times in the original video.

-
Is there any way to have a number of video feeds cycle in rotation with ffmpeg ?
1er novembre 2020, par BrennanIs there any way I could take, lets say, 4 live video streams and have them cycle in a rotation on the screen ? I want to take a video feed and play, wait for 5 seconds, go to next video feed, wait 5 seconds, etc...Below is the actual
ffmpeg
command I want to use and the only idea I have thus far is :

for rotation in $source4 $source5 $source6 $source7; do
 ffmpeg -rtsp_transport tcp -stimeout 100 -i $source1\
 -rtsp_transport tcp -stimeout 100 -i $source2\
 -rtsp_transport tcp -stimeout 100 -i $source3\
 -rtsp_transport tcp -stimeout 100 -i $rotation\
 -filter_complex "nullsrc=size=3840x2160 [base];\
 [0:v] setpts=PTS-STARTPTS [upperleft];\
 [1:v] setpts=PTS-STARTPTS [upperright];\
 [2:v] setpts=PTS-STARTPTS [lowerleft];\
 [3:v] setpts=PTS-STARTPTS [lowerright];\
 [base][upperleft] overlay=shortest=1 [tmp1];\
 [tmp1][upperright] overlay=shortest=1:x=1920 [tmp2];\
 [tmp2][lowerleft] overlay=shortest=1:y=1080 [tmp3];\
 [tmp3][lowerright] overlay=shortest=1:x=1920:y=1080"\
 -c:v h264_nvenc -preset llhq -f matroska - | ffplay -
 sleep 5
 done



As you can see, this would not be very efficient or even usable considering how long it takes to get everything going. If anyone has any ideas I would appreciate it. I am only fluent in Linux shell scripting (Bash) so any other language would be out of my reach at this time. I am defiantly open to suggestions for other tools or frameworks to try. The main goal is to make a script for a group of security cameras with one in the mosaic that rotates through all the additional camera feeds that do not include the 3 already on the screen. It needs to be as low maintenance as possible i.e. a network issue drops connection it should automatically keep checking for connectivity and restart when established. I can do this in a Bash script very easily but getting the videos all up on screen is been a challenge. I considered making completely separate invocations of
ffplay
for each feed then usingwmctrl
or similar to arrange them on screen but I am still left with the issue of restarting the rotating one all the time.