
Recherche avancée
Médias (91)
-
Collections - Formulaire de création rapide
19 février 2013, par
Mis à jour : Février 2013
Langue : français
Type : Image
-
Les Miserables
4 juin 2012, par
Mis à jour : Février 2013
Langue : English
Type : Texte
-
Ne pas afficher certaines informations : page d’accueil
23 novembre 2011, par
Mis à jour : Novembre 2011
Langue : français
Type : Image
-
The Great Big Beautiful Tomorrow
28 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Texte
-
Richard Stallman et la révolution du logiciel libre - Une biographie autorisée (version epub)
28 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Texte
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (77)
-
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...) -
Problèmes fréquents
10 mars 2010, parPHP et safe_mode activé
Une des principales sources de problèmes relève de la configuration de PHP et notamment de l’activation du safe_mode
La solution consiterait à soit désactiver le safe_mode soit placer le script dans un répertoire accessible par apache pour le site -
Mediabox : ouvrir les images dans l’espace maximal pour l’utilisateur
8 février 2011, parLa visualisation des images est restreinte par la largeur accordée par le design du site (dépendant du thème utilisé). Elles sont donc visibles sous un format réduit. Afin de profiter de l’ensemble de la place disponible sur l’écran de l’utilisateur, il est possible d’ajouter une fonctionnalité d’affichage de l’image dans une boite multimedia apparaissant au dessus du reste du contenu.
Pour ce faire il est nécessaire d’installer le plugin "Mediabox".
Configuration de la boite multimédia
Dès (...)
Sur d’autres sites (5405)
-
FFMPEG - How to wait until all blobs are written before finishing ffmpeg process when getting them from media recorder API
7 novembre 2020, par Caio NakaiI'm using media recorder API to record a video from user's screen and sending the blobs through web socket to a nodejs server. The nodejs server is using the blobs to create a webm video file, the video is being created fine but with a delay, after the user clicks on the stop recording button it stops the media recorder api, however the server didn't finish the processing of all blobs (at least that's what I think it's happening) and then when I check the video file generated the last few seconds of the recording are missing I wonder if there's an way to solve this. Any help is appreciated :)


This is the front-end code that sends the blobs to the nodejs server


const startScreenCapture = async () => {
 try {
 let screenStream;
 videoElem = document.getElementById("myscreen");
 screenStream = await navigator.mediaDevices.getDisplayMedia(
 displayMediaOptions
 );

 const recorderOptions = {
 mimeType: "video/webm;codecs=vp9",
 videoBitsPerSecond: 3 * 1024 * 1024,
 };

 screenMediaRecorder = new MediaRecorder(screenStream, recorderOptions);
 screenMediaRecorder.start(1); // 1000 - the number of milliseconds to record into each Blob
 screenMediaRecorder.ondataavailable = (event) => {
 console.debug("Got blob data:", event.data);
 console.log("Camera stream: ", event.data);
 if (event.data && event.data.size > 0) {
 socket.emit("screen_stream", event.data);
 }
 };

 videoElem.srcObject = screenStream;
 // console.log("Screen stream", screenStream);
 // socket.emit("screen_stream", screenStream);
 } catch (err) {
 console.error("Error: " + err);
 }
};

const stopCapture = (evt) => {
 let tracks = videoElem.srcObject.getTracks();

 tracks.forEach((track) => track.stop());
 videoElem.srcObject = null;
 screenMediaRecorder.stop();
 socket.emit("stop_screen");
 socket.close();
};



This is the nodejs back-end that handle the blobs and generates the videofile


const ffmpeg2 = child_process.spawn("ffmpeg", [
 "-i",
 "-",
 "-c:v",
 "copy",
 "-c:a",
 "copy",
 "screen.webm",
 ]);


 socket.on("screen_stream", (msg) => {
 console.log("Writing screen blob! ");
 ffmpeg2.stdin.write(msg);
 });

 socket.on("stop_screen", () => {
 console.log("Stop recording..");
 });



-
ffmpeg rtmp live stream to Azure Media Services
18 mars 2015, par PilskalnsSomehow I got publishing Azure Media Services to work, except there is huge frame drop (almost every frame) with those settings :
ffmpeg -i "http://stream01/hls/live/playlist-mid.m3u8" -strict -2 -c:a aac -b:a 192k
-ar 44100 -r 25 -g 60 -keyint_min 60 -b:v 2000k -c:v libx264 -bufsize 2000k
-maxrate 2000k -f flv "rtmp://publishurl.working.is/mystream1"+ I can’t play URL from Azure.
When I publish to local nginx-rtmp server, frame drop stays and despite it I can play it. So, I believe that frame drop is ffmpeg related not Azure. Processor is not overloaded, available bandwidth is excellent.
When I try
original
settings from this URL (at very bottom), I this get additionaly this ffmpeg errorPast duration 0.719994 too large
Here’s more from output :
c:\ffmpeg\bin>ffmpeg -i "http://stream01/hls/live/playlist-mid.m3u8" -strict -2 -c:a aac -b:a 192k -ar 44100 -r 25 -g 60 -keyint_min 60 -b:v 2000k -c:
v libx264 -bufsize 1000k -maxrate 2000k -f flv "rtmp://********.channel.mediaservices.windows.net:1935/live/9590f0be/mystream1"
ffmpeg version N-69972-g6c91afe Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnu
tls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-
libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-l
ibrtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --
enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --ena
ble-libxvid --enable-lzma --enable-decklink --enable-zlib
libavutil 54. 19.100 / 54. 19.100
libavcodec 56. 25.100 / 56. 25.100
libavformat 56. 23.100 / 56. 23.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 11.100 / 5. 11.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, hls,applehttp, from 'http://stream01/hls/live/playlist-mid.m3u8':
Duration: N/A, start: 3314.605633, bitrate: N/A
Program 0
Metadata:
variant_bitrate : 1500000
Stream #0:0: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv), 854x480 [SAR 1:1 DAR 427:240], 50 fps, 50 tbr, 90k tbn, 100 tbc
Metadata:
variant_bitrate : 1500000
Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 216 kb/s
Metadata:
variant_bitrate : 1500000
[libx264 @ 0000000000306280] using SAR=1/1
[libx264 @ 0000000000306280] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0000000000306280] profile High, level 3.0
[libx264 @ 0000000000306280] 264 - core 144 r2525 40bb568 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options:
cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 dead
zone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_in
tra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=60 keyint_min=31 scenecut=40 intra_refresh=0 rc_lookahea
d=40 rc=cbr mbtree=1 bitrate=2000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=2000 vbv_bufsize=1000 nal_hrd=none filler=0 ip_ratio=1.
40 aq=1:1.00
Output #0, flv, to 'rtmp://*******.channel.mediaservices.windows.net:1935/live/37b4e25/mystream1':
Metadata:
encoder : Lavf56.23.100
Stream #0:0: Video: h264 (libx264) ([7][0][0][0] / 0x0007), yuv420p, 854x480 [SAR 1:1 DAR 427:240], q=-1--1, 2000 kb/s, 25 fps, 1k tbn, 25 tbc
Metadata:
variant_bitrate : 1500000
encoder : Lavc56.25.100 libx264
Stream #0:1: Audio: aac ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 192 kb/s
Metadata:
variant_bitrate : 1500000
encoder : Lavc56.25.100 aac
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[flv @ 0000000000305820] Failed to update header with correct duration.1.4kbits/s dup=0 drop=10697
[flv @ 0000000000305820] Failed to update header with correct filesize.
frame=10714 fps= 24 q=-1.0 Lsize= 100583kB time=00:07:11.08 bitrate=1911.4kbits/s dup=0 drop=10701
video:90024kB audio:10042kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.516478%
[libx264 @ 0000000000306280] frame I:190 Avg QP:10.58 size: 72438
[libx264 @ 0000000000306280] frame P:3406 Avg QP:14.32 size: 19296
[libx264 @ 0000000000306280] frame B:7118 Avg QP:19.55 size: 1784
[libx264 @ 0000000000306280] consecutive B-frames: 8.8% 4.4% 10.5% 76.3%
[libx264 @ 0000000000306280] mb I I16..4: 23.0% 20.2% 56.8%
[libx264 @ 0000000000306280] mb P I16..4: 2.7% 4.5% 5.2% P16..4: 41.9% 11.6% 8.7% 0.0% 0.0% skip:25.4%
[libx264 @ 0000000000306280] mb B I16..4: 0.1% 0.1% 0.2% B16..8: 26.5% 2.2% 0.5% direct: 3.2% skip:67.1% L0:51.0% L1:38.2% BI:10.8%
[libx264 @ 0000000000306280] 8x8 transform intra:31.3% inter:36.6%
[libx264 @ 0000000000306280] coded y,uvDC,uvAC intra: 80.5% 73.5% 51.1% inter: 16.1% 18.8% 5.8%
[libx264 @ 0000000000306280] i16 v,h,dc,p: 21% 29% 27% 23%
[libx264 @ 0000000000306280] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 32% 19% 4% 4% 4% 5% 4% 7%
[libx264 @ 0000000000306280] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 27% 30% 15% 4% 5% 5% 5% 4% 5%
[libx264 @ 0000000000306280] i8c dc,h,v,p: 38% 30% 24% 8%
[libx264 @ 0000000000306280] Weighted P-Frames: Y:1.8% UV:0.4%
[libx264 @ 0000000000306280] ref P L0: 78.0% 8.5% 10.1% 3.3% 0.0%
[libx264 @ 0000000000306280] ref B L0: 91.3% 7.9% 0.8%
[libx264 @ 0000000000306280] ref B L1: 95.4% 4.6%
[libx264 @ 0000000000306280] kb/s:1716.97
Received signal 2: terminating. -
python how to combine video file and media file without ffmpeg [on hold]
27 juillet 2017, par daniel yanovskyHello I am working on a program that is recording the screen. And I like to add an audio for the video.
How can I do it without using ffmpeg.
I want my program to do so.