Recherche avancée

Médias (1)

Mot : - Tags -/biomaping

Autres articles (102)

  • Les vidéos

    21 avril 2011, par

    Comme les documents de type "audio", Mediaspip affiche dans la mesure du possible les vidéos grâce à la balise html5 .
    Un des inconvénients de cette balise est qu’elle n’est pas reconnue correctement par certains navigateurs (Internet Explorer pour ne pas le nommer) et que chaque navigateur ne gère en natif que certains formats de vidéos.
    Son avantage principal quant à lui est de bénéficier de la prise en charge native de vidéos dans les navigateur et donc de se passer de l’utilisation de Flash et (...)

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

  • Configuration spécifique pour PHP5

    4 février 2011, par

    PHP5 est obligatoire, vous pouvez l’installer en suivant ce tutoriel spécifique.
    Il est recommandé dans un premier temps de désactiver le safe_mode, cependant, s’il est correctement configuré et que les binaires nécessaires sont accessibles, MediaSPIP devrait fonctionner correctement avec le safe_mode activé.
    Modules spécifiques
    Il est nécessaire d’installer certains modules PHP spécifiques, via le gestionnaire de paquet de votre distribution ou manuellement : php5-mysql pour la connectivité avec la (...)

Sur d’autres sites (7643)

  • avformat/rpl : Fix check for negative values

    18 novembre 2024, par Michael Niedermayer
    avformat/rpl : Fix check for negative values
    

    Fixes : signed integer overflow : 10 * -1923267925333400000 cannot be represented in type 'int64_t' (aka 'long')
    Fixes : 378891963/clusterfuzz-testcase-minimized-fuzzer_loadfile_direct-5714338935013376
    Found-by : ossfuzz
    Reported-by : Kacper Michajlow <kasper93@gmail.com>
    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] libavformat/rpl.c
  • avcodec/proresdec : Consider negative bits left

    19 juillet 2024, par Michael Niedermayer
    avcodec/proresdec : Consider negative bits left
    

    Fixes : 70036/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PRORES_fuzzer-6298797647396864
    Fixes : shift exponent 40 is too large for 32-bit type 'uint32_t' (aka 'unsigned int')

    Found-by : continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] libavcodec/proresdec.c
  • Negative pts timestamps in RTSP packets using FFMPEG/C++ while remuxing H264 format into MPEG-TS

    17 juillet 2024, par RPAnimation

    I am muxing an H264 stream from RTSP camera to a MPEG-TS container (no re-encoding, just putting the bytestream to a container). At some point I figured out how to deal with pts and dts fields in AVPacket by combining information I found online. It works, but I am wondering whether my approach is correct :

    &#xA;

    Main loop :

    &#xA;

    int cnt = 0;&#xA;AVPacket *packet = av_packet_alloc();&#xA;int64_t last_mux_dts = AV_NOPTS_VALUE;&#xA;int dropped = 0;&#xA;while ((av_read_frame(in_fmt_ctx, packet) >= 0) &amp;&amp; cnt &lt; 1000)&#xA;{&#xA;////// Current approach&#xA;    if (packet->stream_index != video_stream_index)&#xA;    {&#xA;        continue;&#xA;    }&#xA;&#xA;    if (packet->pts &lt;= 0)&#xA;    {&#xA;        dropped&#x2B;&#x2B;;&#xA;        continue;&#xA;    }&#xA;&#xA;    if (packet->dts &lt;= last_mux_dts)&#xA;    {&#xA;        packet->dts = packet->pts = last_mux_dts &#x2B; 1;&#xA;    }&#xA;&#xA;    last_mux_dts = packet->dts;&#xA;&#xA;////// Previous approach&#xA;//  in_stream = in_fmt_ctx->streams[pkt->stream_index];&#xA;//  out_stream = out_fmt_ctx->streams[pkt->stream_index];&#xA;//  av_packet_rescale_ts(pkt, in_stream->time_base, out_stream->time_base)&#xA;//////&#xA;    packet->pos = -1;&#xA;&#xA;    if (av_interleaved_write_frame(out_fmt_ctx, packet) &lt; 0)&#xA;    {&#xA;        fprintf(stderr, "Error muxing packet\n");&#xA;        break;&#xA;    }&#xA;    cnt&#x2B;&#x2B;;&#xA;}&#xA;

    &#xA;

    Previously I tried setting permutations of following options to my AVFormatContext :

    &#xA;

    AVDictionary *options = NULL;&#xA;av_dict_set(&amp;options, "use_wallclock_as_timestamps", "1", 0);&#xA;av_dict_set(&amp;options, "max_interleave_delta", "0", 0);&#xA;av_dict_set(&amp;options, "seek_timestamp", "1", 0);&#xA;av_dict_set(&amp;options, "avoid_negative_ts", "make_zero", 0);&#xA;av_dict_set(&amp;options, "fflags", "&#x2B;genpts", 0);&#xA;

    &#xA;

    and using av_packet_rescale_ts after receiving a packet (like in this example from FFMPEG repo).

    &#xA;

    But every time the output of such approach was a .ts file that was about 20h in length while only recording for 5s. It was still playable though.

    &#xA;

    Is it a right practice to modify pts/dts fields manually or is there a built in functionality in libav to deal with them in such a use-case ?

    &#xA;