
Recherche avancée
Médias (2)
-
Valkaama DVD Label
4 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Image
-
Podcasting Legal guide
16 mai 2011, par
Mis à jour : Mai 2011
Langue : English
Type : Texte
Autres articles (72)
-
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 -
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP 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 (...) -
Librairies et logiciels spécifiques aux médias
10 décembre 2010, parPour un fonctionnement correct et optimal, plusieurs choses sont à prendre en considération.
Il est important, après avoir installé apache2, mysql et php5, d’installer d’autres logiciels nécessaires dont les installations sont décrites dans les liens afférants. Un ensemble de librairies multimedias (x264, libtheora, libvpx) utilisées pour l’encodage et le décodage des vidéos et sons afin de supporter le plus grand nombre de fichiers possibles. Cf. : ce tutoriel ; FFMpeg avec le maximum de décodeurs et (...)
Sur d’autres sites (7775)
-
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).


-
Matomo analytics for wordpress
15 octobre 2019, par Matomo Core Team — Community -
Matomo analytics for wordpress
15 octobre 2019, par Matomo Core Team — Community