
Recherche avancée
Médias (1)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (102)
-
Les vidéos
21 avril 2011, parComme 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, parCe 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, parPHP5 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 Niedermayeravformat/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> -
avcodec/proresdec : Consider negative bits left
19 juillet 2024, par Michael Niedermayeravcodec/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> -
Negative pts timestamps in RTSP packets using FFMPEG/C++ while remuxing H264 format into MPEG-TS
17 juillet 2024, par RPAnimationI 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 :

Main loop :


int cnt = 0;
AVPacket *packet = av_packet_alloc();
int64_t last_mux_dts = AV_NOPTS_VALUE;
int dropped = 0;
while ((av_read_frame(in_fmt_ctx, packet) >= 0) && cnt < 1000)
{
////// Current approach
 if (packet->stream_index != video_stream_index)
 {
 continue;
 }

 if (packet->pts <= 0)
 {
 dropped++;
 continue;
 }

 if (packet->dts <= last_mux_dts)
 {
 packet->dts = packet->pts = last_mux_dts + 1;
 }

 last_mux_dts = packet->dts;

////// Previous approach
// in_stream = in_fmt_ctx->streams[pkt->stream_index];
// out_stream = out_fmt_ctx->streams[pkt->stream_index];
// av_packet_rescale_ts(pkt, in_stream->time_base, out_stream->time_base)
//////
 packet->pos = -1;

 if (av_interleaved_write_frame(out_fmt_ctx, packet) < 0)
 {
 fprintf(stderr, "Error muxing packet\n");
 break;
 }
 cnt++;
}



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

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



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

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.

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