
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 (97)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...) -
Organiser par catégorie
17 mai 2013, parDans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...)
Sur d’autres sites (4420)
-
How can I improve the up-time of my coffee pot live stream ?
26 avril 2017, par tww0003Some Background on the Project :
Like most software developers I depend on coffee to keep me running, and so do my coworkers. I had an old iPhone sitting around, so I decided to pay homage to the first webcam and live stream my office coffee pot.
The stream has become popular within my company, so I want to make sure it will stay online with as little effort possible on my part. As of right now, it will occasionally go down, and I have to manually get it up and running again.
My Setup :
I have nginx set up on a digital ocean server (my nginx.conf is shown below), and downloaded an rtmp streaming app for my iPhone.
The phone is set to stream to
example.com/live/stream
and then I use an ffmpeg command to take that stream, strip the audio (the live stream is public and I don’t want coworkers to feel like they have to be careful about what they say), and then make it accessible atrtmp://example.com/live/coffee
andexample.com/hls/coffee.m3u8
.Since I’m not too familiar with ffmpeg, I had to google around and find the appropriate command to strip the coffee stream of the audio and I found this :
ffmpeg -i rtmp://localhost/live/stream -vcodec libx264 -vprofile baseline -acodec aac -strict -2 -f flv -an rtmp://localhost/live/coffee
Essentially all I know about this command is that the input stream comes from,
localhost/live/stream
, it strips the audio with-an
, and then it outputs tortmp://localhost/live/coffee
.I would assume that
ffmpeg -i rtmp://localhost/live/stream -an rtmp://localhost/live/coffee
would have the same effect, but the page I found the command on was dealing with ffmpeg, and nginx, so I figured the extra parameters were useful.What I’ve noticed with this command is that it will error out, taking the live stream down. I wrote a small bash script to rerun the command when it stops, but I don’t think this is the best solution.
Here is the bash script :
while true;
do
ffmpeg -i rtmp://localhost/live/stream -vcodec libx264 -vprofile baseline -acodec aac -strict -2 -f flv -an rtmp://localhost/live/coffee
echo 'Something went wrong. Retrying...'
sleep 1
doneI’m curious about 2 things :
- What is the best way to strip audio from an rtmp stream ?
- What is the proper configuration for nginx to ensure that my rtmp stream will stay up for as long as possible ?
Since I have close to 0 experience with nginx, ffmpeg, and rtmp streaming any help, or tips would be appreciated.
Here is my nginx.conf file :
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
allow 127.0.0.1;
}
location /stat.xsl {
root html;
}
location /hls {
root /tmp;
add_header Cache-Control no-cache;
}
location /dash {
root /tmp;
add_header Cache-Control no-cache;
add_header Access-Control-Allow-Origin *;
}
}
}
rtmp {
server {
listen 1935;
chunk_size 4000;
application live {
live on;
hls on;
hls_path /tmp/hls;
dash on;
dash_path /tmp/dash;
}
}
}edit :
I’m also running into this same issue : https://trac.ffmpeg.org/ticket/4401 -
Use deck.js as a remote presentation tool
8 janvier 2014, par silviadeck.js is one of the new HTML5-based presentation tools. It’s simple to use, in particular for your basic, every-day presentation needs. You can also create more complex slides with animations etc. if you know your HTML and CSS.
Yesterday at linux.conf.au (LCA), I gave a presentation using deck.js. But I didn’t give it from the lectern in the room in Perth where LCA is being held – instead I gave it from the comfort of my home office at the other end of the country.
I used my laptop with in-built webcam and my Chrome browser to give this presentation. Beforehand, I had uploaded the presentation to a Web server and shared the link with the organiser of my speaker track, who was on site in Perth and had set up his laptop in the same fashion as myself. His screen was projecting the Chrome tab in which my slides were loaded and he had hooked up the audio output of his laptop to the room speaker system. His camera was pointed at the audience so I could see their reaction.
I loaded a slide master URL :
http://html5videoguide.net/presentations/lca_2014_webrtc/?master
and the room loaded the URL without query string :
http://html5videoguide.net/presentations/lca_2014_webrtc/
.Then I gave my talk exactly as I would if I was in the same room. Yes, it felt exactly as though I was there, including nervousness and audience feedback.
How did we do that ? WebRTC (Web Real-time Communication) to the rescue, of course !
We used one of the modules of the rtc.io project called rtc-glue to add the video conferencing functionality and the slide navigation to deck.js. It was actually really really simple !
Here are the few things we added to deck.js to make it work :
- Code added to index.html to make the video connection work :
<meta name="rtc-signalhost" content="http://rtc.io/switchboard/">
<meta name="rtc-room" content="lca2014">
...
<video id="localV" rtc-capture="camera" muted></video>
<video id="peerV" rtc-peer rtc-stream="localV"></video>
...
<script src="glue.js"></script>
<script>
glue.config.iceServers = [{ url: 'stun:stun.l.google.com:19302' }];
</script>The iceServers config is required to punch through firewalls – you may also need a TURN server. Note that you need a signalling server – in our case we used
http://rtc.io/switchboard/
, which runs the code from rtc-switchboard. - Added glue.js library to deck.js :
Downloaded from https://raw.github.com/rtc-io/rtc-glue/master/dist/glue.js into the source directory of deck.js.
- Code added to index.html to synchronize slide navigation :
glue.events.once('connected', function(signaller) {
if (location.search.slice(1) !== '') {
$(document).bind('deck.change', function(evt, from, to) {
signaller.send('/slide', {
idx: to,
sender: signaller.id
});
});
}
signaller.on('slide', function(data) {
console.log('received notification to change to slide: ', data.idx);
$.deck('go', data.idx);
});
});This simply registers a callback on the slide master end to send a slide position message to the room end, and a callback on the room end that initiates the slide navigation.
And that’s it !
You can find my slide deck on GitHub.
Feel free to write your own slides in this manner – I would love to have more users of this approach. It should also be fairly simple to extend this to share pointer positions, so you can actually use the mouse pointer to point to things on your slides remotely. Would love to hear your experiences !
Note that the slides are actually a talk about the rtc.io project, so if you want to find out more about these modules and what other things you can do, read the slide deck or watch the talk when it has been published by LCA.
Many thanks to Damon Oehlman for his help in getting this working.
BTW : somebody should really fix that print style sheet for deck.js – I’m only ever getting the one slide that is currently showing.
- Code added to index.html to make the video connection work :
-
FFmpeg : Encode x264 with AMD GPU on Windows ?
20 septembre 2023, par ZeroTekI am currently trying to record a Video on my Lenovo Laptop with its Built-In Webcam using FFmpeg on Windows 10. One of my goals is to keep the CPU Usage as low as possible, that's why i want to push the h264 encoding to the GPU. 
Now it gets a bit tricky here with my Laptop. Because it uses two GPUs. The first GPU is a Intel HD 5500 Graphics Unit as Part of the CPU. This one is most likly used for non-demanding Applications like office etc. to save Energy. The other one is a AMD R5 M330 that will be used for graphic intense applications like gaming.



Currently, i am using the following command to encode the Webcam Stream on the Intel HD GPU :



ffmpeg -f dshow -vcodec mjpeg -video_size 1280x720 -framerate 30 video="Lenovo EasyCamera":audio="Mikrofon (Realtek High Definition Audio)" -c:v h264_qsv -g 60 -q 28 -look_ahead 0 -preset:v faster -c:a aac -q:a 0.6 -r 30 output.mp4




This does work so far but it seems this GPU does not have enough Power to keep up with the framerate on higher bitrates or with a high amount of i-frames. The Video starts lacking and skipping frames. If i am using CPU encoding everything works smooth.



Now that my Laptop got that second AMD GPU with a lot more Power it would be a nice Try to encode on that one, but i can't find any information about how to encode on AMD Hardware on Windows 10. So my question is : How does the ffmpeg command look like to use AMD Hardware for h264 encoding ?