
Recherche avancée
Autres articles (34)
-
Gestion des droits de création et d’édition des objets
8 février 2011, parPar défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;
-
Diogene : création de masques spécifiques de formulaires d’édition de contenus
26 octobre 2010, parDiogene est un des plugins ? SPIP activé par défaut (extension) lors de l’initialisation de MediaSPIP.
A quoi sert ce plugin
Création de masques de formulaires
Le plugin Diogène permet de créer des masques de formulaires spécifiques par secteur sur les trois objets spécifiques SPIP que sont : les articles ; les rubriques ; les sites
Il permet ainsi de définir en fonction d’un secteur particulier, un masque de formulaire par objet, ajoutant ou enlevant ainsi des champs afin de rendre le formulaire (...) -
Librairies et binaires spécifiques au traitement vidéo et sonore
31 janvier 2010, parLes logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
Binaires complémentaires et facultatifs flvtool2 : (...)
Sur d’autres sites (3833)
-
`ffmpeg -f concat` don't work when all input streams appear to have the same spec
2 octobre 2024, par RoyMy
ffmpeg
command :

ffmpeg -safe 0 -f concat -i list.txt -c copy out.mp4



My 1st input file :


Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\Applications\ffmpeg_6.0_full\a.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf60.3.100
 Duration: 00:00:04.97, start: 0.000000, bitrate: 40 kb/s
 Stream #0:0[0x1](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 2 kb/s (default)
 Metadata:
 handler_name : SoundHandler
 vendor_id : [0][0][0][0]
 Stream #0:1[0x2](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 27 kb/s, 30 fps, 30 tbr, 30k tbn (default)
 Metadata:
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 encoder : Lavc60.3.100 libx264



My 2nd input file :


Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\Applications\ffmpeg_6.0_full\b.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: mp41isom
 creation_time : 2023-03-08T06:47:13.000000Z
 artist : Microsoft Game DVR
 title : PUBG: BATTLEGROUNDS
 Duration: 00:10:00.16, start: 0.000000, bitrate: 20885 kb/s
 Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 20739 kb/s, 30 fps, 30 tbr, 30k tbn (default)
 Metadata:
 creation_time : 2023-03-08T06:47:13.000000Z
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 encoder : AVC Coding
 Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 131 kb/s (default)
 Metadata:
 creation_time : 2023-03-08T06:47:13.000000Z
 handler_name : SoundHandler
 vendor_id : [0][0][0][0]



The above command outputs some warning signals :


[mov,mp4,m4a,3gp,3g2,mj2 @ 0000025239902d40] Auto-inserting h264_mp4toannexb bitstream filter
[mp4 @ 00000252396fe5c0] Non-monotonous DTS in output stream 0:1; previous: 218112, current: 150024; changing to 218113. This may result in incorrect timestamps in the output file.
...
a lot of them
...
frame=25992 fps=21754 q=-1.0 Lsize= 1519621kB time=00:14:49.39 bitrate=13996.8kbits/s speed= 744x
video:9649kB audio:1519216kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown



The resultant video can play the first part of the video correctly, then the video players either skips directly to the end of the video (MPC-HC), or don't render anything at all while timer passes as normal (VLC).


My impression of the concat is that it requires all videos to have the same spec, which I think my input achieved (all the "Steam #0:0", etc, line matches). I only see the following difference, which I assumed that should be okay :


- 

- Metadata are different both for the whole input (e.g. "major_brand") and for each stream (e.g. "encoder"). I assumed that metadata won't affect the processing.
- The order of video/audio streams are different in the two inputs : the 1st input file has audio then video ; the 2nd input file has video then audio. I assumed that ffmpeg knows the difference and won't concat a video stream to an audio stream.






The full output of the command can be found in this pastebin : https://pastebin.com/Z5q97Uyg


-
swscale/x86/yuv2rgb : add ssse3 yuv42{0,2}p -> gbrp unscaled colorspace converters
6 août 2024, par Ramiro Pollaswscale/x86/yuv2rgb : add ssse3 yuv420,2p -> gbrp unscaled colorspace converters
Note : this implementation is limited to x86_64 due to general purpose
register pressure.checkasm —bench on an Intel(R) Core(TM) i5-5300U CPU @ 2.30GHz :
yuv420p_gbrp_8_c : 118.5
yuv420p_gbrp_8_ssse3 : 93.3
yuv420p_gbrp_128_c : 1068.3
yuv420p_gbrp_128_ssse3 : 319.3
yuv420p_gbrp_1080_c : 8841.8
yuv420p_gbrp_1080_ssse3 : 2211.8
yuv420p_gbrp_1920_c : 15903.8
yuv420p_gbrp_1920_ssse3 : 3814.3
yuv422p_gbrp_8_c : 144.8
yuv422p_gbrp_8_ssse3 : 93.8
yuv422p_gbrp_128_c : 1395.8
yuv422p_gbrp_128_ssse3 : 313.0
yuv422p_gbrp_1080_c : 11551.5
yuv422p_gbrp_1080_ssse3 : 2240.8
yuv422p_gbrp_1920_c : 20585.3
yuv422p_gbrp_1920_ssse3 : 5249.5
yuva420p_gbrp_8_c : 117.5
yuva420p_gbrp_8_ssse3 : 92.0
yuva420p_gbrp_128_c : 1593.0
yuva420p_gbrp_128_ssse3 : 319.3
yuva420p_gbrp_1080_c : 8694.5
yuva420p_gbrp_1080_ssse3 : 2186.0
yuva420p_gbrp_1920_c : 15946.5
yuva420p_gbrp_1920_ssse3 : 3805.3 -
Nginx RTMP "Server Error : No Such Stream"
7 août 2024, par Tony RuthI am trying to capture and stream video within my network 10.100.64.1/24 using libnginx-mod-rtmp. I followed a tutorial. I used the same URL for publishing and playing : rtmp ://10.100.64.4/lab/test But the player does not find the stream.


My nginx settings :


rtmp {

 server {

 listen 1935;
 chunk_size 4096;
 allow publish 127.0.0.1;
 allow publish 10.100.64.4/24;
 deny publish all;
 allow play 127.0.0.1;
 allow play 10.100.64.4/24;
 deny play all;

 application lab {

 live on;
 idle_streams off;
 record all;
 record_path /media/HLEV/GoPro/Raw;
 record_unique on;
 } 
 }
} 



The server lives on 10.100.64.4, so I published a video using ffmpeg :


ffmpeg -stream_loop -1 -re -i MyVideo.flv -c:v copy -c:a aac -ar 44100 -ac 1 -f flv -flvflags no_duration_filesize rtmp://10.100.64.4/lab/test



The publishing looks good. Last line of the above command :


frame=54030 fps= 60 q=-1.0 size= 119584kB time=00:15:01.00 bitrate=1087.3kbits/s speed= 1x 



And I can see that the video is being saved locally from the record block of the nginx settings.


Then I try to play the stream using ffplay :


ffplay -i rtmp://10.100.64.4/lab/test
ffplay version 5.1.5-0+deb12u1 Copyright (c) 2003-2024 the FFmpeg developers
 built with gcc 12 (Debian 12.2.0-14)
 configuration: --prefix=/usr --extra-version=0+deb12u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --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-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-libjxl --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared
 libavutil 57. 28.100 / 57. 28.100
 libavcodec 59. 37.100 / 59. 37.100
 libavformat 59. 27.100 / 59. 27.100
 libavdevice 59. 7.100 / 59. 7.100
 libavfilter 8. 44.100 / 8. 44.100
 libswscale 6. 7.100 / 6. 7.100
 libswresample 4. 7.100 / 4. 7.100
 libpostproc 56. 6.100 / 56. 6.100
[rtmp @ 0x7fe7940015c0] Server error: No such stream= 0B f=0/0 
rtmp://127.0.0.1/lab/test: Operation not permitted
 nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0 



ffplay does not find the stream.


I can observe both the publish and play commands by examine the access log of nginx :


sudo tail -2 /var/log/nginx/access.log 
10.100.64.4 [07/Aug/2024:12:24:56 -0500] PUBLISH "lab" "test" "" - 45365243 529 "" "FMLE/3.0 (compatible; Lavf59.27" (5m 36s)
10.100.64.4 [07/Aug/2024:12:25:03 -0500] PLAY "lab" "test" "" - 368 412 "" "LNX 9,0,124,2" (0s)



I have tried using different video streams (directly from a webcam instead of from ffmpeg). I have also tried using different players (VLC instead of ffplay).


How do I connect to the stream ?
Do you need different URLs for publishing versus playing ? The way I understood it, publishing is on port 1395 and playing is on port 80, so there is no conflict with using the same URL.
Is there a way to list the currently active streams on my server ?