Recherche avancée

Médias (17)

Mot : - Tags -/wired

Autres articles (63)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

Sur d’autres sites (6083)

  • Access violation reading location 0x000000148965F000

    14 février 2014, par user3012914

    I tried to encode BMP Images, which i get from a buffer and store it as a H264 Video. I am stuck with these errors the arrive randomly and repeatedly

    I am using Visual Studio 2012

    1) Access violation reading location 0x000000148965F000.

    2)Heap corruption

    The debug shows the error at this point

       struct SwsContext* fooContext = sws_getContext(_imgWidth,_imgHeight,PIX_FMT_RGB32,c->width,c->height,PIX_FMT_YUV420P, SWS_FAST_BILINEAR,NULL,NULL,NULL);
                       sws_scale(fooContext, inpic->data, inpic->linesize, 0, c->height, outpic->data, outpic->linesize);    // converting frame size and format

    I guess the read violation happens due to non - pre initialized values. But i couldnt exactly understand why. I have also attached part of the code below

    PagedImage *inImg = getUpdatedInputImage(0);
           ML_CHECK(inImg);
           ImageVector imgExt = inImg->getImageExtent();
           if ((imgExt.x == _imgWidth) && (imgExt.y == _imgHeight))
           {
               if (((imgExt.x % 4) == 0) && ((imgExt.y % 4) == 0))
               {
                  _numFramesFld->setIntValue(_numFramesFld->getIntValue() + 1);
                   MLFree(unicodeFilename);
                   // configure header
                   //BITMAPINFO bitmapInfo
                   // read out input image and write output image into video
                   // get input image as an array
                   void* imgData = NULL;
                   SubImageBox imageBox(imgExt); // get the whole image
                   getTile(inImg, imageBox, MLuint8Type, &imgData);
                   MLuint8* iData = (MLuint8*)imgData;
                   // since we have only images with
                   // a z-ext of 1, we can compute the c stride as follows
                   int cStride = _imgWidth * _imgHeight;
                   int offset  = 0;
                   MLuint8 r=0, g=0, b=0;
                   // pointer into the bitmap that is
                   // used to write images into an video
                   UCHAR* dst = (UCHAR*)_bits;
                   for (int y = _imgHeight-1; y >= 0; y--)
                   { // reversely scan the image. if y-rows of DIB are set in normal order, no compression will be available.
                       offset = _imgWidth * y;
                       for (int x = 0; x < _imgWidth; x++)
                       {
                           if (_isGreyValueImage)
                           {
                               r = iData[offset + x];
                               *dst++ = (UCHAR)r;
                               *dst++ = (UCHAR)r;
                               *dst++ = (UCHAR)r;
                           }
                           else
                           {
                               b = iData[offset + x]; // windows bitmap need reverse order: bgr instead of rgb
                               g = iData[offset + x + cStride          ];
                               r = iData[offset + x + cStride + cStride];
                               *dst++ = (UCHAR)r;
                               *dst++ = (UCHAR)g;
                               *dst++ = (UCHAR)b;
                           }
                           // alpha channel in input image is ignored
                       }
                   }
                   outbuf_size = 100000 + c->width*c->height*(32>>3);      // allocate output buffer
                   outbuf = static_cast(malloc(outbuf_size));
                   fileName_ = (_outputFilenameFld->getStringValue()).c_str();
                   FILE* f = fopen(fileName_,"wb");                    // opening video file for writing
                   if(!f)
                   {
                       _messageFld->setStringValue("Cannot open file");
                   }
                   else _messageFld->setStringValue("Opened video file for writing\n");

                   //for(i=0;i<_numFramesFld->getIntValue();i++)
                   //{
                       fflush(stdout);
                       int nbytes = avpicture_get_size(PIX_FMT_YUV420P, c->width, c->height);                                // allocating outbuffer
                       uint8_t* outbuffer = (uint8_t*)av_malloc(nbytes*sizeof(uint8_t));
                       AVFrame* inpic = avcodec_alloc_frame();                                                               // mandatory frame allocation
                       AVFrame* outpic = avcodec_alloc_frame();
                       //outpic->pts = (int64_t)((float)i * (1000.0/((float)(c->time_base.den))) * 90);                        // setting frame pts
                       avpicture_fill((AVPicture*)inpic,(uint8_t*)dst, PIX_FMT_RGB32, c->width, c->height);                            // fill image with input screenshot
                       avpicture_fill((AVPicture*)outpic, outbuffer, PIX_FMT_YUV420P, c->width, c->height);                  // clear output picture for buffer copy
                       av_image_alloc(outpic->data, outpic->linesize, c->width, c->height, c->pix_fmt, 1);

                       inpic->data[0] += inpic->linesize[0]*(c->height-1);                                                   // flipping frame
                       inpic->linesize[0] = -inpic->linesize[0];                                                             // flipping frame

                       struct SwsContext* fooContext = sws_getContext(_imgWidth,_imgHeight,PIX_FMT_RGB32,c->width,c->height,PIX_FMT_YUV420P, SWS_FAST_BILINEAR,NULL,NULL,NULL);
                       sws_scale(fooContext, inpic->data, inpic->linesize, 0, c->height, outpic->data, outpic->linesize);    // converting frame size and format
                       out_size = avcodec_encode_video(c, outbuf, outbuf_size, outpic);                                      // encoding video
                       _messageFld->setStringValue("Encoding frame %3d (size=%5d)\n");
                        fwrite(outbuf, 1, out_size, f);
                        delete [] dst;                                                                                         // freeing memory
                       av_free(outbuffer);    
                       av_free(inpic);
                       av_free(outpic);
                       av_free(fooContext);
                       DeleteObject(_hbitmap);

                       for(int Z = 0; Z/ encode the delayed frames
                           fwrite(outbuf, 1, out_size, f);
                       }
                       //outbuf[0] = 0x00;
                       //outbuf[1] = 0x00;                                                                                               // add sequence end code to have a real mpeg file
                       //outbuf[2] = 0x01;
                       //outbuf[3] = 0xb7;
                       //fwrite(outbuf, 1, 4, f);
                       fclose(f);
                       avcodec_close(c);                                                                                               // freeing memory
                       free(outbuf);
                       av_free(c);
                       printf("Closed codec and Freed\n");
                   }
               }
  • Play RTMP video stream on Android using JavaCV+FFmpeg

    6 février 2014, par 0_ll_0

    I know I can use FFmpeg+JavaCV for live rtmp streaming from Android to Wowza or Red5 server. Now I want to do the opposite.
    I found out that I can grab video from file using FFmpeg like this

    FFmpegFrameGrabber frameGrabber =
               new FFmpegFrameGrabber(file.getAbsolutePath());

       IplImage captured_frame = null;

       FrameRecorder recorder = null;
       recorder = new FFmpegFrameRecorder("/mnt/sdcard/external_sd/videosteste/primeiroteste.mp4", 300, 300);
       recorder.setVideoCodec(13);
       recorder.setFrameRate(30);
       recorder.setFormat("mp4");
       try {
           recorder.start();
           frameGrabber.start();
           while (true) {
               try {
                   captured_frame = frameGrabber.grab();

                   if (captured_frame == null) {
                       System.out.println("!!! Failed cvQueryFrame");
                       break;
                   }
                   recorder.record(captured_frame);
               } catch (Exception e) {
               }
           }
           recorder.stop();
           recorder.release();
       } catch (Exception e) {
           e.printStackTrace();
       }

    My aim is to play a video from live rtmp stream ("rtmp ://.../live/channelname/broadcast") on Android using FFmpeg, VideoView and also with audio output. Is it possible ? I found solution like this but I do not want to use webview. Also I found a lot of other questions here, at stackoverflow, but they are mostly unanswered and I still do not have clear solution.
    Code samples are preferable. Thanks !

  • vorbis : extract metadata from the middle of a stream

    5 février 2014, par Ben Boeckel
    vorbis : extract metadata from the middle of a stream
    

    If a special comment packet shows up in the middle of the stream, we
    should extract it out into the vorbis stream metadata dictionary.

    Also, if there is metadata in the packet on the way in, it might linger
    since we only add data to the dictionary causing stale metadata to be
    inserted into the stream. Instead, clear it to remove any doubt about
    what is new and old.

    Signed-off-by : Ben Boeckel <mathstuf@gmail.com>
    Signed-off-by : Michael Niedermayer <michaelni@gmx.at>

    • [DH] libavformat/oggparsevorbis.c