
Recherche avancée
Médias (1)
-
The pirate bay depuis la Belgique
1er avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (20)
-
Personnaliser les catégories
21 juin 2013, parFormulaire de création d’une catégorie
Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
On peut modifier ce formulaire dans la partie :
Administration > Configuration des masques de formulaire.
Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...) -
Gestion de la ferme
2 mars 2010, parLa ferme est gérée dans son ensemble par des "super admins".
Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
Dans un premier temps il utilise le plugin "Gestion de mutualisation" -
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 (3862)
-
RTP voice streaming to multicast address using ffmpeg and ffplay
27 septembre 2018, par Gáll PéterI have a system where every node have to be listen to a multicast IP address, all the time. In this system one node can send data to the multicast IP at one time. After it has sent it, it terminates the program (ffmpeg).
The commands are :
ffplay rtp://239.123.13.101:56789
andffmpeg -f alsa -i hw:0 -acodec libmp3lame -ab 128k -f rtp rtp://239.123.13.101:56789
The ffplay runs and it catches the rtp stream the right way. But if the node, who has spoken, terminates ffmpeg, the ffplay window (which shows me the spectogram of the voice) doesn’t close, and if another node start ffmpeg, ffplay give me an error :RTP: dropping old packet recieved too late
Sometimes it catches the stream and everything fine, but mostly it gaves me the error.Is there a way to solve this problem and a solution to have an always running ffplay which can play streams any time without closing and reopening(from ffmpeg) ?
-
Revision 34602 : Même si pour l’instant il n’y a pas le javascript (et css) qui va avec, on ...
20 janvier 2010, par rastapopoulos@… — LogMême si pour l’instant il n’y a pas le javascript (et css) qui va avec, on peut d’ors et déjà passer des paramètres à un fieldset pour dire qu’il peut être replié et s’il est déjà plié par défaut.
-
How to use ffmpeg in JavaScript to decode H.264 frames into RGB frames
17 juin 2020, par noelI'm trying to compile ffmpeg into javascript so that I can decode H.264 video streams using node. The streams are H.264 frames packed into RTP NALUs so any solution has to be able to accept H.264 frames rather than a whole file name. These frames can't be in a container like MP4 or AVI because then the demuxer needs to needs the timestamp of every frame before demuxing can occur, but I'm dealing with a real time stream, no containers.



Streaming H.264 over RTP



Below is the basic code I'm using to listen on a udp socket. Inside the 'message' callback the data packet is an RTP datagram. The data portion of the data gram is an H.264 frame (P-frames and I-frames).



var PORT = 33333;
var HOST = '127.0.0.1';

var dgram = require('dgram');
var server = dgram.createSocket('udp4');

server.on('listening', function () {
 var address = server.address();
 console.log('UDP Server listening on ' + address.address + ":" + address.port);
});

server.on('message', function (message, remote) {
 console.log(remote.address + ':' + remote.port +' - ' + message);
 frame = parse_rtp(message);

 rgb_frame = some_library.decode_h264(frame); // This is what I need.

});

server.bind(PORT, HOST); 




I found the Broadway.js library, but I couldn't get it working and it doesn't handle P-frames which I need. I also found ffmpeg.js, but could get that to work and it needs a whole file not a stream. Likewise, fluent-ffmpeg doesn't appear to support file streams ; all of the examples show a filename being passed to the constructor. So I decided to write my own API.



My current solution attempt



I have been able to compile ffmpeg into one big js file, but I can't use it like that. I want to write an API around ffmpeg and then expose those functions to JS. So it seems to me like I need to do the following :



- 

- Compile ffmpeg components (avcodec, avutil, etc.) into llvm bitcode.
- Write a C wrapper that exposes the decoding functionality and uses EMSCRIPTEN_KEEPALIVE.
- Use emcc to compile the wrapper and link it to the bitcode created in step 1.









I found WASM+ffmpeg, but it's in Chinese and some of the steps aren't clear. In particular there is this step :



emcc web.c process.c ../lib/libavformat.bc ../lib/libavcodec.bc ../lib/libswscale.bc ../lib/libswresample.bc ../lib/libavutil.bc \




:( Where I think I'm stuck



I don't understand how all the ffmpeg components get compiled into separate *.bc files. I followed the emmake commands in that article and I end up with one big .bc file.



2 questions



1. Does anyone know the steps to compile ffmpeg using emscripten so that I can expose some API to javascript ?

 2. Is there a better way (with decent documentation/examples) to decode h264 video streams using node ?