
Recherche avancée
Autres articles (91)
-
Configuration spécifique d’Apache
4 février 2011, parModules spécifiques
Pour la configuration d’Apache, il est conseillé d’activer certains modules non spécifiques à MediaSPIP, mais permettant d’améliorer les performances : mod_deflate et mod_headers pour compresser automatiquement via Apache les pages. Cf ce tutoriel ; mode_expires pour gérer correctement l’expiration des hits. Cf ce tutoriel ;
Il est également conseillé d’ajouter la prise en charge par apache du mime-type pour les fichiers WebM comme indiqué dans ce tutoriel.
Création d’un (...) -
Création définitive du canal
12 mars 2010, parLorsque votre demande est validée, vous pouvez alors procéder à la création proprement dite du canal. Chaque canal est un site à part entière placé sous votre responsabilité. Les administrateurs de la plateforme n’y ont aucun accès.
A la validation, vous recevez un email vous invitant donc à créer votre canal.
Pour ce faire il vous suffit de vous rendre à son adresse, dans notre exemple "http://votre_sous_domaine.mediaspip.net".
A ce moment là un mot de passe vous est demandé, il vous suffit d’y (...) -
Configuration spécifique pour PHP5
4 février 2011, parPHP5 est obligatoire, vous pouvez l’installer en suivant ce tutoriel spécifique.
Il est recommandé dans un premier temps de désactiver le safe_mode, cependant, s’il est correctement configuré et que les binaires nécessaires sont accessibles, MediaSPIP devrait fonctionner correctement avec le safe_mode activé.
Modules spécifiques
Il est nécessaire d’installer certains modules PHP spécifiques, via le gestionnaire de paquet de votre distribution ou manuellement : php5-mysql pour la connectivité avec la (...)
Sur d’autres sites (1694)
-
I could not encode using the Intel® Media Server Studio on the ZOTAC ZBOX PI225
22 avril 2018, par UbunkunI’ve succeeded to install the Intel® Media Server Studio to the
ZOTAC ZBOX PI225. And, I’ve built the ffmepg as following.$ ffmpeg -codecs | grep qsv
ffmpeg version N-90764-g396c019 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-16)
configuration: --enable-libmfx
libavutil 56. 15.100 / 56. 15.100
libavcodec 58. 19.100 / 58. 19.100
libavformat 58. 13.100 / 58. 13.100
libavdevice 58. 4.100 / 58. 4.100
libavfilter 7. 18.100 / 7. 18.100
libswscale 5. 2.100 / 5. 2.100
libswresample 3. 2.100 / 3. 2.100
DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_qsv ) (encoders: h264_qsv h264_vaapi )
DEV.L. hevc H.265 / HEVC (High Efficiency Video Coding) (decoders: hevc hevc_qsv ) (encoders: hevc_qsv hevc_vaapi )
DEVIL. mjpeg Motion JPEG (encoders: mjpeg mjpeg_qsv mjpeg_vaapi )
DEV.L. mpeg2video MPEG-2 video (decoders: mpeg2video mpegvideo mpeg2_qsv ) (encoders: mpeg2video mpeg2_qsv mpeg2_vaapi )
D.V.L. vc1 SMPTE VC-1 (decoders: vc1 vc1_qsv )
DEV.L. vp8 On2 VP8 (decoders: vp8 vp8_qsv ) (encoders: vp8_vaapi )When I’ve tried to encode using ffmpeg, but It occurred error as below.
$ ffmpeg -i original.avi -c:v h264_qsv -profile:v main -b:v 2000k -r 30 -s 1280x720 -look_ahead 0 qsv.mp4
ffmpeg version N-90764-g396c019 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-16)
configuration: --enable-libmfx
libavutil 56. 15.100 / 56. 15.100
libavcodec 58. 19.100 / 58. 19.100
libavformat 58. 13.100 / 58. 13.100
libavdevice 58. 4.100 / 58. 4.100
libavfilter 7. 18.100 / 7. 18.100
libswscale 5. 2.100 / 5. 2.100
libswresample 3. 2.100 / 3. 2.100
Input #0, avi, from 'original.avi':
Metadata:
encoder : FairUse Wizard - http://fairusewizard.com
Duration: 01:41:12.11, start: 0.000000, bitrate: 965 kb/s
Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 592x304 [SAR 1:1 DAR 37:19], 828 kb/s, 23.98 fps, 23.98 tbr, 23.98 tbn, 23.98 tbc
Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, 128 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (mpeg4 (native) -> h264 (h264_qsv))
Stream #0:1 -> #0:1 (mp3 (mp3float) -> aac (native))
Press [q] to stop, [?] for help
[mpeg4 @ 0x2fe5700] Video uses a non-standard and wasteful way to store B-frames ('packed B-frames'). Consider using the mpeg4_unpack_bframes bitstream filter without encoding but stream copy to fix it.
[h264_qsv @ 0x2fce7c0] Encoder will work with partial HW acceleration
[h264_qsv @ 0x2fce7c0] Error initializing the encoder: invalid video parameters (-15)
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
[aac @ 0x2ff0e00] Qavg: 14764.986
[aac @ 0x2ff0e00] 2 frames left in the queue on closing
Conversion failed!It seems like that something of parameter missing, I think.
If you have an idea to solve this, let me know.
Bests,
-
Streaming to Facebook Live from ffmpeg gets terminated
24 avril 2021, par RaghavendraI am trying to capture the canvas on browser (canvas.captureStream), add audio ( captured using getUserMedia and added to stream using canvasStream.addTracks) and send it to server. Server sends the stream ( after encoding with H264 ) to facebook live using ffmpeg. However the stream is not stable and gets disconnected within minutes.
If the video along with audio tracks (using getMediaUser) is directly(without canvas.captureStream) sent it works fine. I am suspecting it has to do with the audio track not being proper and hence facebook rejecting it ( no particular error from ffmpeg, it just exits with IO error). Need help in figuring out the right way to send canvas stream along with audio.


Current ffmpeg command is as below


ffmpeg -i - -c:v libx264 -crf 23 -preset ultrafast \
 -tune zerolatency -max_muxing_queue_size 1000 \
 -vsync cfr -async 1 -bufsize 2M -r 30 -g 60 -keyint_min 30 \
 -x264opts keyint=30 -pix_fmt yuv420p -level 3 \
 -c:a aac -b:a 96k -ar 96000 \
 -f tee -map 0:v -map 0:a [f=flv] <rtmp url="url" 1="1"> | [f=flv] <rtmp url="url" 2="2">
</rtmp></rtmp>


Note : In the above command
and are replaced with actual urls ( including the session key required ) 

My settings to capture canvas and audio on browser are as below



 canvasStream = canvas.captureStream(30);
 audioTrack = stream.getTracks().filter( (track) => {
 return track.kind === 'audio';
 })[0];
 canvasStream.addTrack(audioTrack);




Note : Audio constraints given in getUserMedia are as below


audio: {
 sampleRate: 44100, 
 echoCancellation: true
 }



Error given by ffmpeg while exiting is as below


FFMPEG:[flv @ 0x5626ecf0f7c0] Failed to update header with correct duration.
[flv @ 0x5626ecf0f7c0] Failed to update header with correct filesize.

FFMPEG:[tee @ 0x5626ec8550c0] Slave muxer #1 failed, aborting.
av_interleaved_write_frame(): Broken pipe
FFMPEG:[flv @ 0x5626ecbe8840] Failed to update header with correct duration.

FFMPEG:[flv @ 0x5626ecbe8840] Failed to update header with correct filesize.

FFMPEG:frame= 2378 fps= 22 q=22.0 Lsize=N/A time=00:01:21.17 bitrate=N/A dup=2202 drop=5 speed=0.745x 
video:18916kB audio:959kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

FFMPEG:[libx264 @ 0x5626ec855b80] frame I:80 Avg QP:13.97 size:115968
[libx264 @ 0x5626ec855b80] frame P:2298 Avg QP:16.77 size: 4392
[libx264 @ 0x5626ec855b80] mb I I16..4: 100.0% 0.0% 0.0%

FFMPEG:[libx264 @ 0x5626ec855b80] mb P I16..4: 3.8% 0.0% 0.0% P16..4: 9.5% 0.0% 0.0% 0.0% 0.0% skip:86.7%
[libx264 @ 0x5626ec855b80] coded y,uvDC,uvAC intra: 26.3% 42.2% 13.6% inter: 2.9% 6.1% 0.1%
[libx264 @ 0x5626ec855b80] i16 v,h,dc,p: 34% 26% 23% 17%
[libx264 @ 0x5626ec855b80] i8c dc,h,v,p: 46% 27% 20% 7%
[libx264 @ 0x5626ec855b80] kb/s:1954.96
[aac @ 0x5626ec84d200] Qavg: 122.161
Conversion failed!



Appreciate any help with this.


-
FFMPEG : tee pseudo-muxer to RTMP endpoint with authorization
20 janvier 2019, par stevendesuI have an RTMP server which requires authorization to stream to. In FFMPEG, I can stream to it like so :
ffmpeg \
-i <input /> \
-c:v libx264 \
-c:a speex \
-f flv \
"rtmp://server/instance live=true pubUser=user pubPasswd=pass playpath=stream_id"Now I wish to split this stream out to two such endpoints without re-encoding
I can get it working with re-encoding like so :
ffmpeg \
-i <input /> \
-c:v libx264 \
-c:a speex \
-f flv \
"rtmp://server1/instance live=true pubUser=user pubPasswd=pass playpath=stream_id"
-c:v libx264 \
-c:a speex \
-f flv \
"rtmp://server2/instance live=true pubUser=user pubPasswd=pass playpath=stream_id"However I tried taking a look at FFMPEG’s guide on this subject and it led to nothing but errors :
Attempt 1
Direct usage of
-f tee
ffmpeg \
-i <input /> \
-c:v libx264 \
-c:a speex \
-f tee \
-map 0:v \
-map 0:a \
"[f=flv]rtmp://server1/instance live=true pubUser=user pubPasswd=pass playpath=stream_id| \
[f=flv]rtmp://server2/instance live=true pubUser=user pubPasswd=pass playpath=stream_id"Yields :
[rtmp @ 0x3fe7f40] No credentials set
[rtmp @ 0x3fe7f40] Server error: [ AccessManager.Reject ] : [ code=403 need auth ] :Attempt 2
Using quotes around URL and parameters
ffmpeg \
-i <input /> \
-c:v libx264 \
-c:a speex \
-f tee \
-map 0:v \
-map 0:a \
"[f=flv]\"rtmp://server1/instance live=true pubUser=user pubPasswd=pass playpath=stream_id\"| \
[f=flv]\"rtmp://server2/instance live=true pubUser=user pubPasswd=pass playpath=stream_id\""Yields :
[tee @ 0x39837e0] Slave '[f=flv]"rtmp://server1/instance live=true pubUser=user pubPasswd=pass playpath=stream_id"': error opening: No such file or directory
Attempt 3
Quotes around everything
ffmpeg \
-i <input /> \
-c:v libx264 \
-c:a speex \
-f tee \
-map 0:v \
-map 0:a \
"\"[f=flv]rtmp://server1/instance live=true pubUser=user pubPasswd=pass playpath=stream_id\"| \
\"[f=flv]rtmp://server2/instance live=true pubUser=user pubPasswd=pass playpath=stream_id\""Yields :
[NULL @ 0x393a820] Unable to find a suitable output format for '"[f=flv]rtmp://server1/instance live=true pubUser=user pubPasswd=pass playpath=stream_id"'
Attempt 4
Alternate URL schema to avoid spaces
ffmpeg \
-i <input /> \
-c:v libx264 \
-c:a speex \
-f tee \
-map 0:v \
-map 0:a \
"[f=flv]rtmp://user:pass@server1/instance/stream_id| \
[f=flv]rtmp://user:pass@server2/instance/stream_id"This seemed to work, but FFMPEG started outputting this :
frame= 89 fps= 13 q=0.0 Lsize=N/A time=00:00:03.27 bitrate=N/A dup=18 drop=0 speed=0.469x
Notice the
bitrate=N/A
and thespeed=0.469x
? Both concerns. Then I go to the player to watch my stream and it’s solid black. No data is actually coming through.What am I doing wrong, and how do I get this stream working ?