Recherche avancée

Médias (3)

Mot : - Tags -/collection

Autres articles (87)

  • Les notifications de la ferme

    1er décembre 2010, par

    Afin d’assurer une gestion correcte de la ferme, il est nécessaire de notifier plusieurs choses lors d’actions spécifiques à la fois à l’utilisateur mais également à l’ensemble des administrateurs de la ferme.
    Les notifications de changement de statut
    Lors d’un changement de statut d’une instance, l’ensemble des administrateurs de la ferme doivent être notifiés de cette modification ainsi que l’utilisateur administrateur de l’instance.
    À la demande d’un canal
    Passage au statut "publie"
    Passage au (...)

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

Sur d’autres sites (7659)

  • lavfi/overlay : correct small error in intersection detection

    26 octobre 2013, par Benedict Endemann
    lavfi/overlay : correct small error in intersection detection
    

    The image size of the destination image was used to determine if a source
    image was positioned outside the destination image, that no intersection
    could occur. Actually for these two cases the size of the source image
    has to be used !

    Signed-off-by : Stefano Sabatini <stefasab@gmail.com>

    • [DH] libavfilter/vf_overlay.c
  • Can I decode this audio format ?

    30 octobre 2013, par Naftuli Tzvi Kay

    I'm writing a Python program which depends on FFMPEG to decode audio into WAV format. I'd like to be able to process as many types of audio, but I need a way to quickly check if I can actually work with the uploaded file or not. I've compiled my own FFMPEG installation here.

    Specifically, I'd like to enforce logic like this in my application :

    if ffmpeg_type(file_path) is not "audio":
       raise Exception("Bro, that&#39;s not an audio file.")
    elif not ffmpeg_can_decode_audio(file_path):
       raise Exception("I have no way of working with this.")

    (I realize that it wouldn't be as easy as just calling these methods, I assume I'd need to parse output from a system call.)

    Is there a way that I could use the command-line ffmpeg, ffprobe, etc. to determine if a given file is an audio file and if I can decode it ?

  • Capture JPEG frame from avi file using ffmpeg library. How to open captured files ?

    30 novembre 2013, par ios198

    This is the code I found from the ffmpeg tutorial website :

    #include <libavcodec></libavcodec>avcodec.h>
    #include <libavformat></libavformat>avformat.h>
    #include <libswscale></libswscale>swscale.h>
    #include
    void SaveFrame(AVFrame *pFrame, int width, int height, int iFrame) {
     FILE *pFile;
     char szFilename[32];
     int  y;

     // Open file
     sprintf(szFilename, "frame%d.ppm", iFrame); // szFilenam = frame4.ppm
     pFile=fopen(szFilename, "wb");
     if (pFile == NULL) {
      return;
       }
      //Write header
     fprintf(pFile, "P6\n%d %d\n255\n", width, height);

     // Write pixel data
     for(y=0; ydata[0]+y*pFrame->linesize[0], 1, width*3, pFile);

     // Close file
     fclose(pFile);
    }

    int main(int argc, char **argv[])
    {
       AVFormatContext *pFormatCtx = NULL;
       int             i, videoStream;
       AVCodecContext  *pCodecCtx = NULL;
       AVCodec         *pCodec = NULL;
       AVFrame         *pFrame = NULL;
       AVFrame         *pFrameRGB = NULL;
       AVPacket        packet;
       int             frameFinished;
       int             numBytes;
       uint8_t         *buffer = NULL;

       AVDictionary    *optionsDict = NULL;
       struct SwsContext      *sws_ctx = NULL;


       // Register all formats and codecs
       av_register_all();

       // Open video file
       if(avformat_open_input(&amp;pFormatCtx, "/root/dhquan/AVI/turning_pages.avi", NULL, NULL)!=0)
           return -1; // couldn&#39;t open file

       // Retrieve stream information
       if(avformat_find_stream_info(pFormatCtx,NULL)&lt;0)
           return -1; // couldn&#39;t find stream information
                      // This function populates pFormatCtx->streams with the proper

       // dump information about file onto standard error
       av_dump_format(pFormatCtx, 0, "/root/dhquan/AVI/turning_pages.avi", 0);

       // Find the first video stream
       videoStream = -1;
       for(i=0;inb_streams;i++)
           if(pFormatCtx->streams[i]->codec->codec_type==AVMEDIA_TYPE_VIDEO){
               videoStream=i;
               break;
           }
           if(videoStream==-1)
               return -1; // didn&#39;t find a video stream

       // Get a pointer to the codec context for the video stream
           pCodecCtx= pFormatCtx->streams[videoStream]->codec;

       // Find the decoder for the video stream
           pCodec=avcodec_find_decoder(pCodecCtx->codec_id);
           if(pCodec==NULL){
               fprintf(stderr,"Unsupported codec!\n");
               return -1;
           }

       // Open Codec
           if(avcodec_open2(pCodecCtx, pCodec, &amp;optionsDict)&lt;0)
               return -1; // Could not open codec

       // Allocate video frame
           pFrame = avcodec_alloc_frame();

       // Allocate an AVFrame structure
            pFrameRGB=avcodec_alloc_frame();
           if(pFrameRGB==NULL)
               return -1;
       // Determine required buffer size and allocate buffer
            numBytes=avpicture_get_size(PIX_FMT_RGB24, pCodecCtx->width,
                     pCodecCtx->height);
            buffer=(uint8_t *)av_malloc(numBytes*sizeof(uint8_t));

            sws_ctx =
            sws_getContext
       (
           pCodecCtx->width,
           pCodecCtx->height,
           pCodecCtx->pix_fmt,
           pCodecCtx->width,
           pCodecCtx->height,
           PIX_FMT_RGB24,
           SWS_BILINEAR,
           NULL,
           NULL,
           NULL
       );

     // Assign appropriate parts of buffer to image planes in pFrameRGB
     // Note that pFrameRGB is an AVFrame, but AVFrame is a superset
     // of AVPicture
     avpicture_fill((AVPicture *)pFrameRGB, buffer, PIX_FMT_RGB24,
            pCodecCtx->width, pCodecCtx->height);

     // Read frames and save first five frames to disk
     i=0;
     while(av_read_frame(pFormatCtx, &amp;packet)>=0) {
       // Is this a packet from the video stream?
       if(packet.stream_index==videoStream) {
         // Decode video frame
         avcodec_decode_video2(pCodecCtx, pFrame, &amp;frameFinished,
                  &amp;packet);

         // Did we get a video frame?
         if(frameFinished) {
       // Convert the image from its native format to RGB
           sws_scale
           (
               sws_ctx,
               (uint8_t const * const *)pFrame->data,
               pFrame->linesize,
               0,
               pCodecCtx->height,
               pFrameRGB->data,
               pFrameRGB->linesize
           );

       // Save the frame to disk
       if(++i&lt;=5)
         SaveFrame(pFrameRGB, pCodecCtx->width, pCodecCtx->height,
               i);
         }
       }

       // Free the packet that was allocated by av_read_frame
       av_free_packet(&amp;packet);
     }

     // Free the RGB image
     av_free(buffer);
     av_free(pFrameRGB);

     // Free the YUV frame
     av_free(pFrame);

     // Close the codec
     avcodec_close(pCodecCtx);

     // Close the video file
     avformat_close_input(&amp;pFormatCtx);

     return 0;
     //getch();
    }

    In line :
    sprintf(szFilename, "frame%d.ppm", iFrame) ;

    I changed into frame%d.jpg. It creates .jpg file in my folder. But I can't read it. How to open this file ? Please help me.