
Recherche avancée
Autres articles (72)
-
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
Menus personnalisés
14 novembre 2010, parMediaSPIP utilise le plugin Menus pour gérer plusieurs menus configurables pour la navigation.
Cela permet de laisser aux administrateurs de canaux la possibilité de configurer finement ces menus.
Menus créés à l’initialisation du site
Par défaut trois menus sont créés automatiquement à l’initialisation du site : Le menu principal ; Identifiant : barrenav ; Ce menu s’insère en général en haut de la page après le bloc d’entête, son identifiant le rend compatible avec les squelettes basés sur Zpip ; (...) -
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"
Sur d’autres sites (12308)
-
How to stop os.system() in Python ?
30 septembre 2015, par 吴雨羲I want to stop the cmd command after 12 seconds. How to stop it ? My program doesn’t work.
import multiprocessing
import os
import time
def process():
os.system('ffmpeg -i rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwcfbqjoo80j.sdp -c copy dump.mp4')
def stop():
time.sleep(12)
if __name__ == '__main__':
p = multiprocessing.Process(target=process, args=())
s = multiprocessing.Process(target=stop, args=())
p.start()
s.start()
s.join()
p.terminate()I change my program follow Pedro’s suggusetion @Pedro Lobito ,but it still doesn`t work.
import shlex
import subprocess
import time
command_line = 'ffmpeg -i rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwcfbqjoo80j.sdp -c copy dump.mp4'
proc = subprocess.Popen(shlex.split(command_line), shell=True)
print '1' * 50
time.sleep(2) # <-- sleep for 12''
print '2' * 50
proc.terminate() # <-- terminate the process
print '3' * 50And the result in CMD is
D:\wyx\workspace\python\ffrstp>python test1.py
11111111111111111111111111111111111111111111111111
ffmpeg version N-75563-g235381e Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-l
ibilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enab
le-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --en
able-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --ena
ble-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc
--enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enabl
e-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --ena
ble-decklink --enable-zlib
libavutil 55. 2.100 / 55. 2.100
libavcodec 57. 3.100 / 57. 3.100
libavformat 57. 2.100 / 57. 2.100
libavdevice 57. 0.100 / 57. 0.100
libavfilter 6. 8.100 / 6. 8.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.100 / 2. 0.100
libpostproc 54. 0.100 / 54. 0.100
Input #0, rtsp, from 'rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwc
fbqjoo80j.sdp':
Metadata:
title : RTSP Session
comment : Jabsco Stream(JCO-jy9757acx1eve7nm-a104aea23c1e17bbc776656
f5069bbf7)
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: mpeg4 (Simple Profile), yuv420p, 352x288 [SAR 1:1 DAR 11
:9], 10k tbr, 90k tbn, 10k tbc
[mp4 @ 00bad520] Codec for stream 0 does not use global headers but container fo
rmat requires global headers
Output #0, mp4, to 'dump.mp4':
Metadata:
title : RTSP Session
comment : Jabsco Stream(JCO-jy9757acx1eve7nm-a104aea23c1e17bbc776656
f5069bbf7)
encoder : Lavf57.2.100
Stream #0:0: Video: mpeg4 ( [0][0][0] / 0x0020), yuv420p, 352x288 [SAR 1:1 D
AR 11:9], q=2-31, 10k tbr, 90k tbn, 90k tbc
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
[mp4 @ 00bad520] pts has no value
[mp4 @ 00bad520] Non-monotonous DTS in output stream 0:0; previous: 0, current:
0; changing to 1. This may result in incorrect timestamps in the output file.
[mp4 @ 00bad520] Non-monotonous DTS in output stream 0:0; previous: 1, current:
0; changing to 2. This may result in incorrect timestamps in the output file.
frame= 30 fps=0.0 q=-1.0 size= 63kB time=00:00:02.33 bitrate= 220.4kbits/
frame= 36 fps= 31 q=-1.0 size= 68kB time=00:00:02.95 bitrate= 187.9kbits/
frame= 42 fps= 24 q=-1.0 size= 73kB time=00:00:03.52 bitrate= 169.6kbits/
frame= 47 fps= 20 q=-1.0 size= 90kB time=00:00:04.10 bitrate= 178.9kbits/
frame= 53 fps= 19 q=-1.0 size= 95kB time=00:00:04.63 bitrate= 167.2kbits/
22222222222222222222222222222222222222222222222222
33333333333333333333333333333333333333333333333333
D:\wyx\workspace\python\ffrstp>frame= 58 fps= 17 q=-1.0 size= 99kB time=0
frame= 64 fps= 16 q=-1.0 size= 104kB time=00:00:05.72 bitrate= 149.0kbits/
frame= 70 fps= 15 q=-1.0 size= 122kB time=00:00:06.36 bitrate= 156.7kbits/
frame= 76 fps= 15 q=-1.0 size= 127kB time=00:00:06.92 bitrate= 150.2kbits/
frame= 82 fps= 14 q=-1.0 size= 132kB time=00:00:07.55 bitrate= 143.2kbits/
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 7 packets
frame= 86 fps= 13 q=-1.0 size= 135kB time=00:00:07.95 bitrate= 139.5kbits/
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 3 packetsMaybe ffmpeg can reconnection. Can I stop it like ’Ctrl + C’ ?
When I press ’Ctrl+C’,the result is22222222222222222222222222222222222222222222222222
33333333333333333333333333333333333333333333333333
D:\wyx\workspace\python\ffrstp>frame= 58 fps= 17 q=-1.0 size= 99kB time=0
frame= 64 fps= 16 q=-1.0 size= 104kB time=00:00:05.72 bitrate= 149.0kbits/
frame= 70 fps= 15 q=-1.0 size= 122kB time=00:00:06.36 bitrate= 156.7kbits/
frame= 76 fps= 15 q=-1.0 size= 127kB time=00:00:06.92 bitrate= 150.2kbits/
frame= 82 fps= 14 q=-1.0 size= 132kB time=00:00:07.55 bitrate= 143.2kbits/
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 7 packets
frame= 86 fps= 13 q=-1.0 size= 135kB time=00:00:07.95 bitrate= 139.5kbits/
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 3 packets
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 1 packets
frame= 89 fps= 13 q=-1.0 size= 138kB time=00:00:08.35 bitrate= 135.3kbits/
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 1 packets
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 3 packets
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 5 packets
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 3 packets
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 1 packets
frame= 92 fps= 12 q=-1.0 size= 144kB time=00:00:09.15 bitrate= 128.7kbits/
frame= 93 fps= 11 q=-1.0 size= 145kB time=00:00:09.58 bitrate= 123.8kbits/
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 1 packets
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 2 packets
D:\wyx\workspace\python\ffrstp>[rtsp @ 00adb3e0] max delay reached. need to cons
ume packet
[NULL @ 00add8c0] RTP: missed 12 packets
frame= 96 fps= 11 q=-1.0 size= 148kB time=00:00:10.43 bitrate= 116.2kbits/
frame= 96 fps=9.2 q=-1.0 Lsize= 151kB time=00:00:10.43 bitrate= 118.3kbits
/s
video:148kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing o
verhead: 1.913398%
Exiting normally, received signal 2. -
How to stop os.system() in Python ?
7 septembre 2022, par wyxI want to stop the cmd command after 12 seconds. How to stop it ? My program doesn't work.



import multiprocessing
import os
import time


def process():
 os.system('ffmpeg -i rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwcfbqjoo80j.sdp -c copy dump.mp4')


def stop():
 time.sleep(12)


if __name__ == '__main__':
 p = multiprocessing.Process(target=process, args=())
 s = multiprocessing.Process(target=stop, args=())
 p.start()
 s.start()
 s.join()
 p.terminate()




I change my program follow Pedro's suggusetion @Pedro Lobito ,but it still doesn`t work.



import shlex

import subprocess
import time

command_line = 'ffmpeg -i rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwcfbqjoo80j.sdp -c copy dump.mp4'

proc = subprocess.Popen(shlex.split(command_line), shell=True)
print '1' * 50
time.sleep(2) # <-- sleep for 12''
print '2' * 50
proc.terminate() # <-- terminate the process
print '3' * 50




And the result in CMD is



D:\wyx\workspace\python\ffrstp>python test1.py
11111111111111111111111111111111111111111111111111
ffmpeg version N-75563-g235381e Copyright (c) 2000-2015 the FFmpeg developers
 built with gcc 4.9.3 (GCC)
 configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-l
ibilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enab
le-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --en
able-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --ena
ble-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc
 --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enabl
e-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --ena
ble-decklink --enable-zlib
 libavutil 55. 2.100 / 55. 2.100
 libavcodec 57. 3.100 / 57. 3.100
 libavformat 57. 2.100 / 57. 2.100
 libavdevice 57. 0.100 / 57. 0.100
 libavfilter 6. 8.100 / 6. 8.100
 libswscale 4. 0.100 / 4. 0.100
 libswresample 2. 0.100 / 2. 0.100
 libpostproc 54. 0.100 / 54. 0.100
Input #0, rtsp, from 'rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwc
fbqjoo80j.sdp':
 Metadata:
 title : RTSP Session
 comment : Jabsco Stream(JCO-jy9757acx1eve7nm-a104aea23c1e17bbc776656
f5069bbf7)
 Duration: N/A, start: 0.000000, bitrate: N/A
 Stream #0:0: Video: mpeg4 (Simple Profile), yuv420p, 352x288 [SAR 1:1 DAR 11
:9], 10k tbr, 90k tbn, 10k tbc
[mp4 @ 00bad520] Codec for stream 0 does not use global headers but container fo
rmat requires global headers
Output #0, mp4, to 'dump.mp4':
 Metadata:
 title : RTSP Session
 comment : Jabsco Stream(JCO-jy9757acx1eve7nm-a104aea23c1e17bbc776656
f5069bbf7)
 encoder : Lavf57.2.100
 Stream #0:0: Video: mpeg4 ( [0][0][0] / 0x0020), yuv420p, 352x288 [SAR 1:1 D
AR 11:9], q=2-31, 10k tbr, 90k tbn, 90k tbc
Stream mapping:
 Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
[mp4 @ 00bad520] pts has no value
[mp4 @ 00bad520] Non-monotonous DTS in output stream 0:0; previous: 0, current:
0; changing to 1. This may result in incorrect timestamps in the output file.
[mp4 @ 00bad520] Non-monotonous DTS in output stream 0:0; previous: 1, current:
0; changing to 2. This may result in incorrect timestamps in the output file.
frame= 30 fps=0.0 q=-1.0 size= 63kB time=00:00:02.33 bitrate= 220.4kbits/
frame= 36 fps= 31 q=-1.0 size= 68kB time=00:00:02.95 bitrate= 187.9kbits/
frame= 42 fps= 24 q=-1.0 size= 73kB time=00:00:03.52 bitrate= 169.6kbits/
frame= 47 fps= 20 q=-1.0 size= 90kB time=00:00:04.10 bitrate= 178.9kbits/
frame= 53 fps= 19 q=-1.0 size= 95kB time=00:00:04.63 bitrate= 167.2kbits/
22222222222222222222222222222222222222222222222222
33333333333333333333333333333333333333333333333333

D:\wyx\workspace\python\ffrstp>frame= 58 fps= 17 q=-1.0 size= 99kB time=0
frame= 64 fps= 16 q=-1.0 size= 104kB time=00:00:05.72 bitrate= 149.0kbits/
frame= 70 fps= 15 q=-1.0 size= 122kB time=00:00:06.36 bitrate= 156.7kbits/
frame= 76 fps= 15 q=-1.0 size= 127kB time=00:00:06.92 bitrate= 150.2kbits/
frame= 82 fps= 14 q=-1.0 size= 132kB time=00:00:07.55 bitrate= 143.2kbits/
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 7 packets
frame= 86 fps= 13 q=-1.0 size= 135kB time=00:00:07.95 bitrate= 139.5kbits/
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 3 packets




Maybe ffmpeg can reconnection. Can I stop it like 'Ctrl + C' ?
When I press 'Ctrl+C',the result is



22222222222222222222222222222222222222222222222222
33333333333333333333333333333333333333333333333333

D:\wyx\workspace\python\ffrstp>frame= 58 fps= 17 q=-1.0 size= 99kB time=0
frame= 64 fps= 16 q=-1.0 size= 104kB time=00:00:05.72 bitrate= 149.0kbits/
frame= 70 fps= 15 q=-1.0 size= 122kB time=00:00:06.36 bitrate= 156.7kbits/
frame= 76 fps= 15 q=-1.0 size= 127kB time=00:00:06.92 bitrate= 150.2kbits/
frame= 82 fps= 14 q=-1.0 size= 132kB time=00:00:07.55 bitrate= 143.2kbits/
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 7 packets
frame= 86 fps= 13 q=-1.0 size= 135kB time=00:00:07.95 bitrate= 139.5kbits/
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 3 packets
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 1 packets
frame= 89 fps= 13 q=-1.0 size= 138kB time=00:00:08.35 bitrate= 135.3kbits/
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 1 packets
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 3 packets
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 5 packets
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 3 packets
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 1 packets
frame= 92 fps= 12 q=-1.0 size= 144kB time=00:00:09.15 bitrate= 128.7kbits/
frame= 93 fps= 11 q=-1.0 size= 145kB time=00:00:09.58 bitrate= 123.8kbits/
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 1 packets
[rtsp @ 00adb3e0] max delay reached. need to consume packet
[NULL @ 00add8c0] RTP: missed 2 packets


D:\wyx\workspace\python\ffrstp>[rtsp @ 00adb3e0] max delay reached. need to cons
ume packet
[NULL @ 00add8c0] RTP: missed 12 packets
frame= 96 fps= 11 q=-1.0 size= 148kB time=00:00:10.43 bitrate= 116.2kbits/
frame= 96 fps=9.2 q=-1.0 Lsize= 151kB time=00:00:10.43 bitrate= 118.3kbits
/s
video:148kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing o
verhead: 1.913398%
Exiting normally, received signal 2.



-
avcodec/vaapi_encode : Use RefStruct pool API, stop abusing AVBuffer API
6 août 2022, par Andreas Rheinhardtavcodec/vaapi_encode : Use RefStruct pool API, stop abusing AVBuffer API
Up until now, the VAAPI encoder uses fake data with the
AVBuffer-API : The data pointer does not point to real memory,
but is instead just a VABufferID converted to a pointer.
This has probably been copied from the VAAPI-hwcontext-API
(which presumably does it to avoid allocations).This commit changes this without causing additional allocations
by switching to the RefStruct-pool API. This also fixes an
unchecked av_buffer_ref().Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@outlook.com>