
Recherche avancée
Autres articles (80)
-
La sauvegarde automatique de canaux SPIP
1er avril 2010, parDans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...) -
Encodage et transformation en formats lisibles sur Internet
10 avril 2011MediaSPIP transforme et ré-encode les documents mis en ligne afin de les rendre lisibles sur Internet et automatiquement utilisables sans intervention du créateur de contenu.
Les vidéos sont automatiquement encodées dans les formats supportés par HTML5 : MP4, Ogv et WebM. La version "MP4" est également utilisée pour le lecteur flash de secours nécessaire aux anciens navigateurs.
Les documents audios sont également ré-encodés dans les deux formats utilisables par HTML5 :MP3 et Ogg. La version "MP3" (...) -
Contribute to documentation
13 avril 2011Documentation is vital to the development of improved technical capabilities.
MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
To contribute, register to the project users’ mailing (...)
Sur d’autres sites (6716)
-
Revision 4416b448de : Merge "Add VPX.framework built script."
13 juin 2014, par Tom FineganMerge "Add VPX.framework built script."
-
Can i limit CPU usage of my Script ? Raspberry pi cpu crashing - rebooting [duplicate]
5 novembre 2024, par Mateus CoelhoI have a script, in python, that converts a video of 11mb, 30fps, 1080p. the code puts 4 imagens into it, with overlay, and rotates 90.
When i run the script into the raspberry pi, it goes off CPU, all the 4 threads go to 100% and it suently reboots.


Raspberry pi 4 b 4gb


I want to limit the cpu to like 60% to the script... its not a problems to be longer in time.


import subprocess
import sys
import time
import psutil
import os

def overlay_images_on_video(input_file, image_files, output_file, positions, image_size=(100, 100), opacity=0.7):
 start_time = time.time()
 process = psutil.Process(os.getpid())

 inputs = ['-i', input_file]
 for image in image_files:
 if image:
 inputs += ['-i', image]
 filter_complex = "[0:v]transpose=2[rotated];"
 current_stream = "[rotated]"
 for i, (x_offset, y_offset) in enumerate(positions):
 filter_complex += f"[{i+1}:v]scale={image_size[0]}:{image_size[1]},format=rgba,colorchannelmixer=aa={opacity}[img{i}];"
 filter_complex += f"{current_stream}[img{i}]overlay={x_offset}:{y_offset}"
 if i < len(positions) - 1:
 filter_complex += f"[tmp{i}];"
 current_stream = f"[tmp{i}]"
 else:
 filter_complex += ""
 command = ['ffmpeg', '-threads', '1'] + inputs + ['-filter_complex', filter_complex, output_file]
 
 try:
 subprocess.run(command, check=True)
 print(f"Vídeo processado com sucesso: {output_file}")
 except subprocess.CalledProcessError as e:
 print(f"Erro ao processar o vídeo: {e}")
 
 # Monitoramento de tempo, memória e CPU
 elapsed_time = time.time() - start_time
 memory_info = process.memory_info()
 cpu_usage = process.cpu_percent(interval=1)
 print(f"Tempo de execução: {elapsed_time:.2f} segundos")
 print(f"Memória usada: {memory_info.rss / (1024 * 1024):.2f} MB")
 print(f"Uso de CPU: {cpu_usage}%")
 
 # Monitoramento de GPU (se disponível)
 try:
 gpu_usage = subprocess.check_output(
 ["nvidia-smi", "--query-gpu=utilization.gpu", "--format=csv,noheader,nounits"]
 ).decode("utf-8").strip()
 print(f"Uso de GPU: {gpu_usage}%")
 except FileNotFoundError:
 print("GPU não detectada ou `nvidia-smi` não está disponível.")

if __name__ == "__main__":
 input_video = sys.argv[1]
 image_files = sys.argv[2:5]
 output_video = sys.argv[5]
 
 positions = [(10, 10), (35, 1630), (800, 1630)]
 overlay_images_on_video(input_video, image_files, output_video, positions, image_size=(250, 250), opacity=0.8)



EDITED :


The 4 cores of the CPU goes to 100%, i can see in another ssh terminal via htop, and it sudently reboots.
I have other 9 scripts running on the back, 6 ffmpeg stremas and 3 others to caputre the videos. When i add this logic to the other 3 that captures the video or i try to run directly one time, it reboots


-
Anomalie #620 : maintenir à jour les fonctions tierces incluses dans SPIP (script externes)
24 décembre 2017, par b bDites, on peut fermer ce ticket non ?