
Recherche avancée
Autres articles (79)
-
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...) -
Pas question de marché, de cloud etc...
10 avril 2011Le vocabulaire utilisé sur ce site essaie d’éviter toute référence à la mode qui fleurit allègrement
sur le web 2.0 et dans les entreprises qui en vivent.
Vous êtes donc invité à bannir l’utilisation des termes "Brand", "Cloud", "Marché" etc...
Notre motivation est avant tout de créer un outil simple, accessible à pour tout le monde, favorisant
le partage de créations sur Internet et permettant aux auteurs de garder une autonomie optimale.
Aucun "contrat Gold ou Premium" n’est donc prévu, aucun (...) -
Liste des distributions compatibles
26 avril 2011, parLe tableau ci-dessous correspond à la liste des distributions Linux compatible avec le script d’installation automatique de MediaSPIP. Nom de la distributionNom de la versionNuméro de version Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
Si vous souhaitez nous aider à améliorer cette liste, vous pouvez nous fournir un accès à une machine dont la distribution n’est pas citée ci-dessus ou nous envoyer le (...)
Sur d’autres sites (8294)
-
avformat/matroskaenc : Avoid dynamic buffer when writing Colour
29 avril 2020, par Andreas Rheinhardtavformat/matroskaenc : Avoid dynamic buffer when writing Colour
There is a good upper bound for the maximum length of the Colour master
element ; it is therefore unnecessary to use a dynamic buffer for it.
A simple buffer on the stack is enough. This commit implements this.Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
-
when ffpmeg drops frames some things aren't played back in real time
8 février 2024, par Alex028502I am trying to run a bunch of ffpmeg processes that act as simulators for cameras, and something funny is happening when I the processor can't keep up with the configured frame rate.


I have replaced the rtsp stream with an output file, and managed to reproduce the issue, so will just show that to keep it simple.


First here is a makefile that creates my source movie :


clock.mp4: Makefile
 rm -f $@
 ffmpeg -f lavfi -i color=c=black:s=4096x2160:r=25 -vf \
"drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf:fontsize=72:fontcolor=white:x=(w-text_w)/2:y=(h-text_h)/2: \
text='%{eif\:trunc(n/25)\:d}':start_number=0:rate=25" \
-t 60 -r 25 $@



that gives me a one minute long movie that prints the second number to the screen. I have tested it out and the seconds are close enough. I put a lot of pixels to make it easier to jam up my CPU.


Here is the script that creates a processes similar to the one I am trying to debug (called
experiment.sh
)

I am actually using H.264, but H.265 is easier to overwhelm the processor with


#! /usr/bin/env bash

set -e

echo starting > message$1.txt

rm -f superclock$1.mp4
ffmpeg -re -stream_loop -1 -i clock.mp4 \
 -an -vcodec libx265 -preset ultrafast -sc_threshold -1 -x265-params repeat-headers=1 \
 -vf "drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf:fontsize=24:fontcolor=white:x=10:y=10:text='%{localtime\:%X}', \
 drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf:fontsize=24:fontcolor=white:x=10:y=(h-text_h-10):textfile=message$1.txt:reload=1, \
 scale=1920x1080,fps=25" \
 -b:v 3M -minrate 3M -maxrate 3M \
 -bufsize 6M -g 25 superclock$1.mp4 &
pid=$!

for x in $(seq 0 10)
do
 echo $x > message$1.txt
 sleep 10
done

kill -INT $pid || true



It should


- 

- put the second in the middle of the screen - 'cause it gets it from the source video
- put the approximate sixth of minute in the lower left corner
(only approximate because of the sleep but close enough)
- put the the wall clock time in the upper left corner








and it works


make clock.mpg
./experiment.sh 0
vlc superclock0.mp4



shows something like this



Now here is the interesting part


If I run the script in four different terminals at the same time


./experiment.sh 1
./experiment.sh 2
./experiment.sh 3
./experiment.sh 4



It can't keep up with the frame rate, and I see this in the output :


frame= 1515 fps= 16 q=0.0 size= 768kB time=00:00:59.96 bitrate= 104.9k



I was hoping the end result would all look ok when I watch it except with fewer frames, but the timestamps of the frames would make it all work as expected


However...


- 

- The time in the middle, that is inherited from the source video, the seconds in the middle of the screen, stays in sync with VLC's clock.
- the wall clock in the upper left seems play at 150% speed
- the every ten seconds incrementor in the lower left seems to increment every 7 seconds
- the video is only 1:25 long even though it was recording for at least 1:40 according to sleeps
- the wall clock in the upper right hand corner makes it more than 1'40" and then counter in the lower left makes it to 10.














Here are four states to compare


| | Start | 30" in | end |
|------------------+----------+----------|----------|
| Video Time | 00:00 | 00:30 | 01:24 |
| Wall Clock Time | 15:05:50 | 15:06:39 | 15:07:39 |
| sixth of minute | 0 | 4 | 10 |
| seconds counter | 0 | 30 | 24 |





So you can see the vlc clock keeps pace with the original clock from the source movie.. even when it is only able to produce frames at 2/3 of the rate. However, the it is taking 50% long to get through the whole source movie I guess ?


I am having trouble coming up with a theory that can explain exactly how this happens.


Does anybody know how I can "correct" this ? (make it so that the movie is played at the same rate that it is recorded)


I am thinking of using a lower frame rate and size as the input video.. but it would be nice to have something that will always work as expected, just with a lower frame rate, no matter how busy the processor is.


-
libavformat/dashdec : Fix for ticket 6658 (Dash demuxer segfault)
21 janvier 2018, par Colin NGlibavformat/dashdec : Fix for ticket 6658 (Dash demuxer segfault)
1 Add function 'resolve_content_path' to propagate the baseURL from
upper level nodes.
* if no baseURL is available, the path of mpd file will be set as the baseURL.
2 Remove checking for newly established connection.
3 Establish the communication protocol in each connection rather than
applying one protocol to all connection.