
Recherche avancée
Autres articles (33)
-
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 (...) -
Contribute to documentation
13 avril 2011Documentation is vital to the development of improved technical capabilities.
MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
To contribute, register to the project users’ mailing (...) -
Selection of projects using MediaSPIP
2 mai 2011, parThe examples below are representative elements of MediaSPIP specific uses for specific projects.
MediaSPIP farm @ Infini
The non profit organizationInfini develops hospitality activities, internet access point, training, realizing innovative projects in the field of information and communication technologies and Communication, and hosting of websites. It plays a unique and prominent role in the Brest (France) area, at the national level, among the half-dozen such association. Its members (...)
Sur d’autres sites (5323)
-
Implementing custom h264 quantization for Ffmpeg ?
27 février 2017, par user2989813I have a Raspberry Pi, and I’m livestreaming using FFmpeg. Unfortunately my wifi signal varies over the course of my stream. I’m currently using raspivid to send h264 encoded video to the stream. I have set a constant resolution and FPS, but have not set bitrate nor quantization, so they are variable.
However, the issue is that the quantization doesn’t vary enough for my needs. If my wifi signal drops, my ffmpeg streaming speed will dip below 1.0x to 0.95xish for minutes, but my bitrate drops so slowly that ffmpeg can never make it back to 1.0x. As a result my stream will run into problems and start buffering.
I would like the following to happen :
If Ffmpeg (my stream command)’s reported speed goes below 1.0x (slower than realtime streaming), then increase quantization compression (lower bitrate) exponentially until Ffmpeg speed stabilizes at 1.0x. Prioritize stabilizing at 1.0x as quickly as possible.My understanding is that the quantization logic Ffmpeg is using should be in the h264 encoder, but I can’t find any mention of quantization at all in this github : https://github.com/cisco/openh264
My knowledge of h264 is almost zilch, so I’m trying to figure outA) How does h264 currently vary the quantization during my stream, if at all ?
B) Where is that code ?
C) How hard is it for me to implement what I’m describing ?
Thanks in advance !!
-
FFMPEG - Streaming GoPro4 to RSTP
20 mai 2017, par WingedGreeting !
I’m planning to capture a realtime streaming video from GoPro4 and load it into TouchDesigner in order to use this footage in a projection mapping project.So far I was able to play GoPro4 stream using ffplay doing as follows :
1. Host GoPro4 WiFi hotspot.
2. Connect a laptop WiFi to GoPro4’s hotspot.
3. Restart GoPro stream service by opening ’http://10.5.5.9/gp/gpControl/execute?p1=gpStream&c1=restart’ in s browser.
4. Run ffplay command in order to open ffplay stream video window : ’ffplay -an -fflags nobuffer -f:v mpegts -probesize 8192 rtp ://10.5.5.9:8554’The next step I opt to make it to re-stream this signal into RTSP protocol so TouchDesigner could receive this signal.
And here is my question - how to re-stream this input to RTSP ?
-
I am trying to trim a Video, I can perform trimming Operation.I am not able to get response from node js.
28 mars 2017, par Sumit SarkarThis is my block of code from index.js
router.get(’/trimVideo’, function(req, res, next)
res.set(
"Content-Type" :"text/json"
) ;try{
var inputDirectory = opts.videoDir+'/'+req.query.videoName;
var outputDirectory = opts.videoDir+'/trim/'+'Trimmed_'+req.query.videoName;
ffmpeg()
.input(inputDirectory)
.format('mp4')
.seekInput(req.query.StartTrimTime)
.duration(req.query.EndTrimTime)
.on('start', function(cmd){
console.log('Started' + cmd)
})
.on('error', function(err){
console.log('An error occured: ' + err.message)
})
.output(outputDirectory)
.on('end',function(){
fs.createReadStream(outputDirectory).pipe(fs.createWriteStream(opts.videoDir+'/'+req.query.videoName));
console.log('Finished Encoding');
res.write(JSON.stringify({ OK: 1 }));
res.end();
})
.run();
}
catch(error){
res.write(JSON.stringify({ OK: 0 }));
res.end();
}) ;
This is my block of code for ajax call
$.ajax(
type : "GET",
url : "/trimVideo",
data :
StartTrimTime : startTime,
EndTrimTime : endTime,
videoName : name
,
dataJson : ’json’,
success : function(data)
console.log(’success’) ;
console.log(JSON.stringify(data)) ;
)