
Recherche avancée
Médias (1)
-
Carte de Schillerkiez
13 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
Autres articles (68)
-
Gestion des droits de création et d’édition des objets
8 février 2011, parPar défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;
-
Keeping control of your media in your hands
13 avril 2011, parThe vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...) -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs
Sur d’autres sites (11873)
-
multithreaded client/server listener using ffmpeg to record video
29 janvier 2014, par user1895639I've got a python project where I need to trigger start/stop of two Axis IP cameras using ffmpeg. I've gotten bits and pieces of this to work but can't put the whole thing together. A "listener" program runs on one machine that can accept messages from other machines to start and stop recordings.
The listener responds to two commands only :
START v :/video_dir/myvideo.mov
STOPThe START command is followed by the full path of a video file that it will record.
When receiving a STOP command, the video recording should stop.I am using ffmpeg to attach to cameras, and manually doing this works :
ffmpeg.exe -i rtsp ://cameraip/blah/blah -vcodec copy -acodec copy -y c :\temp\output.mov
I can attach to the stream and upon hitting 'q' I can stop the recording.
What I'd like to be able to do is relatively simple, I just can't wrap my head around it :
Listener listens
When it receives a START signal, it spawns two processes to start recording from each camera
When it receives a STOP signal, it sends the 'q' keystroke to each process to tell ffmpeg to stop recording.I've got the listener part, but I'm just not sure how to get the multithreaded part down :
while True:
client,address = s.accept()
data = client.recv( size )
if data:
if data.startswith('START'):
# start threads here
elif data.startswith('STOP'):
# how to send a stop to the newly-created processes?In the thread code I'm doing this (which may be very incorrect) :
subprocess.call('ffmpeg.exe -i "rtsp://cameraipstuff -vcodec copy -acodec copy -t 3600 -y '+filename)
I can get this process to spawn off and I see it recording, but how can I send it a "q" message ? I can use a Queue to pass a stop message and then do something like
win32com.client.Dispatch('WScript.Shell').SendKeys('q')
but that seems awkward. Perhaps a pipe and sending q to stdin ? Regardless, I'm pretty sure using threads is the right approach (as opposed to calling subprocess.call('ffmpeg.exe ...') twice in a row), but I just don't know how to tie things together.
-
doc/example : Add http multi-client example code
25 juillet 2015, par Stephan Holljes -
rtmpproto : Don’t include a client version in the unencrypted C1 handshake
14 octobre 2016, par Martin Storsjörtmpproto : Don’t include a client version in the unencrypted C1 handshake
According to the public RTMP specification, these 4 bytes should
be zero.librtmp in server mode assumes that the RTMPE (FP9) handshake is
used if these bytes are nonzero.Signed-off-by : Martin Storsjö <martin@martin.st>