
Recherche avancée
Autres articles (45)
-
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 (...) -
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" (...)
Sur d’autres sites (9463)
-
Streaming Webcam Over LAN : HTML5 Video Element Not Loading
27 novembre 2023, par Franck FreiburgerI am currently working on a project where I aim to stream my webcam over my LAN and read the stream in an HTML5 video element with minimal setup. My setup involves a server (192.168.0.1 dev/video0 -> ffmpeg) and a client (192.168.0.2 html5 browser). I am using ffmpeg with the codec set to h264.


Here is the ffmpeg command I am using :


ffmpeg -f video4linux2 -i /dev/video0
 -an -c:v libx264 -b:v 1024k -video_size 800x600 -pix_fmt yuv420p -preset ultrafast
 -tune zerolatency -g 16 -keyint_min 16 -f mpegts pipe:1



This command is spawned by a simple Node.js server that shares this stream without any transformation (just pipe ffpmeg stream to each incoming connection).


When I use vlc or ffplay with the following command, it works very well :


ffplay -fflags nobuffer -flags low_delay -probesize 32 -analyzeduration 0 -framedrop http://192.168.0.1:3000/stream



I can even run multiple instances of ffplay and the video is properly played. However, when I try to use the HTML5 element like this :


<video src="http://127.0.0.1:3000/stream" type="video/mp4"></video>



The video seems to "load forever" without any error, nothing suspect in
chrome://media-internals
. I can see in the network tab that the network is reading the stream, but the video does not play (got same result using hljs and videojs).



I am looking for help to understand :


- 

- What is wrong with the
<video></video>
element in this context ? - Is there a better approach to achieve this ?






Any help or guidance would be greatly appreciated.


- What is wrong with the
-
FFmpeg chromakey libavfilter using C-API - key/replace green with alpha transparency
3 juin 2020, par ZeroDefectI'm trying to use the FFmpeg chromakey libavfilter (via the C-API using C++17) to key some green pixels in a YUVA422p image and replace them with alpha transparency.



Now, I setup/initialise the graph, connect the filters, and push through a frame ; however, the output frame appears unchanged. I suspect one of my configuration parameters is incorrect, but I'm really unsure. After having read the pertinent documentation, I still don't understand the problem.



I have published a (minimal) code sample in github - https://github.com/zerodefect/chromakey_test. I have tried to keep the code sample as brief as possible but it is still a bit lengthy.



The code sample includes a sample image (green_screen.png) for the purposes of testing.



To run the application, the following parameters are required :





./cb_chroma_key_test ./green_screen.png [OUTPUT_PATH]





The application dumps out a PLANAR image at YUV422p which I then load in via rawpixels.net - a brilliant little online utility to view raw image data (packed or planar).



My avfilter graph consists of :





buffersrc -> format -> chromakey -> buffersink





The format filter is taking the RGBA (packed) format and converting it to YUVA422 planar.



- 

- GCC 8.4
- Ubuntu 18.04
- FFmpeg 4.2








-
Clip long video segment quickly
30 janvier 2020, par PRManLet’s say I have a video called Concert.mp4. I want to extract a performance from it quickly with minimal reencoding. I want to do the equivalent of this, but faster :
ffmpeg -i "Concert.mp4" -ss 00:11:45 -to 00:18:15 -preset veryfast -y artist.mp4
This takes 17 seconds, which is way too long for our needs.
Now, it turns out that 11:45 and 18:15 don’t fall on iframes, so if you try this you will get a 3 second delay at the beginning before the video shows :
ffmpeg -i "Concert.mp4" -ss 00:11:45 -to 00:18:15 -c copy -y artist.mp4
Running this command, we can see where we need to cut :
ffprobe -read_intervals "11:00%19:00" -v error -skip_frame nokey -show_entries frame=pkt_pts_time -select_streams v -of csv=p=0 "Concert.mp4" > frames.txt
So what we need to do is encode the first 3.708 seconds, copy the middle, and then encode the last 5.912 seconds.
I can get the 3 segments to all look perfect (by themselves) like this :
ffmpeg -ss 698.698 -i "Concert.mp4" -ss 6.302 -t 3.708 -c:v libx264 -c:a copy -c:s copy -y clipbegin.mp4
ffmpeg -ss 708.708 -to 1089.088 -i "Concert.mp4" -c copy -y clipmiddle.mp4
ffmpeg -ss 1089.088 -i "Concert.mp4" -t 5.912 -c:v libx264 -c:a copy -c:s copy -y clipend.mp4
ffmpeg -f concat -i segments.txt -c copy -y artist.mp4segments.txt of course contains the following :
file 'clipbegin.mkv'
file 'clipmiddle.mkv'
file 'clipend.mkv'I saw this solution presented here, but no amount of tweaking gets it to work for me :
https://superuser.com/a/1039134/73272
As far as I can tell, this method doesn’t work at all. It crashes VLC pretty hard no matter what I try.
The combined video keeps glitching after the 3 seconds, probably because the PTS times are different or something (using some options, I have seen warning messages to this effect). Is there anything I can add to the commands above to get this to work ? The only requirement is that the middle command must not re-encode the video, but must do a fast copy.
Thanks in advance.