Recherche avancée

Médias (91)

Autres articles (69)

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

  • MediaSPIP Player : problèmes potentiels

    22 février 2011, par

    Le lecteur ne fonctionne pas sur Internet Explorer
    Sur Internet Explorer (8 et 7 au moins), le plugin utilise le lecteur Flash flowplayer pour lire vidéos et son. Si le lecteur ne semble pas fonctionner, cela peut venir de la configuration du mod_deflate d’Apache.
    Si dans la configuration de ce module Apache vous avez une ligne qui ressemble à la suivante, essayez de la supprimer ou de la commenter pour voir si le lecteur fonctionne correctement : /** * GeSHi (C) 2004 - 2007 Nigel McNie, (...)

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

Sur d’autres sites (4715)

  • 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