Recherche avancée

Médias (2)

Mot : - Tags -/kml

Autres articles (40)

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

  • List of compatible distributions

    26 avril 2011, par

    The table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
    If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...)

  • Selection of projects using MediaSPIP

    2 mai 2011, par

    The examples below are representative elements of MediaSPIP specific uses for specific projects.
    MediaSPIP farm @ Infini
    The non profit organizationInfini develops hospitality activities, internet access point, training, realizing innovative projects in the field of information and communication technologies and Communication, and hosting of websites. It plays a unique and prominent role in the Brest (France) area, at the national level, among the half-dozen such association. Its members (...)

Sur d’autres sites (8034)

  • avcodec/jpeg2000dec : error check when processing tlm marker

    26 mars 2020, par Gautam Ramakrishnan
    avcodec/jpeg2000dec : error check when processing tlm marker
    

    Validate the value of ST field in the TLM marker of JPEG2000.
    Throw an error when ST takes value of 0b11.

    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] libavcodec/jpeg2000dec.c
  • Libav (ffmpeg) HW decoding problem with frames at the end of file - missing or corrupted

    25 mars 2020, par Hitokage

    My goal is to utilize HW accelerated decoding (using vdpau, h265 and Nvidia RTX) getting number of frames from video. Everything works unless the frames get to the end of the video. I am getting less frames than I try to decode usually the last but one is missing (I know strange, the last one is OK just not getting all of them) and sometimes neighboring frames are corrupted. I followed the docs regarding end of file situation. Here is the code :

    //getting first packet
    if (!packet.data)
     av_read_frame(formatContext, &amp; packet);

    AVFrame * frame = av_frame_alloc();
    if (!frame)
     throw std::runtime_error("Cannot allocate packet/frame");

    //now trying to get frames from the video
    for (int i = 0; i &lt; number; i++) {
     int err = 0;
     //feeding the codec
     while (err == 0) {
       if (packet.stream_index == videoStreamId)
         if ((err = avcodec_send_packet(codecContext, &amp; packet)) != 0)
           break;

       av_packet_unref( &amp; packet);
       err = av_read_frame(formatContext, &amp; packet);
       //sending null packet to flush the buffers
       if (err == AVERROR_EOF) {
         packet.data = NULL;
         packet.size = 0;
       }
     }

     bool waitForFrame = true;
     while (waitForFrame) {
       int err = avcodec_receive_frame(codecContext, frame);
       if (err == AVERROR_EOF)
         waitForFrame = false;

       else if (err &lt; 0)
         throw std::runtime_error("Cannot receive frame");

       if (frame -> format == pixFmt)
       //I get here only number-1 times

    Please note that the problem is happening only when I request the same number of frames as is the length of the video. Seems like the end of file situation is not handled properly. The frames get decoded ok if I try to get for example length-1 frames.

    I also tried to log the events and everything looks OK, just one frame is not there. This is a case where 64 frames long video is being decoded asking for 64 frames :

    Send packet 0 == 0
    Read frame status: Success
    Send packet 1 == 0
    Read frame status: Success
    Send packet 2 == 0
    Read frame status: Success
    Send packet 3 == 0
    Read frame status: Success
    Send packet 4 !=0
    Send packet status: Resource temporarily unavailable
    Processing frame:0
    Send packet 4 !=0
    Send packet status: Resource temporarily unavailable
    Processing frame:1
    Send packet 4 == 0
    Read frame status: Success
    Send packet 5 == 0
    Read frame status: Success
    Send packet 6 !=0
    Send packet status: Resource temporarily unavailable
    Processing frame:2
    Send packet 6 !=0
    Send packet status: Resource temporarily unavailable
    Processing frame:3

    ...
    Processing frame:56
    Send packet 60 !=0
    Send packet status: Resource temporarily unavailable
    Processing frame:57
    Send packet 60 == 0
    Read frame status: Success
    Send packet 61 == 0
    Read frame status: Success
    Send packet 62 !=0
    Send packet status: Resource temporarily unavailable
    Processing frame:58
    Send packet 62 !=0
    Send packet status: Resource temporarily unavailable
    Processing frame:59
    Send packet 62 == 0
    Read frame status: Success
    Send packet 63 == 0
    Read frame status: End of file
    Set null packet
    Processing frame:60
    Send packet 64 == 0
    Read frame status: End of file
    Set null packet
    Processing frame:61
    Send packet 65 !=0
    Send packet status: End of file
    Processing frame:62
    Send packet 65 !=0
    Send packet status: End of file
    End of file at receive frame
  • Unable to livestream dynamically created data

    18 mars 2020, par Caltrop

    I’m trying to livestream dynamically created data on youtube using ffmpeg and node.js.

    The example below is supposed to stream random noise, however it just throws errors and doesn’t quite work.

    const height = 512,
       width = 512,
       cp = require('child_process'),
       command = `cd ffmpeg/bin &amp;&amp; ffmpeg -hide_banner -f rawvideo -pix_fmt rgb24 -s ${width}x${height} -i - rtmp://a.rtmp.youtube.com/live2/${loginCredentials.streamKey}`,
       proc = cp.spawn(command, [], { shell: true });

    (f = () => {
       setTimeout(f, 1000/60);
       const data = new Uint8ClampedArray(width * height * 3).map(()=>Math.random()*255);
       proc.stdin.write(Buffer.from(data));
    })();
    proc.stderr.pipe(process.stdout);

    Apologies, I’m quite inexperienced with ffmpeg

    edit : full log below

    Input #0, rawvideo, from 'pipe:':
     Duration: N/A, start: 0.000000, bitrate: 157286 kb/s
       Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 512x512, 157286 kb/s, 25 tbr, 25 tbn, 25 tbc
    Stream mapping:
    events.js:174
         throw er; // Unhandled 'error' event
         ^

    Error: write EPIPE
       at afterWriteDispatched (internal/stream_base_commons.js:78:25)
       at writevGeneric (internal/stream_base_commons.js:67:3)
       at Socket._writeGeneric (net.js:711:5)
       at Socket._writev (net.js:720:8)
       at doWrite (_stream_writable.js:413:12)
       at clearBuffer (_stream_writable.js:522:5)
       at onwrite (_stream_writable.js:470:7)
       at WriteWrap.afterWrite [as oncomplete] (net.js:800:19)
    Emitted 'error' event at:
       at errorOrDestroy (internal/streams/destroy.js:107:12)
       at onwriteError (_stream_writable.js:430:5)
       at onwrite (_stream_writable.js:461:5)
       at _destroy (internal/streams/destroy.js:49:7)
       at Socket._destroy (net.js:613:3)
       at Socket.destroy (internal/streams/destroy.js:37:8)
       at afterWriteDispatched (internal/stream_base_commons.js:78:17)
       at writevGeneric (internal/stream_base_commons.js:67:3)
       at Socket._writeGeneric (net.js:711:5)
       at Socket._writev (net.js:720:8)