
Recherche avancée
Autres articles (76)
-
Pas question de marché, de cloud etc...
10 avril 2011Le vocabulaire utilisé sur ce site essaie d’éviter toute référence à la mode qui fleurit allègrement
sur le web 2.0 et dans les entreprises qui en vivent.
Vous êtes donc invité à bannir l’utilisation des termes "Brand", "Cloud", "Marché" etc...
Notre motivation est avant tout de créer un outil simple, accessible à pour tout le monde, favorisant
le partage de créations sur Internet et permettant aux auteurs de garder une autonomie optimale.
Aucun "contrat Gold ou Premium" n’est donc prévu, aucun (...) -
Activation de l’inscription des visiteurs
12 avril 2011, parIl est également possible d’activer l’inscription des visiteurs ce qui permettra à tout un chacun d’ouvrir soit même un compte sur le canal en question dans le cadre de projets ouverts par exemple.
Pour ce faire, il suffit d’aller dans l’espace de configuration du site en choisissant le sous menus "Gestion des utilisateurs". Le premier formulaire visible correspond à cette fonctionnalité.
Par défaut, MediaSPIP a créé lors de son initialisation un élément de menu dans le menu du haut de la page menant (...) -
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)
Sur d’autres sites (5315)
-
Evolution #3791 (Fermé) : Driver generic acces base de données
11 février 2021, par cedric -Le sujet est resté en stand-by. Proposer une PR sur https://git.spip.net/spip/spip si c’est mur, pour le relancer
en attendant je ferme ici -
Download RTSP recording content between two dates and times, or from start seconds to end seconds
23 septembre 2022, par holt2I need to download from an RTSP link the content recorded on an IP camera from a start and end date and time. It would also be valid to be able to download it from X seconds of start of the recording to seconds of end.


With this
ffmpeg
command I download the recording content from the RTSP link only from the beginning of the recording content, with the duration in seconds passed by the-t
parameter :

ffmpeg -rtsp_transport tcp -i -r 30 -t <seconds> -y -vf scale=800:-1 -c:v libx264 -crf 20 -preset fast -c:a aac -strict experimental -b:a 192k -ac 2 /path/to/video/filename.mp4
</seconds>


I tried to download with
ffmpeg
the content using temporary media fragment URIs (https://www.w3.org/2008/WebVideo/Fragments/wiki/UA_Server_RTSP_Communication#.281.29_Temporal_Media_Fragment_URIs) but it doesn't do it correctly :

ffmpeg -rtsp_transport tcp -i #t=10,20 -r 30 -y -vf scale=800:-1 -c:v libx264 -crf 20 -preset fast -c:a aac -strict experimental -b:a 192k -ac 2 -ss 19:09:13 -t 5 /path/to/video/filename.mp4



I have also tried with
ffmpeg
to use the-ss
parameter to try to extract the recording from a specific hour, minute and second (https://trac.ffmpeg.org/wiki/Seeking) but when running it gets stuck, it does not advance :

ffmpeg -rtsp_transport tcp -i -r 30 -y -vf scale=800:-1 -c:v libx264 -crf 20 -preset fast -c:a aac -strict experimental -b:a 192k -ac 2 -ss 19:09:13 -t <seconds> /path/to/video/filename.mp4
</seconds>


In case it's helpful, to get the RTSP link, I'm using the ONVIF protocol with a NodeJS library (https://github.com/agsh/onvif). I have also reviewed the ONVIF documentation available but have not found a way to download recorded content between start and end dates and times.


Do you know how to download from an RTSP link the content recorded on an IP camera from a start date and time and end date, or download it from X seconds of recording start to seconds of end ?


I am also open to use other tools or commands that can do this.


-
FFmpeg uses all memory and crashes when inputs used multiple times in filter_complex
28 octobre 2020, par ed22If I define some dummy filter_complex say :


[3:v]split=2[3_1][3_2]
[3_1]format=yuv420p,scale='640:360',setsar='1/1'[1]
[3_2]format=yuv420p,scale='640:360',setsar='1/1'[2]
[4:v]split=2[4_1][4_2]
[4_1]format=yuv420p,scale='640:360',setsar='1/1'[3]
[4_2]format=yuv420p,scale='640:360',setsar='1/1'[4]
[1][2][3][4]concat=n=4:v=1:a=0[video_out]



FFmpeg uses all the memory and crashes. What might be the reason ?
The same happens for :


[3:v]format=yuv420p,scale='640:360',setsar='1/1'[1]
[3:v]format=yuv420p,scale='640:360',setsar='1/1'[2]
[4:v]format=yuv420p,scale='640:360',setsar='1/1'[3]
[4:v]format=yuv420p,scale='640:360',setsar='1/1'[4]
[1][2][3][4]concat=n=4:v=1:a=0[video_out]



I know the examples are silly but I am here asking about why this uses all my RAM ? (and how to work around this)


This works great by the way (inputs used once) :


[3:v]format=yuv420p,scale='640:360',setsar='1/1'[1]
[4:v]format=yuv420p,scale='640:360',setsar='1/1'[2]
[1][2]concat=n=2:v=1:a=0[video_out]



UPDATE :
The full log. While it runs it reaches 2GB memory usage in about 5s and continues to grow.


ffmpeg.exe -y -f lavfi -i nullsrc=s=640x360 -i 1000211803.mp4 -i 220710.mp4 -i 223157.mp4 -i 232365.mp4 -i 1000000046.mp4 -i 1000238585.mp4 -filter_complex_script "c:\Users\wojtek\Desktop\Development\video_grid_ffmpeg_nodejs\filter_complex_param.txt" -vsync 2 -map "[video_out]" out.mp4
ffmpeg version n4.3.1-20-g8a2acdc6da Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 9.3-win32 (GCC) 20200320
 configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-version3 --disable-debug --enable-iconv --enable-zlib --enable-libxml2 --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-opencl --enable-libvmaf --disable-vulkan --enable-libvorbis --enable-amf --enable-libaom --disable-avisynth --enable-libdav1d --disable-libdavs2 --enable-ffnvcodec --enable-cuda-llvm --disable-libglslang --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libtwolame --disable-libvidstab --disable-libx264 --disable-libx265 --disable-libxavs2 --disable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-libs=-lgomp
 libavutil 56. 51.100 / 56. 51.100
 libavcodec 58. 91.100 / 58. 91.100
 libavformat 58. 45.100 / 58. 45.100
 libavdevice 58. 10.100 / 58. 10.100
 libavfilter 7. 85.100 / 7. 85.100
 libswscale 5. 7.100 / 5. 7.100
 libswresample 3. 7.100 / 3. 7.100
Input #0, lavfi, from 'nullsrc=s=640x360':
 Duration: N/A, start: 0.000000, bitrate: N/A
 Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '1000211803.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.33.100
 Duration: 00:55:35.33, start: 0.000000, bitrate: 136 kb/s
 Stream #1:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 376x210 [SAR 1:1 DAR 188:105], 134 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
 Metadata:
 handler_name : VideoHandler
Input #2, mov,mp4,m4a,3gp,3g2,mj2, from '220710.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.33.100
 Duration: 00:57:21.43, start: 0.000000, bitrate: 102 kb/s
 Stream #2:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 376x210 [SAR 1:1 DAR 188:105], 99 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
 Metadata:
 handler_name : VideoHandler
Input #3, mov,mp4,m4a,3gp,3g2,mj2, from '223157.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.33.100
 Duration: 01:01:11.27, start: 0.000000, bitrate: 156 kb/s
 Stream #3:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 376x210 [SAR 1:1 DAR 188:105], 153 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
 Metadata:
 handler_name : VideoHandler
Input #4, mov,mp4,m4a,3gp,3g2,mj2, from '232365.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.33.100
 Duration: 01:01:07.20, start: 0.000000, bitrate: 127 kb/s
 Stream #4:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 376x210 [SAR 1:1 DAR 188:105], 124 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
 Metadata:
 handler_name : VideoHandler
Input #5, mov,mp4,m4a,3gp,3g2,mj2, from '1000000046.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.33.100
 Duration: 00:52:17.23, start: 0.000000, bitrate: 190 kb/s
 Stream #5:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 376x210 [SAR 1:1 DAR 188:105], 188 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
 Metadata:
 handler_name : VideoHandler
Input #6, mov,mp4,m4a,3gp,3g2,mj2, from '1000238585.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.33.100
 Duration: 00:50:58.77, start: 0.000000, bitrate: 106 kb/s
 Stream #6:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 376x210 [SAR 1:1 DAR 188:105], 103 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
 Metadata:
 handler_name : VideoHandler
Stream mapping:
 Stream #3:0 (h264) -> format
 Stream #3:0 (h264) -> format
 Stream #4:0 (h264) -> format
 Stream #4:0 (h264) -> format
 concat -> Stream #0:0 (mpeg4)
Press [q] to stop, [?] for help
Output #0, mp4, to 'out.mp4':
 Metadata:
 encoder : Lavf58.45.100
 Stream #0:0: Video: mpeg4 (mp4v / 0x7634706D), yuv420p, 640x360 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 30 fps, 15360 tbn, 30 tbc (default)
 Metadata:
 encoder : Lavc58.91.100 mpeg4
 Side data:
 cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
frame= 6130 fps=610 q=20.6 Lsize= 5334kB time=00:03:24.30 bitrate= 213.9kbits/s speed=20.3x
video:5307kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.507003%



The above has been produced using this filter_complex parameter value :


[3:v]format=yuv420p,scale='-1:360',crop='640:in_h',setsar='1/1'[i2_640_360]
[3:v]format=yuv420p,scale='-1:360',crop='640:in_h',setsar='1/1'[i2_320_360]
[4:v]format=yuv420p,scale='-1:360',crop='640:in_h',setsar='1/1'[i3_320_360]
[4:v]format=yuv420p,scale='-1:360',crop='640:in_h',setsar='1/1'[i3_640_360]
[i2_640_360][i2_320_360][i3_320_360][i3_640_360]concat=n=4:v=1:a=0[video_out]



I did not wait for it to give the out of memory error.