Recherche avancée

Médias (91)

Autres articles (65)

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

  • XMP PHP

    13 mai 2011, par

    Dixit Wikipedia, XMP signifie :
    Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
    Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
    XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)

Sur d’autres sites (5233)

  • tools/graph2dot : make dot graph representation a bit more compact

    24 juin 2012, par Stefano Sabatini

    tools/graph2dot : make dot graph representation a bit more compact

  • Black overlay appears when merging a transparent video to another video

    13 juin 2012, par RakeshS

    This is what I have done so far :

    Command to create a transparent PNG image :

    convert -size 640x480 -background transparent -fill blue \
    -gravity South label:ROCK image1-0.png

    Command to create a transparent video :

    ffmpeg -loop 1 -f image2 -i image1-0.png -r 20 -vframes 100 \
    -vcodec png -pix_fmt bgra mov-1.mov

    (as per this post) - I expect this video to be a transparent video.

    Command to overlay a video with another :

    ffmpeg -i final-video.mov -sameq -ar 44100 \
    -vf "movie=mov-1.mov [logo];[in][logo] overlay=0:0 [out]" \
    -strict experimental final-video.mov

    Above commands works perfect and I have not faced any problem, but I don't get what I expect which is kinda watermarking effect, I want mov-1.mov to be transparent with final-video.mov.

    Questions :

    1. Is there any way to verify if the generated video is transparent ? other than merging ?
    2. Not sure why the above mov-1.mov is not transparent when it is merged with final-video.mov, any info to solve this problem would be great.

    Please help.

  • why ffmpeg frame to opengles texture is black

    5 juin 2012, par joe

    I'm trying to converted from a video using ffmpeg to an opengles texture in jni, but i just get a black texture. I have output the opengl with the glGetError(), there is any error.
    Here is my code :

    void*              pixels;    int err;
    int i;
    int frameFinished = 0;
    AVPacket packet;
    static struct SwsContext *img_convert_ctx;
    static struct SwsContext *scale_context = NULL;
    int64_t seek_target;

    int target_width = 320;
    int target_height = 240;
    GLenum error = GL_NO_ERROR;
    sws_freeContext(img_convert_ctx);  

    i = 0;
    while((i==0) && (av_read_frame(pFormatCtx, &packet)>=0)) {
       if(packet.stream_index==videoStream) {
           avcodec_decode_video2(pCodecCtx, pFrame, &frameFinished, &packet);

           if(frameFinished) {
               LOGI("packet pts %llu", packet.pts);
               img_convert_ctx = sws_getContext(pCodecCtx->width, pCodecCtx->height,
                      pCodecCtx->pix_fmt,
                      target_width, target_height, PIX_FMT_RGB24, SWS_BICUBIC,
                      NULL, NULL, NULL);
               if(img_convert_ctx == NULL) {
                   LOGE("could not initialize conversion context\n");
                   return;
               }
               sws_scale(img_convert_ctx, (const uint8_t* const*)pFrame->data, pFrame->linesize, 0, pCodecCtx->height, pFrameRGB->data, pFrameRGB->linesize);
               LOGI("sws_scale");

               videoTextures = new Texture*[1];
               videoTextures[0]->mWidth = 256; //(unsigned)pCodecCtx->width;
               videoTextures[0]->mHeight = 256; //(unsigned)pCodecCtx->height;
               videoTextures[0]->mData = pFrameRGB->data[0];

               glPixelStorei(GL_UNPACK_ALIGNMENT, 1);

               glGenTextures(1, &(videoTextures[0]->mTextureID));
               glBindTexture(GL_TEXTURE_2D, videoTextures[0]->mTextureID);
               glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
               glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

               if(0 == got_texture)
               {
                   glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, videoTextures[0]->mWidth, videoTextures[0]->mHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid *)videoTextures[0]->mData);

                   glTexSubImage2D(GL_TEXTURE_2D, 0, 0,0, videoTextures[0]->mWidth, videoTextures[0]->mHeight, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid *)videoTextures[0]->mData);
               }else
               {
                   glTexSubImage2D(GL_TEXTURE_2D, 0, 0,0, videoTextures[0]->mWidth, videoTextures[0]->mHeight, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid *)videoTextures[0]->mData);

               }

               i = 1;
               error = glGetError();
               if( error != GL_NO_ERROR ) {
                   LOGE("couldn't create texture!!");
                      switch (error) {
                       case GL_INVALID_ENUM:
                       LOGE("GL Error: Enum argument is out of range");
                       break;
                       case GL_INVALID_VALUE:
                           LOGE("GL Error: Numeric value is out of range");
                       break;
                       case GL_INVALID_OPERATION:
                           LOGE("GL Error: Operation illegal in current state");
                       break;
                       case GL_OUT_OF_MEMORY:
                           LOGE("GL Error: Not enough memory to execute command");
                       break;
                       default:
                           break;
                      }
               }
           }
       }
       av_free_packet(&packet);
    }

    i success to change pFrameRGB to a java bitmap, but i just want to change it to a texture in the c code,