
Recherche avancée
Médias (1)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
Autres articles (111)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Script d’installation automatique de MediaSPIP
25 avril 2011, parAfin de palier aux difficultés d’installation dues principalement aux dépendances logicielles coté serveur, un script d’installation "tout en un" en bash a été créé afin de faciliter cette étape sur un serveur doté d’une distribution Linux compatible.
Vous devez bénéficier d’un accès SSH à votre serveur et d’un compte "root" afin de l’utiliser, ce qui permettra d’installer les dépendances. Contactez votre hébergeur si vous ne disposez pas de cela.
La documentation de l’utilisation du script d’installation (...)
Sur d’autres sites (13258)
-
ffmpeg API : handle frame loss in hevc encoding
8 janvier 2024, par MarioEverything works fine until the introduction of frame->pts increment due to frame loss.


Below is the regular progression without frame->pts increments :




frame->pts=8 pkt->pts=512 pkt->dts=-512 pkt->flags=1

frame->pts=9 pkt->pts=2560 pkt->dts=0 pkt->flags=0

frame->pts=10 pkt->pts=1536 pkt->dts=512 pkt->flags=0

frame->pts=11 pkt->pts=1024 pkt->dts=1024 pkt->flags=0

frame->pts=12 pkt->pts=2048 pkt->dts=1536 pkt->flags=0

frame->pts=13 pkt->pts=4608 pkt->dts=2048 pkt->flags=0

frame->pts=14 pkt->pts=3584 pkt->dts=2560 pkt->flags=0

frame->pts=15 pkt->pts=3072 pkt->dts=3072 pkt->flags=0

frame->pts=16 pkt->pts=4096 pkt->dts=3584 pkt->flags=0

frame->pts=17 pkt->pts=6656 pkt->dts=4096 pkt->flags=0

frame->pts=18 pkt->pts=5632 pkt->dts=4608 pkt->flags=0



When I introduce the frame->pts increment it happens :




frame->pts=15 pkt->pts=512 pkt->dts=-512 pkt->flags=1

frame->pts=17 pkt->pts=4608 pkt->dts=2048 pkt->flags=0

frame->pts=19 pkt->pts=2560 pkt->dts=1536 pkt->flags=0

[mp4 @ 0x7eff842222c0] Application provided invalid, non monotonically increasing dts to muxer in stream 0 : 2048 >= 1536



So I wrote the following code as a "quick" solution (between av_packet_rescale_ts() and av_interleaved_write_frame()) :


av_packet_rescale_ts(pkt, c->time_base, st->time_base); 
 ...
 if (pkt->dts<=previous_dts) 
 { 
 if (pkt->pts<=previous_pts) 
 { 
 pkt->pts=previous_dts+1+pkt->pts-pkt->dts; 
 } 
 pkt->dts=previous_dts+1; 
 } 
 previous_dts=pkt->dts; 
 previous_pts=pkt->pts; 
 ...
 ret = av_interleaved_write_frame(fmt_ctx, pkt); 



Now I no longer have the error, but the values are :




frame->pts=15 pkt->pts=512 pkt->dts=-512 pkt->flags=1

changed frame->pts=15 pkt->pts=512 pkt->dts=1 pkt->flags=1

frame->pts=17 pkt->pts=4608 pkt->dts=2048 pkt->flags=0

frame->pts=19 pkt->pts=2560 pkt->dts=1536 pkt->flags=0

changed frame->pts=19 pkt->pts=3073 pkt->dts=2049 pkt->flags=0

frame->pts=21 pkt->pts=1536 pkt->dts=1536 pkt->flags=0

changed frame->pts=21 pkt->pts=2050 pkt->dts=2050 pkt->flags=0

frame->pts=23 pkt->pts=4096 pkt->dts=3584 pkt->flags=0

frame->pts=25 pkt->pts=8704 pkt->dts=6144 pkt->flags=0

frame->pts=27 pkt->pts=6656 pkt->dts=5632 pkt->flags=0

changed frame->pts=27 pkt->pts=7169 pkt->dts=6145 pkt->flags=0

frame->pts=29 pkt->pts=5632 pkt->dts=5632 pkt->flags=0

changed frame->pts=29 pkt->pts=6146 pkt->dts=6146 pkt->flags=0

frame->pts=31 pkt->pts=7680 pkt->dts=7168 pkt->flags=0

frame->pts=33 pkt->pts=12800 pkt->dts=10240 pkt->flags=0

frame->pts=35 pkt->pts=10752 pkt->dts=9728 pkt->flags=0

changed frame->pts=35 pkt->pts=11265 pkt->dts=10241 pkt->flags=0

frame->pts=37 pkt->pts=9728 pkt->dts=9728 pkt->flags=0

changed frame->pts=37 pkt->pts=10242 pkt->dts=10242 pkt->flags=0



What is the correct way to handle frame loss scenario ?
Is there a way to inform the encoder about frame loss ?


The encoder is "hevc_qsv" and the output format is mov (.mp4).


-
Plugin Init : Utiliser un pipeline
14 mars 2010Au lieu de faire un ecrire_meta pour chaque meta modifiée lors de l’initialisation, il faudrait passer par le pipeline adéquat et relancer la config (inc/config ?)
-
Revision 15799 : Accepter une option tag_name (valeur par défaut : "span") pour spécifier la ...
20 juin 2010, par da@… — LogAccepter une option tag_name (valeur par défaut : "span") pour spécifier la balise servant à encadrer le surlignage des recherches Au lieu d’utiliser un tag "span" en dur, permettre de spécifier une autre balise, par exemple "b" ou encore "mark" (vous me voyez venir). La valeur par défaut reste (...)