Recherche avancée

Médias (2)

Mot : - Tags -/map

Autres articles (76)

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

  • tools/zmqsend : use valid NULL log context

    23 décembre 2013, par Stefano Sabatini
    tools/zmqsend : use valid NULL log context
    

    The zmq context is not a valid log context. Fix crash.

    • [DH] tools/zmqsend.c
  • avconv : do not overwrite the stream codec context for streamcopy

    2 avril 2015, par Anton Khirnov
    avconv : do not overwrite the stream codec context for streamcopy
    

    Since we are not doing encoding, there is no point in ever touching the
    separate encoding context. Always use the stream codec context.

    Fixes writing attachments.

    CC:libav-devel@libav.org

    • [DH] avconv.c
  • Reading RTMP streams using FFMPEG returns AVERROR_EOF randomly

    9 octobre 2013, par user2628781

    I am using FFMpeg to receive RTMP streams. This logic is placed in a custom video player I am building.

    I managed to successfully connect to the RTMP stream and display the video correctly. However, after a period in time, the stream terminates prematurely with an AVERROR_EOF when I perform av_read_frame().

    This indicates to me that the file has ended so my demux, video and audio threads terminates thinking that the video has ended.
    However, the video playback hasn't yet reached its end (in the case of a file streamed through rtmp) or from a live stream (which runs forever). The EOFs are received very randomly so it may run for say 7 min before this occurs or after 3 mins.

    Is this a characteristic behaviour of RTMP or am I doing something incorrectly ?
    I am also having a similar problem with Http Live Streams using FFMpeg.

    A small snippet of the code is provided below :

    AVPacket packet;
    //start timeout timer and timeout
    __interrupt_timer.start();

    int ret = av_read_frame(format_context, &packet); //0: ok, <0: error/end


    //invalidate the timer
    __interrupt_timer.invalidate();

    if (ret != 0) {
       if (ret == AVERROR_EOF) { //end of file. FIXME: why no eof if replaying by seek(0)?            
           if (!eof) {
               eof = true;
               started_ = false;
               pkt->data = QByteArray(); //flush
               pkt->markEnd();
               qDebug("End of file. %s %d", __FUNCTION__, __LINE__);
               emit finished();
               return true;
           }
           pkt->data = QByteArray(); //flush
           //return true;
           return false; //frames after eof are eof frames
       } else if (ret == AVERROR_INVALIDDATA) {
           qWarning("AVERROR_INVALIDDATA");
       } else if (ret == AVERROR(EAGAIN)) {
           return true;
       }
       qWarning("[AVDemuxer] error: %s", av_err2str(ret));
       return false;
    }