
Recherche avancée
Médias (3)
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
-
GetID3 - Boutons supplémentaires
9 avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
-
Collections - Formulaire de création rapide
19 février 2013, par
Mis à jour : Février 2013
Langue : français
Type : Image
Autres articles (89)
-
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
Participer à sa traduction
10 avril 2011Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
Actuellement MediaSPIP n’est disponible qu’en français et (...) -
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)
Sur d’autres sites (11630)
-
FFMPEG Add recording to this command
4 août 2019, par Jorge ForeroRaspberry Pi IP camera on my network broadcasting to a web browser. I want to save 10 minutes long video clips. This is the line :
raspivid -t -0 -w 1080 -h 720 -awb auto -fps 30 -b 1200000 -o - |ffmpeg -loglevel quiet -i - -vcodec copy -an -f flv -metadata streamName=myStream tcp://0.0.0.0:6666&
Following a youtube tutorial I managed to watch my rpi ip camera on the browser but I want to record myself sleeping to detect any breath interruption.
raspivid -t -0 -w 1080 -h 720 -awb auto -fps 30 -b 1200000 -o - |ffmpeg -loglevel quiet -i - -vcodec copy -an -f flv -metadata streamName=myStream tcp://0.0.0.0:6666&
Works fine ! I only want to add recording to a file 10 minutes videos (in chronological order if it’s possible)
-
Get data from native process on Android
22 octobre 2013, par Gonzalo SoleraI´m converting a video with my app, and I got it using the FFmpeg library. I´m using a static compiled version of FFmpeg and I run my command like this :
//Conversion video
try {
Process p = Runtime.getRuntime().exec("data/data/package/cache/ffmpeg -i " path " -g " String.valueOf(keyFrames) " -s 720x480 -vcodec libx264 -an -y /sdcard/lowResolution.mp4");
p.waitFor();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.d(TAG, "Video convertido");It works well but it takes me too much time, so I would like to put a progress bar, so I should need to read output events of the process (the same output I can see when I execute the command in terminal) in order to know how long will it take or something like that.
Sorry for my english and thanks for help !!
-
Are avcodec_send_packet and avcodec_receive_frame thread safe ?
6 novembre 2022, par nckmI am trying to implement video decoding application with libav decoder.
Most libav examples are built like this (pseudocode) :


while true {
 auto packet = receive_packet_from_network();
 avcodec_send_packet(packet);
 auto frame = alloc_empty_frame();
 int r = avcodec_receive_frame(&frame);
 if (r==0) {
 send_to_render(frame);
 }
}



Above is pseudocode.
Anyway, with this traditional cycle, when I wait receive frame complete and then wait rendering complete and then wait next data received from network incoming decoder buffer becomes empty. No HW decoder pipeline, low decode performance.
Additional limitation in my application - I know exactly that one received packet from network directly corresponds to one decoded frame.


Besides that, I would like to make solution faster. For that I want to split this cycle into 2 different threads like this :


//thread one
while true {
 auto packet = receive_packet_from_network();
 avcodec_send_packet(packet);
}
//thread two
while true {
 auto frame = alloc_empty_frame();
 int r = avcodec_receive_frame(&frame);
 if (r==0) {
 send_to_render(frame);
 }



Purpose to split cycle into 2 different threads is to keep incoming decoder buffer always feed enough, mostly full. Only in that case I guess HW decoder I expect to use will be happy to work constantly pipelined. Of cause, I need thread synchronization mechanisms, not shown here just for simplicity. Of cause when EGAIN is returned from avcodec_send_packet() or avcodec_receive_frame() I need to wait for other thread makes its job feeding incoming buffer or fetching ready frames. That is another story.


Besides that, this threading solution does not work for me with random segmentation faults. Unfortunately I cannot find any libav documentation saying explicitly if such method is acceptable or not, are avcodec_send_packet() and avcodec_receive_frame() calls thread safe or not ?


So, what is best way to load HW decoder pipeline ? For me it is obvious that traditional poll cycles shown in any libav examples are not effective.