
Recherche avancée
Médias (3)
-
Valkaama DVD Cover Outside
4 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Image
-
Valkaama DVD Label
4 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Image
-
Valkaama DVD Cover Inside
4 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Image
Autres articles (77)
-
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 est la première version de MediaSPIP stable.
Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs
Sur d’autres sites (8195)
-
lavfi/vignette : simplify dmax definition.
30 mai 2013, par Clément Bœsch -
lavfi/lut3d : move lut3d init to its definition scope.
27 mai 2013, par Clément Bœsch -
FFmpeg stream stops after a certain time
7 avril 2021, par AnarnoWe have a little Nodejs app, which starts a stream process, with a
child_process.spawn
. On the client-side, we have an HTML5-canvas element, which records the video datanew MediaRecorder(canvas.captureStream(30), config)
, then this client sends its data to our Nodejs server over a WebSocket connection. We using FFmpeg for video encoding and decoding, then we send the data to our 3-rd party service (MUX), which accepts the stream and broadcasts them. Sadly the process continuously loses its fps, and after in general 1 minute, stops with an interesting error code. (when we save the video result locally instead of streaming viartmps
, it works perfectly.

*The whole system is in docker.


The error :


stderr: [tls @ 0x7f998e7bca40] Error in the pull function.
Our_app_logs: | av_interleaved_write_frame(): I/O error 
Our_app_logs: | [flv @ 0x7f998eeb1680] Failed to update header with correct duration.
Our_app_logs: | [flv @ 0x7f998eeb1680] Failed to update header with correct filesize.
Our_app_logs: | Error writing trailer of rtmps://global-live.mux.com/app/94e85197-78a3-f092-3437-03d93aba74e0: I/O error
Our_app_logs: | <buffer 5b="5b" 74="74" 6c="6c" 73="73" 20="20" 40="40" 30="30" 78="78" 37="37" 66="66" 39="39" 38="38" 65="65" 62="62" 63="63" 61="61" 34="34" 5d="5d" 45="45" 72="72" 6f="6f" 69="69" 6e="6e" 68="68" 70="70" 75="75" 2e="2e">
Our_app_logs: | stderr: frame= 1478 fps= 25 q=23.0 Lsize= 
 402kB time=00:01:02.89 bitrate= 52.4kbits/s speed=1.05x
Our_app_logs: | video:369kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 9.034639%
Our_app_logs: | <buffer 66="66" 72="72" 61="61" 6d="6d" 65="65" 3d="3d" 20="20" 31="31" 34="34" 37="37" 38="38" 70="70" 73="73" 32="32" 35="35" 71="71" 33="33" 2e="2e" 30="30" 4c="4c" 69="69" 7a="7a" 6b="6b" 42="42" 74="74">
Our_app_logs: | stderr: [tls @ 0x7f998e7bca40] <buffer 5b="5b" 6c="6c" 73="73" 20="20" 40="40" 30="30" 78="78" 37="37" 66="66" 39="39" 38="38" 65="65" 62="62" 63="63" 61="61" 34="34" 5d="5d"> 
Our_app_logs: | stderr: The specified session has been invalidated for some reason.
Our_app_logs: | <buffer 54="54" 68="68" 65="65" 20="20" 73="73" 70="70" 63="63" 69="69" 66="66" 64="64" 6f="6f" 6e="6e" 61="61" 62="62" 76="76" 6c="6c" 74="74" 72="72" 6d="6d">
Our_app_logs: | stderr: Last message repeated 1 times 
Our_app_logs: | <buffer 20="20" 4c="4c" 61="61" 73="73" 74="74" 6d="6d" 65="65" 67="67" 72="72" 70="70" 64="64" 31="31" 69="69" 0a="0a"> 
Our_app_logs: | stderr: [libx264 @ 0x7f998e790080] <buffer 5b="5b" 6c="6c" 69="69" 62="62" 78="78" 32="32" 36="36" 34="34" 20="20" 40="40" 30="30" 37="37" 66="66" 39="39" 38="38" 65="65" 5d="5d">
Our_app_logs: | stderr: frame I:13 Avg QP: 5.39 size: 
2478
Our_app_logs: | <buffer 66="66" 72="72" 61="61" 6d="6d" 65="65" 20="20" 49="49" 3a="3a" 31="31" 33="33" 41="41" 76="76" 67="67" 51="51" 50="50" 35="35" 2e="2e" 39="39" 73="73" 69="69" 7a="7a" 32="32" 34="34" 37="37" 38="38" 0a="0a">
Our_app_logs: | stderr: [libx264 @ 0x7f998e790080] <buffer 5b="5b" 6c="6c" 69="69" 62="62" 78="78" 32="32" 36="36" 34="34" 20="20" 40="40" 30="30" 37="37" 66="66" 39="39" 38="38" 65="65" 5d="5d">
Our_app_logs: | stderr: frame P:1465 Avg QP:13.51 size: 
 235
Our_app_logs: | <buffer 66="66" 72="72" 61="61" 6d="6d" 65="65" 20="20" 50="50" 3a="3a" 31="31" 34="34" 36="36" 35="35" 41="41" 76="76" 67="67" 51="51" 33="33" 2e="2e" 73="73" 69="69" 7a="7a" 32="32" 0a="0a">
Our_app_logs: | stderr: [libx264 @ 0x7f998e790080] <buffer 5b="5b" 6c="6c" 69="69" 62="62" 78="78" 32="32" 36="36" 34="34" 20="20" 40="40" 30="30" 37="37" 66="66" 39="39" 38="38" 65="65" 5d="5d">
Our_app_logs: | stderr: mb I I16..4: 99.2% 0.1% 0.7% 
Our_app_logs: | <buffer 6d="6d" 62="62" 20="20" 49="49" 31="31" 36="36" 2e="2e" 34="34" 3a="3a" 39="39" 32="32" 25="25" 30="30" 37="37" 0a="0a"> 
Our_app_logs: | stderr: [libx264 @ 0x7f998e790080] <buffer 5b="5b" 6c="6c" 69="69" 62="62" 78="78" 32="32" 36="36" 34="34" 20="20" 40="40" 30="30" 37="37" 66="66" 39="39" 38="38" 65="65" 5d="5d">
Our_app_logs: | stderr: mb P I16..4: 0.3% 0.0% 0.0% P16..4: 0.1% 0.0% 0.0% 0.0% 0.0% skip:99.6%
Our_app_logs: | <buffer 6d="6d" 62="62" 20="20" 50="50" 49="49" 31="31" 36="36" 2e="2e" 34="34" 3a="3a" 30="30" 33="33" 25="25">
Our_app_logs: | stderr: [libx264 @ 0x7f998e790080] <buffer 5b="5b" 6c="6c" 69="69" 62="62" 78="78" 32="32" 36="36" 34="34" 20="20" 40="40" 30="30" 37="37" 66="66" 39="39" 38="38" 65="65" 5d="5d">
Our_app_logs: | stderr: 8x8 transform intra:0.3% inter:17.3%
Our_app_logs: | <buffer 38="38" 78="78" 20="20" 74="74" 72="72" 61="61" 6e="6e" 73="73" 66="66" 6f="6f" 6d="6d" 69="69" 3a="3a" 30="30" 2e="2e" 33="33" 25="25" 65="65" 31="31" 37="37" 0a="0a">
Our_app_logs: | stderr: [libx264 @ 0x7f998e790080] <buffer 5b="5b" 6c="6c" 69="69" 62="62" 78="78" 32="32" 36="36" 34="34" 20="20" 40="40" 30="30" 37="37" 66="66" 39="39" 38="38" 65="65" 5d="5d">
Our_app_logs: | stderr: coded y,uvDC,uvAC intra: 1.4% 6.9% 
4.7% inter: 0.0% 0.0% 0.0%
Our_app_logs: | <buffer 63="63" 6f="6f" 64="64" 65="65" 20="20" 79="79" 2c="2c" 75="75" 76="76" 44="44" 43="43" 41="41" 69="69" 6e="6e" 74="74" 72="72" 61="61" 3a="3a" 31="31" 2e="2e" 34="34" 25="25" 36="36" 39="39" 37="37" 30="30">
Our_app_logs: | stderr: [libx264 @ 0x7f998e790080] <buffer 5b="5b" 6c="6c" 69="69" 62="62" 78="78" 32="32" 36="36" 34="34" 20="20" 40="40" 30="30" 37="37" 66="66" 39="39" 38="38" 65="65" 5d="5d">
Our_app_logs: | stderr: i16 v,h,dc,p: 90% 5% 5% 0%
Our_app_logs: | <buffer 69="69" 31="31" 36="36" 20="20" 76="76" 2c="2c" 68="68" 64="64" 63="63" 70="70" 3a="3a" 39="39" 30="30" 25="25" 35="35" 0a="0a">
Our_app_logs: | stderr: [libx264 @ 0x7f998e790080] <buffer 5b="5b" 6c="6c" 69="69" 62="62" 78="78" 32="32" 36="36" 34="34" 20="20" 40="40" 30="30" 37="37" 66="66" 39="39" 38="38" 65="65" 5d="5d">
Our_app_logs: | stderr: i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 
18% 51% 6% 0% 0% 0% 0% 3%
Our_app_logs: | <buffer 69="69" 38="38" 20="20" 76="76" 2c="2c" 68="68" 64="64" 63="63" 6c="6c" 72="72" 75="75" 3a="3a" 32="32" 33="33" 25="25" 31="31" 35="35" 36="36" 30="30">
Our_app_logs: | stderr: [libx264 @ 0x7f998e790080] <buffer 5b="5b" 6c="6c" 69="69" 62="62" 78="78" 32="32" 36="36" 34="34" 20="20" 40="40" 30="30" 37="37" 66="66" 39="39" 38="38" 65="65" 5d="5d">
Our_app_logs: | stderr: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 33% 
25% 40% 0% 0% 0% 0% 0% 0%
Our_app_logs: | <buffer 69="69" 34="34" 20="20" 76="76" 2c="2c" 68="68" 64="64" 63="63" 6c="6c" 72="72" 75="75" 3a="3a" 33="33" 25="25" 32="32" 35="35" 30="30">
Our_app_logs: | stderr: [libx264 @ 0x7f998e790080] <buffer 5b="5b" 6c="6c" 69="69" 62="62" 78="78" 32="32" 36="36" 34="34" 20="20" 40="40" 30="30" 37="37" 66="66" 39="39" 38="38" 65="65" 5d="5d">
Our_app_logs: | stderr: i8c dc,h,v,p: 86% 7% 6% 0%
Our_app_logs: | <buffer 69="69" 38="38" 63="63" 20="20" 64="64" 2c="2c" 68="68" 76="76" 70="70" 3a="3a" 36="36" 25="25" 37="37" 30="30" 0a="0a">
Our_app_logs: | stderr: [libx264 @ 0x7f998e790080] <buffer 5b="5b" 6c="6c" 69="69" 62="62" 78="78" 32="32" 36="36" 34="34" 20="20" 40="40" 30="30" 37="37" 66="66" 39="39" 38="38" 65="65" 5d="5d">
Our_app_logs: | stderr: Weighted P-Frames: Y:0.1% UV:0.1% 
Our_app_logs: | <buffer 57="57" 65="65" 69="69" 67="67" 68="68" 74="74" 64="64" 20="20" 50="50" 2d="2d" 46="46" 72="72" 61="61" 6d="6d" 73="73" 3a="3a" 59="59" 30="30" 2e="2e" 31="31" 25="25" 55="55" 56="56" 0a="0a"> 
Our_app_logs: | stderr: [libx264 @ 0x7f998e790080] <buffer 5b="5b" 6c="6c" 69="69" 62="62" 78="78" 32="32" 36="36" 34="34" 20="20" 40="40" 30="30" 37="37" 66="66" 39="39" 38="38" 65="65" 5d="5d">
Our_app_logs: | stderr: kb/s:2041.23
Our_app_logs: | <buffer 6b="6b" 62="62" 2f="2f" 73="73" 3a="3a" 32="32" 30="30" 34="34" 31="31" 2e="2e" 33="33" 0a="0a">
Our_app_logs: | stderr: Conversion failed!
Our_app_logs: | <buffer 43="43" 6f="6f" 6e="6e" 76="76" 65="65" 72="72" 73="73" 69="69" 20="20" 66="66" 61="61" 6c="6c" 64="64" 21="21" 0a="0a">
Our_app_logs: | close, code: 1, signal: null
Our_app_logs: | from react application: 14203
Our_app_logs: | Status ok...
Our_app_logs: | Data ok...
Our_app_logs: | FFmpeg ok...
Our_app_logs: | Writeable ok... <buffer c4="c4" 81="81" 0e="0e" 11="11" 00="00" 01="01" 61="61" c7="c7" 80="80" 5b="5b" b6="b6" 72="72" 03="03" bc="bc" b7="b7" de="de" 59="59" 7f="7f" 3c="3c" 27="27" b3="b3" 87="87" b2="b2" e6="e6" 84="84" d0="d0" f0="f0" 02="02" 2d="2d" c0="c0" 08="08" 70="70"> undefined
Our_app_logs: | stderr: ffmpeg version 4.2.4 Copyright (c) 
2000-2020 the FFmpeg developers
Our_app_logs: | built with gcc 9.2.0 (Alpine 9.2.0)
Our_app_logs: | configuration: --prefix=/usr --enable-avresample --enable-avfilter --enable-gnutls --enable-gpl --enable-libass --enable-libmp3lame --enable-libvorbis --enable-libvpx --enable-libxvid --enable-libx264 --enable-libx265 --enable-libtheora --enable-libv4l2 --enable-postproc --enable-pic --enable-pthreads --enable-shared --enable-libxcb --disable-stripping --disable-static --disable-librtmp --enable-vaapi --enable-vdpau --enable-libopus --disable-debug
Our_app_logs: | <buffer 66="66" 6d="6d" 70="70" 65="65" 67="67" 20="20" 76="76" 72="72" 73="73" 69="69" 6f="6f" 6e="6e" 34="34" 2e="2e" 32="32" 43="43" 79="79" 68="68" 74="74" 28="28" 63="63" 29="29" 30="30" 2d="2d" 46="46">
Our_app_logs: | stderr: libavutil 56. 31.100 / 56. 31.100
Our_app_logs: | libavcodec 58. 54.100 / 58. 54.100 
Our_app_logs: | libavformat 58. 29.100 / 58. 29.100
Our_app_logs: | libavdevice 58. 8.100 / 58. 8.100
Our_app_logs: | libavfilter 7. 57.100 / 7. 57.100
Our_app_logs: | libavresample 4. 0. 0 / 4. 0. 0 
Our_app_logs: | libswscale 5. 5.100 / 5. 5.100 
Our_app_logs: | libswresample 3. 5.100 / 3. 5.100 
Our_app_logs: | libpostproc 55. 5.100 / 55. 5.100 
Our_app_logs: | <buffer 20="20" 6c="6c" 69="69" 62="62" 61="61" 76="76" 75="75" 74="74" 35="35" 36="36" 2e="2e" 33="33" 31="31" 30="30" 2f="2f" 0a="0a" 63="63" 6f="6f">
Our_app_logs: | stderr: [h264 @ 0x7f299f44f600] non-existing PPS 14 referenced
Our_app_logs: | Last message repeated 4 times
Our_app_logs: | [h264 @ 0x7f299f44f600] decode_slice_header error
Our_app_logs: | [h264 @ 0x7f299f44f600] non-existing PPS 14 referenced
Our_app_logs: | [h264 @ 0x7f299f44f600] decode_slice_header error
Our_app_logs: | [h264 @ 0x7f299f44f600] no frame!
Our_app_logs: | [h264 @ 0x7f299f44f600] non-existing PPS 14 referenced
Our_app_logs: | [h264 @ 0x7f299f44f600] decode_slice_header error
Our_app_logs: | <buffer 5b="5b" 68="68" 32="32" 36="36" 34="34" 20="20" 40="40" 30="30" 78="78" 37="37" 66="66" 39="39" 5d="5d" 6e="6e" 6f="6f" 2d="2d" 65="65" 69="69" 73="73" 74="74" 67="67" 50="50" 53="53" 31="31" 72="72">
Our_app_logs: | stderr: [h264 @ 0x7f299f44f600] non-existing PPS 14 referenced
Our_app_logs: | [h264 @ 0x7f299f44f600] decode_slice_header error
Our_app_logs: | [h264 @ 0x7f299f44f600] no frame!
Our_app_logs: | [h264 @ 0x7f299f44f600] non-existing PPS 14 referenced
Our_app_logs: | [h264 @ 0x7f299f44f600] decode_slice_header error
Our_app_logs: | [h264 @ 0x7f299f44f600] non-existing PPS 14 referenced
Our_app_logs: | [h264 @ 0x7f299f44f600] decode_slice_header error
Our_app_logs: | [h264 @ 0x7f299f44f600] no frame!
Our_app_logs: | [h264 @ 0x7f299f44f600] non-existing PPS 14 referenced
Our_app_logs: | [h264 @ 0x7f299f44f600] decode_slice_header error
Our_app_logs: | [h264 @ 0x7f299f44f600] non-existing PPS 14 referenced
Our_app_logs: | [h264 @ 0x7f299f44f600] decode_slice_header error
Our_app_logs: | [h264 @ 0x7f299f44f600] no frame!
Our_app_logs: | [h264 @ 0x7f299f44f600] non-existing PPS 14 referenced
Our_app_logs: | Last message repeated 5 times
Our_app_logs: | [h264 @ 0x7f299f44f600] decode_slice_header error
Our_app_logs: | [h264 @ 0x7f299f44f600] non-existing PPS 14 referenced
Our_app_logs: | [h264 @ 0x7f299f44f600] decode_slice_header error
Our_app_logs: | [h264 @ 0x7f299f44f600] no frame!
Our_app_logs: | [h264 @ 0x7f299f44f600] non-existing PPS 14 referenced
Our_app_logs: | [h264 @ 0x7f299f44f600] decode_slice_header error
Our_app_logs: | [h264 @ 0x7f299f44f600] non-existing PPS 14 referenced
Our_app_logs: | [h264 @ 0x7f299f44f600] decode_slice_header error
Our_app_logs: | [h264 @ 0x7f299f44f600] no frame!
Our_app_logs: | [h264 @ 0x7f299f44f600] non-existing PPS 14 referenced
Our_app_logs: | [h264 @ 0x7f299f44f600] decode_slice_headerOur_app_logs: | [h264 @ 0x7f299f44f600] non-existing PPS 14 referenced
Our_app_logs: | [h264 @ 0x7f299f44f600] decode_slice_header error
Our_app_logs: | [h264 @ 0x7f299f44f600] no frame!
Our_app_logs: | [h264 @ 0x7f299f44f600] non-existing PPS 14 referenced
Our_app_logs: | [h264 @ 0x7f299f44f600] decode_slice_header error
Our_app_logs: | [h264 @ 0x7f299f44f600] non-existing PPS 14 referenced
Our_app_logs: | [h264 @ 0x7f299f44f600] decode_slice_header error
Our_app_logs: | [h264 @ 0x7f299f44f600] no frame!
Our_app_logs: | [h264 @ 0x7f299f44f600] non-existing PPS 14 referenced
Our_app_logs: | [h264 @ 0x7f299f44f600] decode_slice_header error
Our_app_logs: | [h264 @ 0x7f299f44f600] non-existing PPS 14 referenced
Our_app_logs: | [h264 @ 0x7f299f44f600] decode_slice_header error
Our_app_logs: | [h264 @ 0x7f299f44f600] no frame!

</buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer></buffer>


The FFmpeg config :


const FFMPEG_CONFIG = [
 '-i',
 '-',

 // video codec config: low latency, adaptive bitrate
 // '-vcodec',
 // 'copy',
 '-c:v',
 'libx264',
 '-preset',
 'veryfast',
 '-tune',
 'zerolatency',

 // audio codec config: sampling frequency (11025, 22050, 44100), bitrate 64 kbits
 '-c:a',
 'aac',
 '-ar',
 '44100',
 '-b:a',
 '64k',

 //force to overwrite
 '-y',

 // used for audio sync
 '-use_wallclock_as_timestamps',
 '1',
 '-async',
 '1',

 //'-filter_complex', 'aresample=44100', // resample audio to 44100Hz, needed if input is not 44100
 //'-strict', 'experimental',
 '-bufsize',
 '1000',
 '-f',
 'flv',
];



The process :


const process = child_process.spawn('ffmpeg', [
 ...FFMPEG_CONFIG,
 // 'local.bin',
 url,
 ]);
 
 process.stderr.on('data', data => {
 console.log(`stderr: ${data}`, data);
 });

 process.stdin.on('error', e => {
 console.log('FFmpeg STDIN Error', e);
 });

 process.on('error', err => console.log(err));

 process.on('close', (code, signal) => {
 console.log(`close, code: ${code}, signal: ${signal}`);
 });



The writing :


if (!Buffer.isBuffer(data)) return;
if (!process.stdin.writable) return;
process.stdin.write(data);