
Recherche avancée
Autres articles (16)
-
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
Ajout d’utilisateurs manuellement par un administrateur
12 avril 2011, parL’administrateur d’un canal peut à tout moment ajouter un ou plusieurs autres utilisateurs depuis l’espace de configuration du site en choisissant le sous-menu "Gestion des utilisateurs".
Sur cette page il est possible de :
1. décider de l’inscription des utilisateurs via deux options : Accepter l’inscription de visiteurs du site public Refuser l’inscription des visiteurs
2. d’ajouter ou modifier/supprimer un utilisateur
Dans le second formulaire présent un administrateur peut ajouter, (...)
Sur d’autres sites (4893)
-
FFmpeg Node.js live web streaming
12 mars 2018, par DmitryI’m trying to create some kind of proxy server to get IP cameras feeds and stream it over http using FFmpeg and hapi.js
The main thing is that must exist outside http-server routes regardless of being watched. So I create feed like thatlet ffmpeg = require('fluent-ffmpeg')
let ffproc = ffmpeg()
.input('some_link')
.format('flv')
.videoCodec('copy')
.noAudio()
let feed = ffproc.pipe({end: true})and http-server
const Hapi = require('hapi')
const server = new Hapi.Server({
host: 'localhost',
port: 3000
})
server.route({
method: 'GET',
path: '/live',
handler: function (request, h) {
return feed
}
})
server.start((err) => {
console.log(`Server running at: ${server.info.uri}`)
})I’ve got my feed using vlc or ffplay but after I disconnect
ffproc
ends as well so I cannot reconnect later.
I’ve tryed to clone or pipe stream but it doesn’t help, process still exists but ffplay shows error ’Invalid data found when processing input’ instead of feed.koa
server shows same behaviour,express
andfastify
I did not managed to work.What am I doing wrong ?
-
Run 2 exec command in for loop with time interval of 30 seconds using TCL and FFMPEG
29 novembre 2017, par M. D. Pi want to Run 2 exec command in for loop with time interval of 30 seconds using TCL and FFMPEG
my exec command for image is :
exec ffmpeg -f dshow -benchmark -i video="Integrated Webcam" -s 1280x720 c:/test/sample_image%d.jpg
my exec command for video is :
exec ffmpeg -f dshow -benchmark -i video="Integrated Webcam" -s 1280x720 c:/test/sample_video%d.avi
i want my code to be like this :
proc a {} {
set a 1
while {$a < 10} {
after 3000
exec ffmpeg -f dshow -benchmark -i "video=Integrated Webcam" -s 1280x720 c:/test/sample_image.avi
after 3000
exec ffmpeg -f dshow -t 00:00:30 -benchmark -i "video=Integrated Webcam" -s 1280x720 c:/test/sample_video.avi
incr a
}
}
aproblem here is, after completion of first exec command, it stops its execution. that is it captures the image and stops its execution.
I also want that this process of capturing image and video should work in loop (while or foreach).
i have my present working code which execute only one exec command, that to only one. so i want this two exec command to run after one another in loop.
error report for above program :
% source c:/other/a/d.tcl
ffmpeg version N-89212-ga60b2425c3 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 7.2.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx
libavutil 56. 2.100 / 56. 2.100
libavcodec 58. 3.105 / 58. 3.105
libavformat 58. 2.102 / 58. 2.102
libavdevice 58. 0.100 / 58. 0.100
libavfilter 7. 2.102 / 7. 2.102
libswscale 5. 0.101 / 5. 0.101
libswresample 3. 0.101 / 3. 0.101
libpostproc 55. 0.100 / 55. 0.100
Input #0, dshow, from 'video=Logitech HD Webcam C525':
Duration: N/A, start: 90055.057000, bitrate: N/A
Stream #0:0: Video: rawvideo, bgr24, 1280x720, 30 fps, 30 tbr, 10000k tbn, 10000k tbc
File 'c:/test/sample_20171128_111245.jpg' already exists. Overwrite ? [y/N] [dshow @ 052d4ac0] real-time buffer [Logitech HD Webcam C525] [video input] too full or near too full (181% of size: 3041280 [rtbufsize parameter])! frame dropped!
Last message repeated 886 times
Not overwriting - exiting
bench: maxrss=50856kB
[dshow @ 052d4ac0] real-time buffer [Logitech HD Webcam C525] [video input] too full or near too full (181% of size: 3041280 [rtbufsize parameter])! frame dropped!
Last message repeated 1 times
%please provide me the code as answer which will work for above problem.
-
Nginx rtmp exec_push
26 décembre 2017, par Akim BenchihaI have 2 nginx instances and 1 node server with each running on separate VM.
The first instance get the rtmp stream.
The second instance is the HLS app.
The node server execute the ffmpeg script and send the combined stream to instance 2.What I want is to execute ffmpeg with exec_push from instance 1 on the node server. I tried curl but it’s not enough because he just receives the response.
Nginx config :
rtmp {
server {
listen 1935;
ping 30s;
notify_method get;
application ingest {
live on;
exec_kill_signal term;
idle_streams off;
exec_push curl -s IP:3000/$name ;
#exec_push /usr/local/bin/ffmpeg_push.sh $name ;
}
}
}NodeJS
app.get('/:name', (req, res) =>{
const testscript = exec('sh /usr/local/bin/ffmpeg_push.sh '+ req.params.name);
testscript.stdout.on('data', function(data){
console.log('\x1b[32m', data);
// sendBackInfo();
});
testscript.stderr.on('data', function(data){
console.log("\x1b[31m", data);
// triggerErrorStuff();
});
testscript.on('close', function (code){
console.log("\x1b[31m", {data: {status: 'error', code: code}});
});
})
app.listen(3000, '0.0.0.0', () => console.log("\x1b[32m", 'ok on port 3000'))Do you have any hint or idea please ?
Thank you