Recherche avancée

Médias (91)

Autres articles (57)

  • Modifier la date de publication

    21 juin 2013, par

    Comment changer la date de publication d’un média ?
    Il faut au préalable rajouter un champ "Date de publication" dans le masque de formulaire adéquat :
    Administrer > Configuration des masques de formulaires > Sélectionner "Un média"
    Dans la rubrique "Champs à ajouter, cocher "Date de publication "
    Cliquer en bas de la page sur Enregistrer

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les 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 : (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

Sur d’autres sites (9090)

  • automatically show blue screen in ffmpeg when live video source disconnects

    13 janvier 2015, par user1913115

    i’m capturing a live source using ffmpeg :

    ffmpeg -i rtsp://192.168.1.143/source -codec copy output.mp4

    which works great. the ip address is an address of an RTSP proxy server which takes in the camera itself as the source. i.e. my setup :

    camera ->> RTSP proxy ->> ffmpeg(output)

    if camera disconnects (accidentally or on purpose) the recording stops (obviously) and only continues when I re-connect the camera.

    Question : is there a way for ffmpeg to ’fill’ the down time with blue screen or green screen of some sort ?
    i know i can ’play’ a still image of a green screen using ffmpeg to record an mp4 out of it :

    ffmpeg -loop 1 -y -re -i green.jpg -r 30 -vcodec libx264 -an -f h264 greenvideo.mp4

    so i could set it up this way :

    ffmpeg(green) ->> ffmpeg(output)

    but I would need to run the command manually. is there a way for ffmpeg(output) to automatically detect the disconnect and use green.jpg as a ’video’ source ? or i can even create a 5-minute green.mp4 video of just green screen.

    put it another way, is it possible for ffmpeg to automatically switch input sources if one goes down ?

  • How can I extract bonus images from a tv show DVD using ffmpeg ?

    5 avril 2020, par Hatem

    I'm using MakeMKVcon to automate episodes extraction. It do the job, expect the metadata. I have to rename files manually. But the problem here is that I want to extract some bonus pictures slideshow from the ISO but no software can detect it. I can only display those images using VLC (using the ISO file).

    



    Do you have any idea how to do that ?

    



    Here's the ffmpeg -i output :

    



    $ ffmpeg -i /path/to/iso/file.ISO
ffmpeg version git-2020-03-24-7239254 Copyright (c) 2000-2020 the FFmpeg developers
  built with Apple clang version 11.0.0 (clang-1100.0.33.16)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD-7239254_1 --enable-shared --cc=clang --host-cflags=-fno-stack-check --host-ldflags= --enable-gpl --enable-libaom --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --disable-libjack --disable-indev=jack --enable-opencl --enable-videotoolbox --disable-htmlpages --enable-libfdk-aac --enable-nonfree
  libavutil      56. 42.101 / 56. 42.101
  libavcodec     58. 76.100 / 58. 76.100
  libavformat    58. 42.100 / 58. 42.100
  libavdevice    58.  9.103 / 58.  9.103
  libavfilter     7. 77.100 /  7. 77.100
  libswscale      5.  6.101 /  5.  6.101
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
[mpeg @ 0x7f8111808200] Packet corrupt (stream = 4, dts = 2097152).
[mpeg @ 0x7f8111808200] stream 4 : no TS found at start of file, duration not set
[mpeg @ 0x7f8111808200] Could not find codec parameters for stream 4 (Audio: mp2, 0 channels): unspecified frame size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mpeg, from '/path/to/iso/file.ISO':
  Duration: 00:24:21.47, start: 0.280000, bitrate: 40817 kb/s
    Stream #0:0[0x1bf]: Data: dvd_nav_packet
    Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, bt470bg, progressive), 720x576 [SAR 16:15 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Side data:
      cpb: bitrate max/min/avg: 8000000/0/0 buffer size: 1835008 vbv_delay: N/A
    Stream #0:2[0x20]: Subtitle: dvd_subtitle
    Stream #0:3[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:4[0x1d7]: Audio: mp2, 0 channels
At least one output file must be specified 


    


  • How to buffer videojs so preload won't show ?

    9 septembre 2015, par toy

    I’m building video cutting tool using videojs. In order to give the feedback to user right away instead of using ffmpeg to merge the video right away. I just swap the videos instead. However, during the swapping you would see the loading icon when the second video is being loaded. Is there any tricks that would tell videojs to load the video before so when the video plays it would just play right away.

    http://jsfiddle.net/noppanit/odwqqoss/2/

    Here’s my code

    <div>
       <video preload="auto" class="vjs-tech" src="http://www.w3schools.com/html/mov_bbb.mp4">
           <source src="http://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4">
       </source></video>
    </div>
    <div>
       <div>
           <label>From</label>
           <input type="text" class="start-time" />
       </div>
       <div>
           <label>To</label>
           <input type="text" class="stop-time" />
       </div>
       <div>
           <input type="button" value="Select" />
       </div>
    </div>
    <div>
       <video preload="auto" class="vjs-tech" src="http://www.w3schools.com/html/mov_bbb.mp4">
           <source src="http://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4">
       </source></video>
    </div>
    <div>
       <div>
           <label>From</label>
           <input type="text" class="start-time-video1" />
       </div>
       <div>
           <label>To</label>
           <input type="text" class="stop-time-video1" />
       </div>
       <div>
           <input type="button" value="Select" />
       </div>
    </div>
    <div>
       <input type="button" value="Cut!" />
    </div>
    <div></div>




       (function ($) {
       $('#cut-video').on('click', function () {
           var video = videojs("example_video_1");
           var startTime = $('.start-time');
           var stopTime = $('.stop-time');
           video.currentTime(startTime.val());
           video.play();
           video.on('timeupdate', function (e) {
               if (video.currentTime() >= stopTime.val()) {
                   video.pause();
               }
           });

       });

       $('#cut-video1').on('click', function () {
           var video = videojs("example_video_2");
           var startTime = $('.start-time-video1');
           var stopTime = $('.stop-time-video1');
           video.currentTime(startTime.val());
           video.play();
           video.on('timeupdate', function (e) {
               if (video.currentTime() >= stopTime.val()) {
                   video.pause();
               }
           });
       });

       $('#cut').on('click', function () {
           var video = $('<video></video>');
           video.attr('id', 'result1');
           video.addClass('video-js vjs-default-skin');
           video.attr('width', 300);

           var source = $('<source></source>');
           source.attr('src', 'http://www.w3schools.com/html/mov_bbb.mp4');
           source.attr('type', 'video/mp4');

           video.append(source);
           $('#result').append(video);

           var player = videojs("result1");
           var startTime = $('.start-time');
           var stopTime = $('.stop-time');

           player.currentTime(startTime.val());
           player.play();

           player.on('timeupdate', function (e) {
               if (player.currentTime() >= stopTime.val()) {
                   player.src({
                       "type": "video/mp4",
                       src: 'http://www.w3schools.com/html/mov_bbb.mp4'
                   });
                   var startTime1 = $('.start-time-video1');
                   var stopTime1 = $('.stop-time-video1');

                   player.currentTime(startTime1.val());
                   player.play();
                   player.on('timeupdate', function (e1) {
                       if (player.currentTime() >= stopTime1.val()) {
                           player.pause();
                       }
                   });
               }
           });




       });

    })(jQuery);