Recherche avancée

Médias (91)

Autres articles (41)

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

  • 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 (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

Sur d’autres sites (8819)

  • Output a video with "slide up" transition using more than 100 images in FFMPEG ?

    9 juillet 2021, par Joseph Ladera Fugata

    I have more than a hundred images of the same size and format that my company wants to display at the big 9:16 (rotated 16:9) screen outside the front gate. It's supposed to be easy but they required me to have it slide from top to bottom, meaning that it should look like a smooth auto scroll effects. I searched here and there but no luck.

    


    I have tried xfade like this :

    


    ffmpeg -loop 1 -i input.txt -filter_complex
"xfade=transition=slideup:duration=10:offset=0,format=yuv420p" output.mp4


    


    It didn't do anything just a bunch of error referring to the inputs. Which is supposed to be just 2 images in the first place.

    


    The next thing I tried was using Concat from someone named @Gyan at his reply HERE and here's my version of the code :

    


    ffmpeg -y -f concat -safe 0 -i input.txt
-vf tile=1x%img_count%,loop=%_my_loop_count_var%:1:0,
crop=iw:ih/%img_count%:0:clip((t-%_start_time%)/%sec_per_img%*ih/%img_count%\,0\,ih*%img_count_minus_one%/%img_count%)
-r 25 -c:v libx264 -preset ultrafast output.mp4


    


    When I played with it, it gives a different output even do the image are all the same dimensions.

    


    I found someone on youtube used this but it is using bash and I am on windows. Unless someone here can convert it to a batch script would be great. I look into it and it seems like he's just V-stacking them kinda like what I did but there's more. I know I could have gone through win bash but I doubt the script will run on a non-Unix environment just by having bash, and I'm not yet familiar with Cygwin either.

    


    I also did tried other options posted by others here, I just forgot to bookmark them, but non of them works on more than a hundred images.

    


    I love to hear a response if anyone can help.

    


  • when I filter a frame with "fps=fps=30" my code starts consuming a lot of ram until it crashes, but if I use "scale=250:250" it works fine

    23 août 2021, par Gabriel Ayala

    When I apply the filter "scale=250:250" my code works, it outputs a rescalated video
but when I apply the filter "fps=fps=30000/1000", the code asks for ram until it crashes, I think the problem is in the applyFilter function
PasteBin of complete code https://pastebin.com/tcgwFmTz this part starts at line 257

    


    int applyFilter(filterCtx* filter, AVFrame* inFrame, AVFrame* outFrame)
{
    int ret;
    /* push the decoded frame into the filtergraph */
    if (av_buffersrc_add_frame_flags(filter->buffersrc_ctx, inFrame, AV_BUFFERSRC_FLAG_KEEP_REF) < 0)
    {
        return 0;
    }

    /* pull filtered frames from the filtergraph */
    for (EVER)
    {
        ret = av_buffersink_get_frame(filter->buffersink_ctx, outFrame);
        if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF)
        {
            return 3;
        }
        if (ret < 0)
        {
            return -1;
        }
        return 0;
    }
    return 0;
}


    


        char filterDesc = "fps=fps=30000/1000"; // THIS DOESN'T WORK
    //char filterDesc = "scale=1200:1200"; THIS WORKS
    filter = initFilter(filterDesc, params);
    
    for (EVER)
    {
        getFrame(decoder, frame, packet);
        if(decoder->container->streams[packet->stream_index]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO)
        {
            if (filter != NULL)
            {
                response = applyFilter(filter, frame, filterFrame);
                if (response < 0)
                {
                    printf("Error while applying a filter");
                    return -1;
                }
                tmp = frame;
                av_frame_unref(frame);
                frame = filterFrame;
                filterFrame = tmp;
                if(response == 3)
                {
                    continue;
                }
            }
            
        }
        encode(decoder, encoder, frame, packet->stream_index);

    }


    


  • Debian php ffmpeg error "Could not get frame filename number 2 from pattern"

    22 août 2021, par Sam

    My code below works fine in on my osx laptop

    


    $sec = 1;
$ffmpeg = \FFMpeg\FFMpeg::create([
   'ffmpeg.binaries'  => exec('which ffmpeg'),
   'ffprobe.binaries' => exec('which ffprobe')
]);

$video = $ffmpeg->open($file);
$frame = $video->frame(TimeCode::fromSeconds($sec));
if(!file_exists($newFilePath)) {
      $frame->save($newFilePath);
      $this->output->writeln('make: ' . $newFilePath);
}


    


    but on debian I get error Could not get frame filename number 2 from pattern

    


    here is the error description from ffmpeg website

    


    


    This usually occurs because the output name is incorrect or some option was omitted.
If outputting a single image you need to include -frames:v 1.
If outputting a series of images you need to use the proper naming pattern as described in the image muxer documentation. For example, output_%03d.png will make a series named output_001.png, output_002.png, output_003.png, etc.
If outputting a single image that is continuously overwritten with new images, add -update 1.

    


    


    My filename looks fine to me

    


    here is the detailed error :

    


    ffmpeg failed to execute command '/usr/bin/ffmpeg' '-y' '-ss' '00:00:01.00' '-i' '/var/www/web/public/data/post/J4ukGXDowqFFA6hNIuP11606468845/BuF8e7HrkX1606  
  468845.mov' '-vframes' '1' '-f' 'image2' '/var/www/web/public/data/post/J4ukGXDowqFFA6hNIuP11606468845/BuF8e7HrkX1606468845-preview.webp':

Error Output:

ffmpeg version 4.1.6-1~deb10u1 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 8 (Debian 8.3.0-6)
configuration: --prefix=/usr --extra-version='1~deb10u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd
64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass
--enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libf
ribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-li
bpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-l
ibtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-li
bzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chrom
aprint --enable-frei0r --enable-libx264 --enable-shared
libavutil      56. 22.100 / 56. 22.100
libavcodec     58. 35.100 / 58. 35.100
libavformat    58. 20.100 / 58. 20.100
libavdevice    58.  5.100 / 58.  5.100
libavfilter     7. 40.101 /  7. 40.101
libavresample   4.  0.  0 /  4.  0.  0
libswscale      5.  3.100 /  5.  3.100
libswresample   3.  3.100 /  3.  3.100
libpostproc    55.  3.100 / 55.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/var/www/web/public/data/post/J4ukGXDowqFFA6hNIuP11606468845/BuF8e7HrkX1606468845.mov':                               
Metadata:
major_brand     : qt
minor_version   : 0
compatible_brands: qt
creation_time   : 2020-11-27T09:17:34.000000Z
Duration: 00:00:03.18, start: 0.000000, bitrate: 932 kb/s
Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 138 kb/s (default)                                                                 
Metadata:
creation_time   : 2020-11-27T09:17:34.000000Z
handler_name    : Core Media Audio
Stream #0:1(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 480x264, 780 kb/s, 30 fps, 30 tbr, 600 tbn, 1200 tbc (default)  
Metadata:
creation_time   : 2020-11-27T09:17:34.000000Z
handler_name    : Core Media Video
encoder         : H.264
Stream mapping:
Stream #0:1 -> #0:0 (h264 (native) -> webp (libwebp_anim))                                                                                                          
Press [q] to stop, [?] for help
Output #0, image2, to '/var/www/web/public/data/post/J4ukGXDowqFFA6hNIuP11606468845/BuF8e7HrkX1606468845-preview.webp':                                        
Metadata:
major_brand     : qt
minor_version   : 0
compatible_brands: qt
encoder         : Lavf58.20.100
Stream #0:0(und): Video: webp (libwebp_anim), yuv420p, 480x264, q=2-31, 200 kb/s, 30 fps, 30 tbn, 30 tbc (default)                                                
Metadata:
creation_time   : 2020-11-27T09:17:34.000000Z
handler_name    : Core Media Video
encoder         : Lavc58.35.100 libwebp_anim
[image2 @ 0x55bc313ccfc0] Could not get frame filename number 2 from pattern '/var/www/web/public/data/post/J4ukGXDowqFFA6hNIuP11606468845/BuF8e7HrkX16064688  
  45-preview.webp' (either set update or use a pattern like %03d within the filename pattern)                                                                           
  av_interleaved_write_frame(): Invalid argument                                                                                                                        
  frame=    1 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.06 bitrate=N/A speed=1.54x                                                                                         
  video:18kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown                                                                       
  Conversion failed!