
Recherche avancée
Autres articles (26)
-
La sauvegarde automatique de canaux SPIP
1er avril 2010, parDans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...) -
Script d’installation automatique de MediaSPIP
25 avril 2011, parAfin de palier aux difficultés d’installation dues principalement aux dépendances logicielles coté serveur, un script d’installation "tout en un" en bash a été créé afin de faciliter cette étape sur un serveur doté d’une distribution Linux compatible.
Vous devez bénéficier d’un accès SSH à votre serveur et d’un compte "root" afin de l’utiliser, ce qui permettra d’installer les dépendances. Contactez votre hébergeur si vous ne disposez pas de cela.
La documentation de l’utilisation du script d’installation (...) -
Automated installation script of MediaSPIP
25 avril 2011, parTo overcome the difficulties mainly due to the installation of server side software dependencies, an "all-in-one" installation script written in bash was created to facilitate this step on a server with a compatible Linux distribution.
You must have access to your server via SSH and a root account to use it, which will install the dependencies. Contact your provider if you do not have that.
The documentation of the use of this installation script is available here.
The code of this (...)
Sur d’autres sites (4538)
-
Revision a672351af9 : quantize : make 4x4, 8x8 common with larger transforms There were 4 variants of
25 avril 2013, par John KoleszarChanged Paths :
Modify /vp9/encoder/vp9_block.h
Modify /vp9/encoder/vp9_encodeintra.c
Modify /vp9/encoder/vp9_quantize.c
Modify /vp9/encoder/vp9_quantize.h
Modify /vp9/encoder/vp9_rdopt.c
quantize : make 4x4, 8x8 common with larger transformsThere were 4 variants of the quantize loop in vp9_quantize.c, now
there is 1.Change-Id : Ic853393411214b32d46a6ba53769413bd14e1cac
-
lavu/common : make FF_CEIL_RSHIFT faster when shift is constant.
12 mai 2013, par Clément Bœsch -
FFMPEG mosaic/side-by-side-compositing from simultaneous DirectShow input devices
9 juin 2013, par timlukinsThis is what I'm trying to do :
ffmpeg.exe -y \
-f dshow -i video="Microsoft LifeCam Cinema" \
-f dshow -i video="Microsoft LifeCam VX-2000" \
-filter_complex "[0:v]pad=iw*2:ih:0[left];[left][1:v]overlay=W/2.0[fileout]" \
-map "[fileout]" -vcodec libx264 -f flv out.flvBasically, I have 2 webcams and I would like to combine them into a single video file in which the frames are 2x1 in size with the frame from one camera in the left and the other on the right.
In other words, what might be termed "mosaic-ing" or "side-by-side compositing". This is not concatenation - i.e. one file after the other (so not using the concat filter).
I've gleamed that this use of
-filter_complex
to pad and then position the frames appears the prescribed way. Indeed, when I test this with files like so :ffmpeg.exe -y -i test1.flv -i test2.flv -filter_complex "[0:v]pad=iw*2:ih:0[left];[left][1:v]overlay=W/2.0[fileout]" -map "[fileout]" -vcodec libx264 -f flv testout.flv
It works fine !
With the "live" version however, both cameras seem to start (their lights come on) but the capture stalls.
(Suspiciously like there is some DirectShow deadlock on the separate input device threads...)
And so, I wonder is there some way to overcome this and force the two input stream's data to merge ?
I have also tried the extended format of the dshow filter option like so as well :
-f dshow -i video="Microsoft LifeCam Cinema":video="Microsoft LifeCam VX-2000"
But only one camera is then selected (I suspect this option is really only to enable separate video and audio streams to be combined).
I've also tried explicitly setting each input device to have the exact same frame size and rate with
-f dshow -video_size 640x480 -framerate 30
. No joy though. It still stalls once the camera is listed.Here is the tail end of the output (with
-v debug
on) :Finished splitting the commandline.
Parsing a group of options: global .
Applying option y (overwrite output files) with argument 1.
Applying option v (set libav* logging level) with argument debug.
Applying option filter_complex (create a complex filtergraph) with argument [0:v]pad=iw*2:ih:0[left];[left][1:v]overlay=W/2.0[fileout].
Successfully parsed a group of options.
Parsing a group of options: input file video=Microsoft LifeCam Cinema.
Applying option f (force format) with argument dshow.
Successfully parsed a group of options.
Opening an input file: video=Microsoft LifeCam Cinema.
[dshow @ 00000000016e79a0] All info found
[dshow @ 00000000016e79a0] Estimating duration from bitrate, this may be inaccurate
Input #0, dshow, from 'video=Microsoft LifeCam Cinema':
Duration: N/A, start: 1130406.072000, bitrate: N/A
Stream #0:0, 1, 1/10000000: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 333333/10000000, 30 tbr, 10000k tbn, 30 tbc
Successfully opened the file.
Parsing a group of options: input file video=Microsoft LifeCam VX-2000.
Applying option f (force format) with argument dshow.
Successfully parsed a group of options.
Opening an input file: video=Microsoft LifeCam VX-2000.
[dshow @ 00000000016e79a0] real-time buffer 101% full! frame dropped!EDIT Further details trying to fix within the code...*
I've always understood from past Windows DirectShow work that multiple calls to CoInitialize() on the same thread is bad. See here. Perhaps I've misunderstood how FFMPEG is multi-threaded (i.e. if each input device is on it's own thread) but I thought to just try regulating the call with a guard variable (a
static int com_init = 0;
- this should probably be mutex-ed...).e.g. in libavdevice/dshow.c method
dshow_read_header
889 if (com_init==0)
890 CoInitialize(0);
891 com_init++And similar for dshow_read_close
170 com_init--;
171 if (com_init==0)
172 CoUninitialize()Sadly, this doesn't work. The first camera starts but the second doesn't and the error is :
[dshow @ 0000000000301760] Could not set video options
video=Microsoft LifeCam VX-2000: Input/output error(Worth a shot. Looks like each input device is indeed on the same thread...)