Recherche avancée

Médias (0)

Mot : - Tags -/api

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (112)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

Sur d’autres sites (12189)

  • ffmpeg:When receiving a udp network video stream, it is found that the values of the received packets PTS and DTS change abnormally

    24 octobre 2022, par watermelon_seven

    I am using the ffmpeg source code to receive the udp network video stream, but there is a problem with this video stream. Occasionally, the audio and video packets dts and pts jump at the same time, that is, from a large value to a difference of dozens of times. Very small value, I want to use a solution to solve this problem in the code, but can't think of it. Hope you can help me, thanks !

    


    The following is a process of writing to the buffer to be decoded after receiving the video packet when I receive the network stream. The decoding is done by the video decoding thread, which is only responsible for receiving the stream and writing the buffer to be decoded.

    


        //read video package&#xA;    if(pAvPacket->stream_index == pThis->m_iVideoStreamIndex)&#xA;    {&#xA;        std::cout&lt;&lt;"Video_Packet_DTS: "&lt;dts&lt;&lt;"   Video_Packet_PTS: "&lt;pts&lt;/Video frame rate assignment&#xA;        if(pThis->m_pVideoTimeBase->num > 0 &amp;&amp; pAvPacket->duration > 0)&#xA;            pThis->m_iVideoFPS = (pThis->m_pVideoTimeBase->den / pThis->m_pVideoTimeBase->num) / pAvPacket->duration;&#xA;&#xA;        if(pThis->m_iDecodeMode == DECODE_MODE_ONLY_CURRENT_COLLECTION)&#xA;            pThis->m_videoDecodeThreadState = THREAD_NEED_STOP;     //stop the thread&#xA;        else&#xA;            pThis->m_videoDecodeThreadState = THREAD_NEED_RUN;      //make the thread run&#xA;&#xA;        if(pThis->m_iMultiMediaType != MULTI_MEDIA_TYPE_FILE&#xA;                &amp;&amp; pAvPacket->flags == AV_PKT_FLAG_KEY)&#xA;        {&#xA;                pThis->m_bIsFindIFrame = YTRUE;&#xA;        }&#xA;&#xA;        VideoFramesCount &#x2B;&#x2B;;&#xA;        pThis->m_iReadVideoPacketCount &#x2B;&#x2B;;&#xA;        if(pThis->m_iDecodeMode != DECODE_MODE_ONLY_CHECK_NET &amp;&amp; pThis->m_iDecodeMode != DECODE_MODE_AUDIO &amp;&amp; pThis->m_bIsFindIFrame)&#xA;            YGlobCircleBufferWrite<avpacket>(pThis->m_videoPacketBuffer, &amp;pAvPacket, 1);&#xA;        else&#xA;            av_packet_unref(pAvPacket);&#xA;        pAvPacket = YNULL;&#xA;    }&#xA;</avpacket>

    &#xA;

    The following is the information printed when the code is run :

    &#xA;

    Video_Packet_DTS: 8590470992   Video_Packet_PTS: 8590470992&#xA;Video_Packet_DTS: 8590474592   Video_Packet_PTS: 8590474592&#xA;Video_Packet_DTS: 8590478192   Video_Packet_PTS: 8590478192&#xA;Video_Packet_DTS: 8590481792   Video_Packet_PTS: 8590481792&#xA;Video_Packet_DTS: 550800   Video_Packet_PTS: 550800&#xA;Video_Packet_DTS: 554400   Video_Packet_PTS: 554400&#xA;Video_Packet_DTS: 558000   Video_Packet_PTS: 558000&#xA;Video_Packet_DTS: 561600   Video_Packet_PTS: 561600&#xA;Video_Packet_DTS: 565200   Video_Packet_PTS: 565200&#xA;

    &#xA;

    and the error message is printed :

    &#xA;

    [h264 @ 04fea380] non-existing PPS 0 referenced&#xA;[h264 @ 04fea380] decode_slice_header error&#xA;[h264 @ 04fea380] no frame!&#xA;[swscaler @ 19b04600] Warning: data is not aligned! This can lead to a speed loss&#xA;[mp3float @ 04feadc0] overread, skip -6 enddists: -2 -2&#xA;[mpegts @ 04fcbf40] DTS 550800 &lt; 8590481792 out of order&#xA;[mp3float @ 04feadc0] overread, skip -7 enddists: -6 -6&#xA;[mp3float @ 04feadc0] overread, skip -5 enddists: -2 -2&#xA;

    &#xA;

    I am so obsessed with their pts because when I synchronize audio and video, I will use their pts for synchronization. If the pts are too different, the video will be stuck when playing the video. I don't know how to avoid

    &#xA;

  • libavformat/riffec : Zero-initialize channels in ff_get_wav_header

    9 septembre 2022, par Will Cassella
    libavformat/riffec : Zero-initialize channels in ff_get_wav_header
    

    Clang's static analyzer complains that leaving the variable
    uninitialized could lead to a code path where the uninitialized value is
    written to at the end of this function.
    This patch simply zero-initializes that variable to avoid that.

    Signed-off-by : Will Cassella <cassew@google.com>
    Signed-off-by : James Almer <jamrial@gmail.com>

    • [DH] libavformat/riffdec.c
  • avutil/dict : Error out in case of key == NULL

    14 septembre 2022, par Andreas Rheinhardt
    avutil/dict : Error out in case of key == NULL
    

    Up until now, using NULL as key in av_dict_get() on a non-empty
    AVDictionary would crash ; using NULL as key in av_dict_set()
    would also crash for a non-empty AVDictionary unless AV_DICT_MULTIKEY
    was set ; in case the dictionary was initially empty or AV_DICT_MULTIKEY
    was set, it was even possible for av_dict_set() to succeed when
    adding a NULL key, namely when one uses a value != NULL and
    the AV_DICT_DONT_STRDUP_VAL flag. Using av_dict_get() on such
    an AVDictionary will usually lead to crashes, though.

    Fix this by actually checking for key in both functions ; error out
    if they are NULL.

    While just at it, also stop relying on av_strdup(NULL) to return NULL
    in av_dict_set().

    Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    • [DH] libavutil/dict.c
    • [DH] libavutil/tests/dict.c