
Recherche avancée
Autres articles (40)
-
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
Ajouter notes et légendes aux images
7 février 2011, parPour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
Modification lors de l’ajout d’un média
Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...) -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)
Sur d’autres sites (3486)
-
Revision 716ae78ce4 : Change initialization of static_scene_max_gf_interval. This removes an unnecess
16 octobre 2014, par Paul WilkinsChanged Paths :
Modify /vp9/encoder/vp9_ratectrl.c
Change initialization of static_scene_max_gf_interval.This removes an unnecessary restriction that causes
a problem (noticed by AWG) when the forced key frame
interval is set to a very small value, such as 10. In this case
we were being forced to code minimal length GF groups.Change-Id : I76ef5861a09638ff51f61fea02359554184ada53
-
Revision 29188 : 2 options de plus pour personnaliser la page d’activation de la mutu : * ...
15 juin 2009, par real3t@… — Log2 options de plus pour personnaliser la page d’activation de la mutu :
* ’branding’ : texte libre en HTML
* ’branding_logo’ => logo (sous forme de HTML) -
Can I know which byte range to read from a remote mp4 file for FFMpeg to decode a keyframe ?
12 octobre 2023, par db9117I need to decode a of keyframe of a video file (mp4, h264 encoded). I know the timestamp of the keyframe I want to extract/decode. I want to minimize amount of data being read in memory. For this, I need to know beforehand exactly the minimal byte range I would require that encompasses this keyframe. How do I know what is the minimal byte range in the whole mp4 byte stream I need to read in order to be able to decode the keyframe ?


I currently find the appropriate keyframe in the
index_entries
contained in the header. I get its byte position (pos
attribute) and timestamp (timestamp
attribute). I calculate the range as follows :

startBytes
: minimum of :

- 

- the
pos
of the keyframe - the
pos
of the nearest index entry in the audio stream happening at or before the keyframe's timestamp.






This way when it's decoding the frame, if it also needs the audio content for demuxing, it would have it.


endBytes
: maximum of :

- 

- the
pos
of the next frame in the video stream's index, after the keyframe - the
pos
of the next frame in the audio stream's index after the timestamp of the wished keyframe.






This way I know that I have everything up until the next frame in the index, which theoretically should be enough to decode the keyframe only.


I then read the appropriate byte range.


When I try to decode the frame, I run in a loop until I succeed :


- 

avcodec_read_frame
avcodec_send_packet
avcodec_receive_frame








I ignore
AVERROR(EAGAIN)
errors.

avcodec_receive_frame
fails multiple times with errorAVERROR(EAGAIN)
which I ignore, until it fails saying that the memory it wants to read isn't available (wants to read afterendBytes
). I explicitly tell it to fail if it wants to read more than it has already read.

Note : for other keyframes at other positions in other videos, it sometimes succeeds (probably because the range is big enough by chance), but it fails more often than not.


My question is : Why is the end of the range not enough to be able to decode only the one keyframe ? Is there any way to more precisely calculate the exact range in bytes I would need in order to decode a particular keyframe ?


- the