
Recherche avancée
Autres articles (74)
-
Gestion de la ferme
2 mars 2010, parLa ferme est gérée dans son ensemble par des "super admins".
Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
Dans un premier temps il utilise le plugin "Gestion de mutualisation" -
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 (...) -
Gestion des droits de création et d’édition des objets
8 février 2011, parPar défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;
Sur d’autres sites (9183)
-
Getting realtime output of ffmpeg with pexpect or winpexpect
27 février 2014, par Shumanhi i'm trying to get the progress info when calling ffmpeg command line tool, with pexpect, i can get the progress with regex, but the problem is after a few seconds, maybe 20 or 10sec, pexpect stops getting new print outs from ffmpeg, it's still running, i saw the output file size growing. am i doing something wrong ?
cmd = 'ffmpeg -i rtmp://xxxx -c copy -absf aac_adtstoasc /usr/tmp/tmp/out.mp4'
import os
import re
import time
import subprocess
import pexpect
thread = pexpect.spawn(cmd)
print 'started'
reo = re.compile("""\S+\s+(?P\d+) # frame
\s\S+\s+(?P<fps>\d+) # fps
\sq=(?P<q>\S+) # q
\s\S+\s+(?P<size>\S+) # size
\stime=(?P<time>\S+) # time
\sbitrate=(?P<bitrate>[\d\.]+) # bitrate
""", re.X)
durationReo = ('(?<=Duration:\s)\S+(?=,)')
cpl = thread.compile_pattern_list([
pexpect.EOF,
reo,
durationReo
])
while True:
i = thread.expect_list(cpl, timeout=None)
if i == 0: # EOF
print "the sub process exited"
break
elif i == 1:
frame_number = thread.match.group(0)
print frame_number
elif i == 2:
durationLine = thread.match.group(0).strip()
print 'Duration:', durationLine
</bitrate></time></size></q></fps>the output is
started
Duration: 03:55:42.00
frame= 74 fps= 55 q=-1.0 size= 984kB time=00:00:06.17 bitrate=1304.5
frame= 89 fps= 43 q=-1.0 size= 1197kB time=00:00:07.43 bitrate=1319.8
frame= 113 fps= 41 q=-1.0 size= 1407kB time=00:00:09.33 bitrate=1234.8
frame= 125 fps= 32 q=-1.0 size= 1613kB time=00:00:10.35 bitrate=1275.6
frame= 132 fps= 29 q=-1.0 size= 1705kB time=00:00:10.95 bitrate=1274.7
frame= 135 fps= 26 q=-1.0 size= 1825kB time=00:00:11.23 bitrate=1330.6
frame= 140 fps= 24 q=-1.0 size= 2022kB time=00:00:11.60 bitrate=1426.5
frame= 140 fps= 21 q=-1.0 size= 2097kB time=00:00:11.70 bitrate=1467.7
frame= 142 fps= 19 q=-1.0 size= 2224kB time=00:00:11.79 bitrate=1544.4
frame= 143 fps= 17 q=-1.0 size= 2447kB time=00:00:11.98 bitrate=1672.8
frame= 145 fps= 16 q=-1.0 size= 2687kB time=00:00:12.07 bitrate=1822.8
frame= 155 fps= 15 q=-1.0 size= 2780kB time=00:00:12.95 bitrate=1757.6
frame= 163 fps= 15 q=-1.0 size= 2940kB time=00:00:13.65 bitrate=1764.2
frame= 167 fps= 14 q=-1.0 size= 3062kB time=00:00:13.83 bitrate=1812.3
frame= 168 fps= 13 q=-1.0 size= 3149kB time=00:00:14.02 bitrate=1839.4
frame= 190 fps= 14 q=-1.0 size= 3322kB time=00:00:15.78 bitrate=1723.6
frame= 213 fps= 15 q=-1.0 size= 3481kB time=00:00:17.78 bitrate=1603.4
frame= 235 fps= 16 q=-1.0 size= 3671kB time=00:00:19.59 bitrate=1534.3
frame= 244 fps= 16 q=-1.0 size= 3790kB time=00:00:20.29 bitrate=1530.0
frame= 256 fps= 16 q=-1.0 size= 3909kB time=00:00:21.31 bitrate=1502.1
frame= 276 fps= 16 q=-1.0 size= 4029kB time=00:00:22.94 bitrate=1438.8
frame= 299 fps= 17 q=-1.0 size= 4177kB time=00:00:24.93 bitrate=1372.1
frame= 339 fps= 19 q=-1.0 size= 4388kB time=00:00:28.28 bitrate=1270.9
frame= 363 fps= 19 q=-1.0 size= 4557kB time=00:00:30.18 bitrate=1236.8
frame= 405 fps= 20 q=-1.0 size= 4587kB time=00:00:33.76 bitrate=1113.1
frame= 421 fps= 20 q=-1.0 size= 4598kB time=00:00:35.15 bitrate=1071.4it stops here but the code is still running. the file size is still growing and the code didn't exit, so it's not because of the timeout bug in pexpect.
and also , if user press ctrl+c to terminate the main program, ffmpeg still runs in the bg, how do i also tell it to exit ?
edit : i found that the culprit might be ffmpeg is not printing out all the info after 10 lines or so. it only update the display where it needs to be changed.so the regex is not matching, so what to do now , make 6 seperate regex ?
edit2 : it seems if i use this regex, it works...
reo = re.compile("""frame=\s*(?P\d+) # frame
\sfps=\s*(?P<fps>\d+) # fps
\sq=\s*(?P<q>\S+) # q
\ssize=\s*(?P<size>\S+) # size
\stime=\s*(?P<time>\S+) # time
\sbitrate=\s*(?P<bitrate>[\d\.]+) # bitrate
""", re.X)
</bitrate></time></size></q></fps>it's saying only match when frame number is updated, ( maybe this implies all the other text are also updated ? )
edit3 : in linux it's working, but under windows, i don't know how to get it to work with this latest forked winpexpect
basically i'm using the same code
import winpexpect
thread = winpexpect.winspawn(cmd,timeout=99999999999 )there is another problem
winpexpect.EOF
seems not working, every new line caused a match -
Revision 33b3953c54 : vp9_filter : restore vp9_bilinear_filters alignment the declaration containing t
12 juin 2015, par James ZernChanged Paths :
Modify /vp9/common/vp9_filter.c
vp9_filter : restore vp9_bilinear_filters alignmentthe declaration containing the alignment in vp9_filter.h was removed in :
eb88b17 Make vp9 subpixel match vp8fixes a crash in 32-bit builds
Change-Id : I9a97e6b4e8e94698e43ff79d0d8bb85043b73c61
-
Merge commit ’e4a77dc204f80a6876cbd91de9b71c30feebe119’
1er décembre 2014, par Michael NiedermayerMerge commit ’e4a77dc204f80a6876cbd91de9b71c30feebe119’
* commit ’e4a77dc204f80a6876cbd91de9b71c30feebe119’ :
Make the RELEASE file match with the most recent tagConflicts :
RELEASENot merged as the tag is not a FFmpeg version
Merged-by : Michael Niedermayer <michaelni@gmx.at>