
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 (37)
-
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 (...) -
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)
Sur d’autres sites (7027)
-
Why does ffmpeg stop recording at midnight ?
22 septembre 2019, par peterI have a shellscript like this under Kubuntu 19.10,
#!/bin/bash
while true
do
FILE=/media/petermc/Security5/Camera2/Camera2_.mp4
FILE=${FILE%.*}`date +%Y-%m-%d_%H-%M-%S-%N`.${FILE#*.}
echo $FILE
ffmpeg -rtsp_transport tcp -t 00:15:00 -i rtsp://*user*:*password*@192.168.1.60:554/ch02/0 -c copy -map 0 $FILE
doneIt records files like this,
Camera2_2019-09-21_23-36-57-874602376.mp4
Camera2_2019-09-21_23-51-57-876639147.mp4Basically recording 15 minutes at a time from the RTSP feed, then starting a new file.
However it stops working at midnight, the last few lines from the log file are this,
frame= 3987 fps= 13 q=-1.0 size= 117760kB time=00:05:06.51 bitrate=3147.3kbits/s speed=1.01x
frame= 3994 fps= 13 q=-1.0 size= 118016kB time=00:05:07.07 bitrate=3148.4kbits/s speed=1.01x
frame= 4001 fps= 13 q=-1.0 size= 118016kB time=00:05:07.59 bitrate=3143.1kbits/s speed=1.01x
frame= 4008 fps= 13 q=-1.0 size= 118272kB time=00:05:08.11 bitrate=3144.6kbits/s speed=1.01xSo there doesn’t seem to be any error, it stops recording at 5 minutes into the last file with no error.
Another piece of information is that I have 6 cameras, and 4 stopped recording, the ones connected to a DVR. I have a couple of IP cameras and they kept recording.
What could be the cause of this ? Plus, what else could I do to work around this or diagnose this ?
UPDATE :
I believe the issue is because the DVR has a maintenance setup to restart once at week at midnight. If this is what happened, is there any way I can configure ffmpeg to restart if it has lost the stream ?
-
Gstreamer : Hauppauge HD PVR and Multi-video file output
7 juin 2014, par user3716978I have very specific requirements for a Gstreamer pipeline that I can’t seem to create. I’m running Linux Mint Mate 14 (Nadia).
I have an HD PVR, which records in MPEG TS. It presents, as its interface, a V4L2 device at /dev/video0. What I need is to somehow have it output the captured video to multiple files. That is, like dvgrab’s autosplit, it would output, say, 1800 frames, then create a new output file, then capture another 1800, and on and on.
I’ve tried numerous methods. First, using multifilesink with the keyframe next-file option does what I want, but it doesn’t seem to add stream headers to the segment files, so that they cannot play properly and/or are missing their initial keyframe.
I’ve tried limiting each individual capture length using num-buffers, and just restarting the capture after the previous one ends. This works for maybe 30 or 40 files but all the switching on and off eventually locks up the HD PVR, and it has to be power-cycled.
I could also have it dump images to the disk and work with the individual frames, but this is very slow with MPEG TS since it has to demux, decode, and reencode every frame. It eats up 100% cpu and drops about 60% of the frames on my computer.
ffmpeg doesn’t work, because the HD PVR driver doesn’t support ioctl. I can’t seem to get mencoder to stream it this way either, but maybe it’s possible ?
What I need is to :
- Have a single capture stream, to avoid pissing off the HD PVR
- Have it split the stream into multiple files which can be individually analyzed
- Have those multiple files be valid videos
- Not eat up 100% of my CPU (although high utilization is ok, it needs to run at full speed). Since the stream is 1920x1080x60fps, anything to do with reencoding won’t work. It pretty much needs to be a stream copy.
Thank you
-
FFMPEG MemoryAccessException on cleanup
16 décembre 2015, par Casey PriceI’ve written an application that records from various USB webcams using ffmpeg, however if I unplug a camera while ffmpeg is in the middle of recording I get memory access exceptions when running the following cleanup code.
if (packet.data != 0)
av_packet_unref(&packet);
if (frame != 0)
av_frame_free(&frame);
if (ifmt_ctx != NULL)
{
for (i = 0; i < ifmt_ctx->nb_streams; i++) {
avcodec_close(ifmt_ctx->streams[i]->codec);
if (ofmt_ctx && ofmt_ctx->nb_streams > i && ofmt_ctx->streams[i] && ofmt_ctx->streams[i]->codec)
avcodec_close(ofmt_ctx->streams[i]->codec);
if (filter_ctx && filter_ctx[i].filter_graph)
avfilter_graph_free(&filter_ctx[i].filter_graph);
}
}
if (filter_ctx != NULL && filter_ctx->buffersink_ctx != NULL && filter_ctx->buffersrc_ctx != NULL && filter_ctx->filter_graph != NULL)
av_freep(&filter_ctx);
if (ifmt_ctx != 0)
avformat_close_input(&ifmt_ctx);
if (ofmt_ctx && ofmt_ctx->oformat != NULL && !(ofmt_ctx->oformat->flags & AVFMT_NOFILE))
avio_closep(&ofmt_ctx->pb);
if (ofmt_ctx != 0 && ofmt_ctx->oformat != 0)
avformat_free_context(ofmt_ctx);Specifically it crashes on
if (filter_ctx != NULL && filter_ctx->buffersink_ctx != NULL && filter_ctx->buffersrc_ctx != NULL && filter_ctx->filter_graph != NULL)
av_freep(&filter_ctx);With a Null Reference exception on the if check sometimes. Other times the code runs fine and doesn’t crash. I’ve also tried
if (filter_ctx)
av_free(filter_ctx);But this gives me a MemoryAccessException instead of a null reference, I’m guessing something on another thread is changing my data while cleaning up, however all of my variables are are not shared with any other thread.
Does anyone know whats going on ?