
Recherche avancée
Autres articles (52)
-
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela. -
Librairies et logiciels spécifiques aux médias
10 décembre 2010, parPour un fonctionnement correct et optimal, plusieurs choses sont à prendre en considération.
Il est important, après avoir installé apache2, mysql et php5, d’installer d’autres logiciels nécessaires dont les installations sont décrites dans les liens afférants. Un ensemble de librairies multimedias (x264, libtheora, libvpx) utilisées pour l’encodage et le décodage des vidéos et sons afin de supporter le plus grand nombre de fichiers possibles. Cf. : ce tutoriel ; FFMpeg avec le maximum de décodeurs et (...) -
Le plugin : Podcasts.
14 juillet 2010, parLe problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
Types de fichiers supportés dans les flux
Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)
Sur d’autres sites (6942)
-
OCPA, FDBR and TDPSA – What you need to know about the US’s new privacy laws
22 juillet 2024, par Daniel Crough -
Fintech Content Marketing : 10 Best Practices & Growth Strategies
24 juillet 2024, par Erin -
FFmpeg Successfully Pushes Stream to Nginx RTMP but Unable to Play with ffplay or VLC [closed]
2 août 2024, par ShaoKun LouFFmpeg Successfully Pushes Stream to Nginx RTMP but Unable to Play with ffplay or VLC


I followed the tutorial below :tutorial


to set up an RTMP server using Nginx, and successfully pushed a stream with FFmpeg.
Here is the nginx.conf file :


rtmp {
 server {
 listen 1935;
 chunk_size 4096;
 allow publish 127.0.0.1;
 deny publish all;

 application live {
 live on;
 record off;
 allow play all;
 }
 }
}



and here is the console output from pushing the stream :


ffmpeg -re -i bejeweled.mp4 -c:v libx264 -c:a aac -f flv rtmp://127.0.0.1/live/stream
ffmpeg version 6.1.1-3ubuntu5 Copyright (c) 2000-2023 the FFmpeg developers
 built with gcc 13 (Ubuntu 13.2.0-23ubuntu3)
 configuration: --prefix=/usr --extra-version=3ubuntu5 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --disable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
 libavutil 58. 29.100 / 58. 29.100
 libavcodec 60. 31.102 / 60. 31.102
 libavformat 60. 16.100 / 60. 16.100
 libavdevice 60. 3.100 / 60. 3.100
 libavfilter 9. 12.100 / 9. 12.100
 libswscale 7. 5.100 / 7. 5.100
 libswresample 4. 12.100 / 4. 12.100
 libpostproc 57. 3.100 / 57. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'bejeweled.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.29.100
 description : Bilibili VXCode Swarm Transcoder v0.7.43
 Duration: 00:03:18.39, start: 0.000000, bitrate: 424 kb/s
 Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 640x360 [SAR 1:1 DAR 16:9], 352 kb/s, 23.98 fps, 23.98 tbr, 16k tbn (default)
 Metadata:
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 65 kb/s (default)
 Metadata:
 handler_name : SoundHandler
 vendor_id : [0][0][0][0]
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
[libx264 @ 0x58b1ca9cee80] using SAR=1/1
[libx264 @ 0x58b1ca9cee80] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x58b1ca9cee80] profile High, level 3.0, 4:2:0, 8-bit
[libx264 @ 0x58b1ca9cee80] 264 - core 164 r3108 31e19f9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2023 - 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 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=11 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=23 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, flv, to 'rtmp://127.0.0.1/live/stream':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 description : Bilibili VXCode Swarm Transcoder v0.7.43
 encoder : Lavf60.16.100
 Stream #0:0(und): Video: h264 ([7][0][0][0] / 0x0007), yuv420p(tv, bt709, progressive), 640x360 [SAR 1:1 DAR 16:9], q=2-31, 23.98 fps, 1k tbn (default)
 Metadata:
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 encoder : Lavc60.31.102 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
 Stream #0:1(und): Audio: aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 128 kb/s (default)
 Metadata:
 handler_name : SoundHandler
 vendor_id : [0][0][0][0]
 encoder : Lavc60.31.102 aac
frame= 0 fps=0.0 q=0.0 size= 1kB time=00:00:00.60 bitrate= 7.2kbits/sframe= 0 fps=0.0 q=0.0 size= 1kB time=00:00:01.11 bitrate= 3.9kbits/sframe= 0 fps=0.0 q=0.0 size= 1kB time=00:00:01.62 bitrate= 2.7kbits/sframe= 0 fps=0.0 q=0.0 size= 1kB time=00:00:02.13 bitrate= 2.0kbits/sframe= 0 fps=0.0 q=0.0 size= 1kB time=00:00:02.62 bitrate= 1.7kbits/sframe= 6 fps=2.2 q=28.0 size= 6kB time=00:00:03.15 bitrate= 16.2kbits/...



But when I try to play the stream using ffplay or VLC, it gets stuck in a waiting state.
this is the console output :


leo@leo-devp:~$ ffplay rtmp://127.0.0.1/live/stream
ffplay version 6.1.1-3ubuntu5 Copyright (c) 2003-2023 the FFmpeg developers
 built with gcc 13 (Ubuntu 13.2.0-23ubuntu3)
 configuration: --prefix=/usr --extra-version=3ubuntu5 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --disable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
 libavutil 58. 29.100 / 58. 29.100
 libavcodec 60. 31.102 / 60. 31.102
 libavformat 60. 16.100 / 60. 16.100
 libavdevice 60. 3.100 / 60. 3.100
 libavfilter 9. 12.100 / 9. 12.100
 libswscale 7. 5.100 / 7. 5.100
 libswresample 4. 12.100 / 4. 12.100
 libpostproc 57. 3.100 / 57. 3.100
^Cleo@leo-devp:~$ 0 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0 



and this is
/var/log/nginx/access.log
:

127.0.0.1 [02/Aug/2024:14:56:38 +0800] PUBLISH "live" "stream" "" - 415 529 "" "FMLE/3.0 (compatible; Lavf60.16" (0s)
127.0.0.1 [02/Aug/2024:14:59:59 +0800] PUBLISH "live" "stream" "" - 10501019 529 "" "FMLE/3.0 (compatible; Lavf60.16" (3m 18s)
127.0.0.1 [02/Aug/2024:15:01:21 +0800] PLAY "live" "stream" "" - 401 490 "" "LNX 9,0,124,2" (4m 35s)
127.0.0.1 [02/Aug/2024:15:09:49 +0800] PUBLISH "live" "stream" "" - 2733579 529 "" "FMLE/3.0 (compatible; Lavf60.16" (52s)
127.0.0.1 [02/Aug/2024:15:10:15 +0800] PLAY "live" "stream" "" - 372 436 "" "LNX 9,0,124,2" (54s)
127.0.0.1 [02/Aug/2024:15:11:52 +0800] PLAY "live" "stream" "" - 372 436 "" "LNX 9,0,124,2" (17s)
127.0.0.1 [02/Aug/2024:15:13:24 +0800] PLAY "live" "stream" "" - 393 472 "" "LNX 9,0,124,2" (3m 5s)
127.0.0.1 [02/Aug/2024:15:13:24 +0800] PUBLISH "live" "stream" "" - 23343914 529 "" "FMLE/3.0 (compatible; Lavf60.16" (3m 18s)
127.0.0.1 [02/Aug/2024:15:13:39 +0800] PLAY "live" "stream" "" - 372 436 "" "LNX 9,0,124,2" (10s)
127.0.0.1 [02/Aug/2024:15:15:48 +0800] PLAY "live" "stream" "" - 393 472 "" "LNX 9,0,124,2" (3m 34s)



There are no relevant log records in /var/log/nginx/error.log


the firwall status :


leo@leo-devp:~$ sudo ufw status



[sudo] leo 的密码:
状态: 激活


至 动作 来自



3306/tcp ALLOW Anywhere

1935/tcp ALLOW Anywhere

19355/tcp ALLOW Anywhere

19355 ALLOW Anywhere

1935 ALLOW Anywhere

3306/tcp (v6) ALLOW Anywhere (v6)

1935/tcp (v6) ALLOW Anywhere (v6)

19355/tcp (v6) ALLOW Anywhere (v6)

19355 (v6) ALLOW Anywhere (v6)

1935 (v6) ALLOW Anywhere (v6)

Please point out what I did wrong and how to correct it. Thank you.