
Recherche avancée
Autres articles (60)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Installation en mode ferme
4 février 2011, parLe mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
C’est la méthode que nous utilisons sur cette même plateforme.
L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...) -
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.
Sur d’autres sites (11360)
-
Insert still frames into H.264 video stream
7 juillet 2021, par BassinatorI'm building an application that receives video packets which are encoded as H.264 from Microsoft Teams - I get one packet for each frame of video. Specifications of the packet contents are given here. For every packet I receive, I write the byte contents of the data[] buffer to a file. This resulting file is a playable H.264 encoded video.


I'm trying to handle the scenario of syncing the audio and video streams from a Teams meeting, and inserting a still frame PNG as a "filler" when nobody has their camera on.


I used the following FFMPEG command to generate n number of seconds of H.264 video from the filler frame :


ffmpeg -loop 1 -i video_filler_frame.png -framerate 30 -c:v libx264 -t 2 -vf scale=1920:1080 C:\Code\temp\out.mp4



This generates an MP4 file (H.264 encoded) - as a test in my code, I tried to read the contents of that generated file as a byte array and append them to the video file.


However, this doesn't appear to work. I'm guessing this is because there is some kind of header or other metadata that prevents us from doing the simple solution of just appending the bytes of the next frame.


My question is, how can I achieve what I am trying to do ? I'd like to splice in n number of frames as I am writing the individual packet contents to the file. In other words, for example, consider the following sequence :


- 

- Write packets of video to the file
- My code determines that filler frames are needed at some point in this process

- 

- Insert needed number of filler frames to the file




- Continue writing packets of video as they come in








-
aarch64 : vp9itxfm : Skip empty slices in the first pass of idct_idct 16x16 and 32x32
18 novembre 2016, par Martin Storsjöaarch64 : vp9itxfm : Skip empty slices in the first pass of idct_idct 16x16 and 32x32
This work is sponsored by, and copyright, Google.
Previously all subpartitions except the eob=1 (DC) case ran with
the same runtime :vp9_inv_dct_dct_16x16_sub16_add_neon : 1373.2
vp9_inv_dct_dct_32x32_sub32_add_neon : 8089.0By skipping individual 8x16 or 8x32 pixel slices in the first pass,
we reduce the runtime of these functions like this :vp9_inv_dct_dct_16x16_sub1_add_neon : 235.3
vp9_inv_dct_dct_16x16_sub2_add_neon : 1036.7
vp9_inv_dct_dct_16x16_sub4_add_neon : 1036.7
vp9_inv_dct_dct_16x16_sub8_add_neon : 1036.7
vp9_inv_dct_dct_16x16_sub12_add_neon : 1372.1
vp9_inv_dct_dct_16x16_sub16_add_neon : 1372.1
vp9_inv_dct_dct_32x32_sub1_add_neon : 555.1
vp9_inv_dct_dct_32x32_sub2_add_neon : 5190.2
vp9_inv_dct_dct_32x32_sub4_add_neon : 5180.0
vp9_inv_dct_dct_32x32_sub8_add_neon : 5183.1
vp9_inv_dct_dct_32x32_sub12_add_neon : 6161.5
vp9_inv_dct_dct_32x32_sub16_add_neon : 6155.5
vp9_inv_dct_dct_32x32_sub20_add_neon : 7136.3
vp9_inv_dct_dct_32x32_sub24_add_neon : 7128.4
vp9_inv_dct_dct_32x32_sub28_add_neon : 8098.9
vp9_inv_dct_dct_32x32_sub32_add_neon : 8098.8I.e. in general a very minor overhead for the full subpartition case due
to the additional cmps, but a significant speedup for the cases when we
only need to process a small part of the actual input data.Signed-off-by : Martin Storsjö <martin@martin.st>
-
movenc : Allow writing a DASH sidx atom at the start of files
21 octobre 2014, par Martin Storsjömovenc : Allow writing a DASH sidx atom at the start of files
This is mapped to the faststart flag (which in this case
perhaps should be called "shift and write index at the
start of the file"), which for fragmented files will
write a sidx index at the start.When segmenting DASH into files, there’s usually one sidx
at the start of each segment (although it’s not clear to me
whether that actually is necessary). When storing all of it
in one file, the MPD doesn’t necessarily need to describe
the individual segments, but the offsets of the fragments can be
fetched from one large sidx atom at the start of the file. This
allows creating files for the DASH ISO BMFF on-demand profile.Signed-off-by : Martin Storsjö <martin@martin.st>