Recherche avancée

Médias (39)

Mot : - Tags -/audio

Autres articles (76)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Mise à disposition des fichiers

    14 avril 2011, par

    Par défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
    Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
    Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

Sur d’autres sites (15075)

  • FFmpeg - How to get the timestamp of the frame of which a thumbnail was generated ?

    11 avril 2020, par user2851148

    I am using FFmpeg to extract a screenshot through the timestamp, but I get this timestamp manually by watching the video in VLC and looking for the exact moment of the thumbnail was generated, this process is very time consuming and I need to do it with 220 videos.

    



    All this in order to get a high resolution image of the thumbnail, I also have to mention that the thumbnail file does not have the timestamp in the metadata and in the title.

    



    Would there be any way for FFmpeg to give me the exact timestamp where the thumbnail was taken ?

    



    UPDATED

    



    After a couple of hours testing with FFmpeg commands I found the solution, it is not completely automatic but it works, then the command is :

    



    ffmpeg -ss 00:02:30 -i video.mp4 -t 00:00:40 -loop 1 -i thumbnail.jpg \
   -filter_complex "scale=480:270,hue=s=0,blend=difference:shortest=1, \
    blackframe=95:30,fps=fps=23" -f null -


    



    Options to modify :

    



      

    1. "video.mp4" replace for the video file (obviously).
    2. 


    3. "thumbnail.jpg" replace for the thumbnail file.
    4. 


    5. "-ss" and "-t" are the range of time where the thumbnail likely to be.


        

      • "-ss" time start 00:02:30 (2min with 30 sec)
      • 


      • "-t" time since start 00:00:40 (2min with 30sec + 40sec)
      • 


      • If you have no idea where probably is the thumbnail, you can delete this part, only it will take longer to find it.
      • 


    6. 


    7. "480:270" replace for size of the thumbnail.
    8. 


    9. "fps=23" change the 23 for the fps exact of the "video.mp4" file.
    10. 


    



    And answer we have :

    



    [Parsed_blackframe_1] frame:3849 pblack:100 pts:160535 t:160.535000


    



    In this example, we can see that the command has given us the exact timestamp where the thumbnail was generated "160.535000" which is in seconds with microseconds.

    



    Now to extract the thumbnail in high resolution we could use the found timestamp, but consider that it would be more exact and precise to use the frame number, which in this case would be "frame:3849".

    



    Using this command, we obtain the exact image :

    



    ffmpeg -i video.mp4 -vf "select=gte(n\, 3849)" -vframes 1 high_resolution.png


    



    Well I hope this is helpful for someone who is looking for the original image of a thumbnail or in general who needs to know exactly the minute where it was taken.

    



    If someone in the future likes to make a script that can fully automate this process, I would be grateful :)

    


  • Seeking Ideas : How Can I Automatically Generate a TikTok Video from a Custom Song Using C# [closed]

    14 mai 2024, par Jamado

    Im creating a c# program which creates a video of the from a song and posts it on tiktok.

    


    Right now my program

    


      

    1. Uses spleeter to split the song into stems

      


    2. 


    3. uses a script of GitHub to create waveform images of the stems

      


    4. 


    


    I want my end video to look like this :

    


    https://vm.tiktok.com/ZMM7CDmUt/ - only one song will play per video

    


    https://vm.tiktok.com/ZMM7Xdw8b/

    


    https://vm.tiktok.com/ZMM7CcGtE/ - no webcam or that hitting animations

    


    basically I want the stems of the songs to be placed on top of a FL studio timeline, synced to the song, then I want to overlay a image on top of the video. and then to contribute for todays gen's 3 second attention span, add some audio virtualisations ontop of the fl studio recording (the music making app in the video) and a little shake to the image

    


    I've tinkered with ffmpeg before, and I reckon it could do the trick here. I'd use the waveform pictures and mix them with a pre-recorded FL Studio video using ffmpeg's filters, like VStack to stack images, Scroll to slide them around and Blend. And then tweak the overlay filter for that shake effect. Plus, I found out ffmpeg can whip up some basic audio visualizations, which is neat. (https://gist.github.com/Neurogami/aeed8693f7ac375d5e013b8432d04d3f)

    


    But my main issue with this approach is, how the waveform images will look weird/out of place ontop of the fl studio video, because FL studio has a really spesific "theme". I could manually create a template and then use some other library to merge the template image and the waveform image. But, it feels a bit janky and would probably be a hassle to set up and implement.

    


    So, I'm curious if you folks have any nifty libraries, GitHub gems, or ideas to help me nail this video ?

    


  • Running ffmpeg via PHP

    11 mars 2020, par FionaF

    So the end goal is to have a php script that, given a list of images, will automatically create a slideshow video with transitions and text overlays and maybe an audio track as well.

    I’m competent in coding PHP but not experienced in command line stuff.

    We have a dedicated server and I got hosting company to install ffmpeg for me.

    So I thought I’d start simple and slowly build up to ultimate goal. But I’m really struggling. I’ve spent a couple of days trying all sorts of things with very little success.

    I found this post with some excellent examples https://superuser.com/questions/833232/create-video-with-5-images-with-fadein-out-effect-in-ffmpeg but I can’t get any of them to work. Which makes me think that I’m doing something fundamentally wrong.

    So this does work for me - I get a nice little 30 sec video slideshow of 6 images displaying for 5 secs each :

    $ffmpeg="/usr/bin/ffmpeg";
    exec($ffmpeg.' -f concat -safe 0 -i input.txt -c:v libx264 -r 30 -pix_fmt yuv420p -y out.mp4 2>&1', $output);
    var_dump($output);

    and this is input.txt

    file /home/webvivre/public_html/videos/test/i1.jpg
    duration 5
    file /home/webvivre/public_html/videos/test/i2.jpg
    duration 5
    file /home/webvivre/public_html/videos/test/i3.jpg
    duration 5
    file /home/webvivre/public_html/videos/test/i4.jpg
    duration 5
    file /home/webvivre/public_html/videos/test/i5.jpg
    duration 5
    file /home/webvivre/public_html/videos/test/i6.jpg
    duration 5

    But this (basically taken from example in link above - have only changed image names and ffmpeg location) doesn’t work for me :

    $code="/usr/bin/ffmpeg -y -loop 1 -i i1.jpg -loop 1 -i i2.jpg -loop 1 -i i3.jpg -filter_complex \" [0:v]zoompan=z='min(zoom+0.0015,1.5)':d=125,trim=duration=5,blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))',setpts=PTS-STARTPTS[v0]; [1:v]zoompan=z='min(zoom+0.0015,1.5)':d=125,trim=duration=5,blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))',setpts=PTS-STARTPTS[v1]; [2:v]zoompan=z='min(zoom+0.0015,1.5)':d=125,trim=duration=5,blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))',setpts=PTS-STARTPTS[v2]; [v0][v1][v2] concat=n=3:v=1:a=0, format=yuv420p[v]\" -map '[v]' -c:v libx264 -pix_fmt yuvj420p -q:v 1 out.mp4 2>&1";
    exec($code,$output);
    var_dump($output);

    This is the output :

    array(25) { [0]=> string(67) "ffmpeg version 2.8.15 Copyright (c) 2000-2018 the FFmpeg developers" [1]=> string(56) " built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-36)" [2]=> string(1147) " configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394 --enable-libfdk-aac --enable-nonfree --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect" [3]=> string(40) " libavutil 54. 31.100 / 54. 31.100" [4]=> string(40) " libavcodec 56. 60.100 / 56. 60.100" [5]=> string(40) " libavformat 56. 40.101 / 56. 40.101" [6]=> string(40) " libavdevice 56. 4.100 / 56. 4.100" [7]=> string(40) " libavfilter 5. 40.101 / 5. 40.101" [8]=> string(40) " libavresample 2. 1. 0 / 2. 1. 0" [9]=> string(40) " libswscale 3. 1.101 / 3. 1.101" [10]=> string(40) " libswresample 1. 2.101 / 1. 2.101" [11]=> string(40) " libpostproc 53. 3.100 / 53. 3.100" [12]=> string(38) "[mjpeg @ 0x183c720] Changeing bps to 8" [13]=> string(32) "Input #0, image2, from 'i1.jpg':" [14]=> string(61) " Duration: 00:00:00.04, start: 0.000000, bitrate: 33777 kb/s" [15]=> string(128) " Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 1000x750 [SAR 1:1 DAR 4:3], 25 fps, 25 tbr, 25 tbn, 25 tbc" [16]=> string(38) "[mjpeg @ 0x18427c0] Changeing bps to 8" [17]=> string(32) "Input #1, image2, from 'i2.jpg':" [18]=> string(61) " Duration: 00:00:00.04, start: 0.000000, bitrate: 41896 kb/s" [19]=> string(132) " Stream #1:0: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown), 1000x750 [SAR 300:300 DAR 4:3], 25 fps, 25 tbr, 25 tbn, 25 tbc" [20]=> string(38) "[mjpeg @ 0x1849fa0] Changeing bps to 8" [21]=> string(32) "Input #2, image2, from 'i3.jpg':" [22]=> string(61) " Duration: 00:00:00.04, start: 0.000000, bitrate: 34776 kb/s" [23]=> string(132) " Stream #2:0: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown), 1000x750 [SAR 300:300 DAR 4:3], 25 fps, 25 tbr, 25 tbn, 25 tbc" [24]=> string(81) "Cannot find a matching stream for unlabeled input pad 1 on filter Parsed_blend_10" }

    And for reference, this is info provided to me by hosting company after installing ffmpeg for me :

    svr01~ # ffmpeg
    ffmpeg version 2.8.15 Copyright (c) 2000-2018 the FFmpeg developers
     built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-36)
     configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394 --enable-libfdk-aac --enable-nonfree --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
     libavutil      54. 31.100 / 54. 31.100
     libavcodec     56. 60.100 / 56. 60.100
     libavformat    56. 40.101 / 56. 40.101
     libavdevice    56.  4.100 / 56.  4.100
     libavfilter     5. 40.101 /  5. 40.101
     libavresample   2.  1.  0 /  2.  1.  0
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  2.101 /  1.  2.101
     libpostproc    53.  3.100 / 53.  3.100
    Hyper fast Audio and Video encoder

    If someone could just shove me in the right direction to get the above working I’d be very grateful. I just know it’s going to end up being something really simple.