
Recherche avancée
Médias (1)
-
La conservation du net art au musée. Les stratégies à l’œuvre
26 mai 2011
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (50)
-
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 (...) -
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 (...) -
Librairies et binaires spécifiques au traitement vidéo et sonore
31 janvier 2010, parLes logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
Binaires complémentaires et facultatifs flvtool2 : (...)
Sur d’autres sites (4023)
-
How to save ffmpeg segmets to disk immediately with sub-second intervals ?
20 octobre 2023, par amfastI'm trying to record video on a raspberry and have it save as much as possible (sub-second resolution) in case of a power cutoff.


I use
-f segment
to save the encoded stream in 100ms segments with the hope that all but the interrupted (by power cutoff) segment will be saved in memory. Unfortunately, when cutting off power, all the destination files (output_0001.mp4, output_0002.mp4, ...) are created, but empty.

To save the files to disk immediately, I added the
-strftime 1
option that allows formatting the output filename as time. It seems weird that this is the (only ?) way to trigger immediate saving of files, but it works - untill I try to have segments smaller than 1 second. The problem seems to be that the format string%d
, that previously added a sequence number in my output filenames, now represents "day" (i.e. date) and the smallest resolution time format string is%S
for second. I saw%f
suggested somewhere for smaller resolutions, but it only prints "%f".

The result is that the
segment
ation part of ffmpeg does create 100ms segments and save them to disk immediately, but thestrftime
feature gives the output files names that only change every second, so all the interim files are overwritten.

Example of the failing command below. Without the
-strftime
option this creates nice segments, but does not save them to disk immediately.

libcamera-vid --flush \
 --framerate ${FRAMERATE} \
 --width ${WIDTH} \
 --height ${HEIGHT} \
 -n \
 -t ${TIMEOUT} \
 --codec yuv420 \
 -o - | 
ffmpeg \
 -fflags nobuffer \
 -strict experimental \
 -loglevel debug \
 -flags low_delay \
 -f rawvideo \
 -pix_fmt yuv420p \
 -s:v ${WIDTH}x${HEIGHT} \
 -r ${FRAMERATE} \
 -i - \
 -c:v h264_v4l2m2m \
 -f segment \
 -segment_time 0.1 \
 -segment_format mp4 \
 -reset_timestamps 1 \
 -strftime 1 \
 -b:v ${ENCODING_BITRATE} \
 -g 1 \
 "output_%04d.mp4"



Question :

Is there another way besides-strftime
to trigger immediate saving ? Or is there a mechanism to feed finer resolution format strings to the output filename ?

-
Raspberry Pi Camera feedback freezes when moving NEMA 17 stepper motor with A4988 stepper motor driver [closed]
31 août 2023, par Broteen DasI have a Raspberry Pi with a camera module and a NEMA 17 stepper motor connected to it. When I run the command
ffplay /dev/video0
, the video runs perfectly. However, whilst the video is running, and I run a script that moves the Stepper motor with the A4988 stepper motor driver, the video feed freezes and needs to be restarted.

At first I thought it was ffmpeg's fault, so I tried viewing the feed with OpenCV, but the same probelem persisted.


I also thought that the CPU prioritization was causing the problem, but this one time, the entire Raspberry Pi froze. The Keyboard, mouse, keys, numlock key, everything was dead (the Numlock light on my keyboard was on, I tried toggling the NumLock, but it did not go off) and so I had to turn off and turn on again the power supply to reboot the Pi.


How do I get rid of this issue ?


-
Linux : Create a file for writing with controlled flushing to disk in large chunks [closed]
12 août 2023, par PeteOn Linux I have a process (ffmpeg) that writes very slowly (even slower than 1kb / s sometimes) to disk. Ffmpeg can buffer this to 256kb chunks that get written infrequently but ffmpeg hangs occasionally and if I try to detect these hangs by checking that the file is being updated I need to wait a long time between updates, up to 10 or 15 mins, otherwise I can sometimes mistakenly kill the ffmpeg process when it appears to have stopped writing when it fact its still filling its internal buffer.


Theres no way to detect this it seems unless I use strace (that I can find anyway). So I am wondering about turning off buffering in ffmpeg and writing unbuffered to disk from ffmpeg.


This will result in the disk constantly making tiny writes and wasting power (and probably, if I use a SSD, mess with wear levelling too).


So I would like to make ffmpeg write to a 'virtual file' (in memory - either kernel memory or a process) which I can specify the flushing characteristics of. The idea being to perhaps specify flush every 2 minutes, then I can keep an eye on the file size and make sure its still being written.


I don't think I've missed any other ways to do this job - even if I could watch the socket stream incoming to ffpmeg the process itself could still stop writing and lose data. Doing the buffering outside of ffmpeg seems like the best way.


Is there a built in way to do this in Linux or does it mean a custom process ? I guess I know how to do this with a small C program and pipe the data in but I wonder if theres a neater way.