Recherche avancée

Médias (91)

Autres articles (96)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang 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.

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

Sur d’autres sites (12485)

  • record long videos from multiple webcams with FFmpeg

    4 août 2020, par Nagamoto

    I am using

    


    ffmpeg -f dshow -vcodec mjpeg -t 6000 -rtbufsize 2.14748e+09  -video_size 1920x1080 -framerate 60 -i video=camID-0 -f dshow -vcodec mjpeg -t 6000 -rtbufsize 2.14748e+09  -video_size 1920x1080 -framerate 60 -i video=camID-1 -map 0  -c:v libx264 -preset ultrafast -y -r 30 fileName_0.mp4 -map 1  -c:v libx264 -preset ultrafast -y -r 30 fileName_1.mp4

    


    to record video from two webcams. Since the output will be compressed further down the line I am mostly concerned with quality and not losing frames. But after about 2min the real-time buffer is full :

    


    [dshow @ 00000221716edf80] real-time buffer [@device_pnp_\\?\usb#vid_15aa&pid_1555&mi_00#6&b8e4142&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global] [video input] too full or near too full (75% of size: 2147480000 [rtbufsize parameter])! frame dropped!


    


    On the other hand capturing uncompressed video results in huge filesizes (1.3 TB for an hour) but encoding with the settings above the computer can't keep up.
Currently the webcams capture 60fps- which is not a must but I can't set them to anything lower.

    


    How can I record long video (max 1.5h) with good quality while keeping file-sizes manageable ?

    


    ffmpeg -f dshow -list_options true -i video="3.0 USB Camera"



ffmpeg version 4.3 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9.3.1 (GCC) 20200621
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libgsm --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
  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
  libpostproc    55.  7.100 / 55.  7.100
[dshow @ 000001f32953c380] DirectShow video device options (from video devices)
[dshow @ 000001f32953c380]  Pin "Capture" (alternative pin name "0")
[dshow @ 000001f32953c380]   vcodec=mjpeg  min s=1920x1080 fps=60.0002 max s=1920x1080 fps=60.0002
[dshow @ 000001f32953c380]   vcodec=mjpeg  min s=1920x1080 fps=60.0002 max s=1920x1080 fps=60.0002
[dshow @ 000001f32953c380]   vcodec=mjpeg  min s=1280x720 fps=60.0002 max s=1280x720 fps=60.0002
[dshow @ 000001f32953c380]   vcodec=mjpeg  min s=1280x720 fps=60.0002 max s=1280x720 fps=60.0002
[dshow @ 000001f32953c380]   vcodec=mjpeg  min s=640x480 fps=60.0002 max s=640x480 fps=60.0002
[dshow @ 000001f32953c380]   vcodec=mjpeg  min s=640x480 fps=60.0002 max s=640x480 fps=60.0002
[dshow @ 000001f32953c380]   pixel_format=yuyv422  min s=1920x1080 fps=60.0002 max s=1920x1080 fps=60.0002
[dshow @ 000001f32953c380]   pixel_format=yuyv422  min s=1920x1080 fps=60.0002 max s=1920x1080 fps=60.0002
[dshow @ 000001f32953c380]   pixel_format=yuyv422  min s=1280x720 fps=60.0002 max s=1280x720 fps=60.0002
[dshow @ 000001f32953c380]   pixel_format=yuyv422  min s=1280x720 fps=60.0002 max s=1280x720 fps=60.0002
[dshow @ 000001f32953c380]   pixel_format=yuyv422  min s=640x480 fps=60.0002 max s=640x480 fps=60.0002
[dshow @ 000001f32953c380]   pixel_format=yuyv422  min s=640x480 fps=60.0002 max s=640x480 fps=60.0002
video=3.0 USB Camera: Immediate exit requested


    


  • FFmpeg continues to process after time specified at "-to"

    4 août 2020, par Yamahabest

    I have a video, where I want to cut a part from the beginning, and from the end. And I want to apply some fade ins/fade outs, and add some text.

    


    So, I came up with the following syntax :

    


    -ss 10 -to 40 
-i "D:\DATA\Software\VideoProcessor_Files\20171015 Zelhem Tandem Frans met Mirthe.MP4" 
-loop 1 -i "Input_Files\logo maurik large.png" 
-loop 1 -i "Input_Files\logo maurik small.png" 
-filter_complex "
    color=0x7F7F7F@0.95:1920x1080[grey_for_fade_out];
    [grey_for_fade_out]fade=t=out:st=12:d=2:alpha=1[grey_fade_out];
    [0:v][grey_fade_out]overlay[video_grey_fade_out];
    color=0x7F7F7F@0.95:1920x1080[grey_for_fade_in];
    [grey_for_fade_in]fade=t=in:st=37:d=2:alpha=1[grey_fade_in];
    [video_grey_fade_out][grey_fade_in]overlay[video_grey_fade_out_in];
    [1:v]fade=t=out:st=13:d=2:alpha=1[over];
    [over]scale=iw/1.5:-1[scaled];
    [video_grey_fade_out_in][scaled]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/10[video_grey_fade_out_in_logo];
    [1:v]fade=t=in:st=36:d=2:alpha=1[over2];
    [over2]scale=iw/1.5:-1[scaled2];
    [video_grey_fade_out_in_logo][scaled2]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2[video_grey_fade_out_in_logo2];
    [2:v]colorchannelmixer=aa=0.5,fade=t=in:st=14:d=2:alpha=1,fade=t=out:st=35:d=2:alpha=1[over3];
    [over3]scale=iw/10:-1[scaled3];
    [video_grey_fade_out_in_logo2][scaled3]overlay=10:10[video_complete];
    [video_complete]drawtext=fontfile=Input_Files/Sansation-Bold.ttf:text='Tandemvlucht met Mirthe':fontsize=96:fontcolor=white:alpha='if(lt(t,11),1,(2-(t-11))/2)':x=(w-text_w)/2:y=((h-text_h)/2)+125,drawtext=fontfile=Input_Files/Sansation-Bold.ttf:text='Zeddam':fontsize=96:fontcolor=white:alpha='if(lt(t,11),1,(2-(t-11))/2)':x=(w-text_w)/2:y=((h-text_h)/2)+250,drawtext=fontfile=Input_Files/Sansation-Bold.ttf:text='4 augustus 2020':fontsize=96:fontcolor=white:alpha='if(lt(t,11),1,(2-(t-11))/2)':x=(w-text_w)/2:y=((h-text_h)/2)+375,drawtext=fontfile=Input_Files/Sansation-Bold.ttf:text='Ook een keer meevliegen?':fontsize=96:fontcolor=white:alpha='if(lt(t,37),0,(t-37)/2)':x=(w-text_w)/2:y=((h-text_h)/6),drawtext=fontfile=Input_Files/Sansation-Bold.ttf:text='Of bel 085 - 049 55 69':fontsize=96:fontcolor=white:alpha='if(lt(t,37),0,(t-37)/2)':x=(w-text_w)/2:y=((h-text_h)/2)+350"
-preset medium 
-crf 18 
-c:a copy 
-y ".\Output_Files\Video\Zeddam\2020-08-04\Mirthe\27ed390a-8497-4550-b93f-4f87d9f2c9f0\MP_Tandemvlucht met_Mirthe_Zeddam_2020-08-04.mp4"


    


    I am quite sure this has worked in the past, but now FFmpeg just keeps on processing endlessly. If I then stop the FFmpeg process, and look at the resulting file, I see that the last frame (of the end of the specified period) just keeps on duplicating.

    


    The drop counter in the console output of FFmpeg also starts increasing at the end of the specified period :

    


    frame=  987 fps= 15 q=-1.0 Lsize=   31357kB time=00:00:41.04 bitrate=6259.0kbits/s dup=0 drop=10 speed=0.644x


    


    I am kind of lost on why this doesn't work anymore. I might have upgraded the FFmpeg executable in the mean time. Maybe my syntax was/is not correct, but I believe it just worked.

    


    It has to be in the complex filter, because when I remove that, it works alright.
It is not in the drawtext part of the complex filter, because it still occurs when I remove that. And when I only do the drawtext, FFmpeg stops correctly at the specified time.

    


    I have tried this, but then it still occurs :

    


    -filter_complex "
    color=0x7F7F7F@0.95:1920x1080[grey_for_fade_out];
    [grey_for_fade_out]fade=t=out:st=12:d=2:alpha=1[grey_fade_out];
    [0:v][grey_fade_out]overlay[video_grey_fade_out];
    color=0x7F7F7F@0.95:1920x1080[grey_for_fade_in];
    [grey_for_fade_in]fade=t=in:st=37:d=2:alpha=1[grey_fade_in];
    [video_grey_fade_out][grey_fade_in]overlay"


    


    Also with this, it still occurs :

    


    -filter_complex "
    [1:v]fade=t=out:st=13:d=2:alpha=1[over];
    [over]scale=iw/1.5:-1[scaled];
    [0:v][scaled]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/10[video_grey_fade_out_in_logo];
    [1:v]fade=t=in:st=36:d=2:alpha=1[over2];
    [over2]scale=iw/1.5:-1[scaled2];
    [video_grey_fade_out_in_logo][scaled2]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2[video_grey_fade_out_in_logo2];
    [2:v]colorchannelmixer=aa=0.5,fade=t=in:st=14:d=2:alpha=1,fade=t=out:st=35:d=2:alpha=1[over3];
    [over3]scale=iw/10:-1[scaled3];
    [video_grey_fade_out_in_logo2][scaled3]overlay=10:10"


    


    I just don't understand. All my fade-ins/-outs seem to be within the specified range :

    


      

    • fade=t=out:st=12:d=2 : start at 12 seconds, duration 2 seconds. This ends at 14 seconds, which is smaller than 40 seconds.
    • 


    • fade=t=in:st=37:d=2 : start at 37 seconds, duration 2 seconds. This ends at 39 seconds, which is smaller than 40 seconds.
    • 


    • fade=t=out:st=13:d=2 : start at 13 seconds, duration 2 seconds. This ends at 15 seconds, which is smaller than 40 seconds.
    • 


    • fade=t=in:st=36:d=2 : start at 36 seconds, duration 2 seconds. This ends at 38 seconds, which is smaller than 40 seconds.
    • 


    


    It is just like some sequence is not ended properly, which is causing FFmpeg to just continue.

    


  • ffmpeg -ss then apply filter then concat producing timestamp errors

    6 août 2020, par Bob Ramsey

    Using ffmpeg, I have split a file into multiple parts using -ss. Then I apply a filter to some of the files, then concat the files back together. When I do that, I get : Non-monotonous DTS in output stream 0:0 ; previous : 341334, current : 340526 ; changing to 341335. This may result in incorrect timestamps in the output file. The output file plays, but there are noticeable skips where the files are joined.

    


    Here's how I am splitting the file :

    


    ffmpeg -i full_source.mp4 -ss 0 -to 14.264250 -c copy  01-plain.mp4
ffmpeg -i full_source.mp4 -ss 14.264250 -to 18.435083 -c copy  01-filtered.mp4

ffmpeg -i full_source.mp4 -ss 18.435083 -to 29.988292 -c copy  02-plain.mp4
ffmpeg -i full_source.mp4 -ss 29.988292 -to 31.865167 -c copy  02-filtered.mp4
...
ffmpeg -i full_source.mp4 -ss 0 -to 14.264250 -c copy  10-plain.mp4
ffmpeg -i full_source.mp4 -ss 234.484203 -to 300.000 -c copy  10-filtered.mp4


    


    Then I apply a different drawtext filter on each of the 10 filtered files and save them with a new name, like :

    


    ffmpeg -hide_banner -loglevel warning -y -i 01-filtered.mp4 -filter_complex "drawtext=fontfile=calibri.ttf:fontsize=24:fontcolor=white:x=300:y=500:text='hello world'" -crf 15 01-filtered-complete.mp4


    


    Finally, I join all of the plain and complete files back together like this :

    


    ffmpeg  -f concat -safe 0 -i mylist.txt -c:a copy -c:v copy  outfile.mp4


    


    And that's where the timing error comes in. I've tried adding -vsync drop in the concat command, but that didn't really work either. Same version of ffmpeg does the split, the filter, and the concat. I've tried different versions, everything from 20170519 to one from May 2020 with the same result. Always making sure that all three steps are done by the same version of ffmpeg.

    


    The only thing I can see is that ffprobe shows a duration of 14.27 for 01-plain.mp4 when it should be 14.264250. All of the other files show a similar rounding difference. The files are 23.98 fps. If I do all of my filters in really long command without splitting the file, I can use the more precise numbers with no problem. It just takes 10 times as long. This is all scripted, it happens a couple of hundred times a day and time is money, so I can't take 10 times as long to do each file.

    


    Any ideas ? Thanks in advance !