Interacción de Videos Con Python
Publicado por Juan (1 intervención) el 16/02/2024 17:51:56
Hola amigos, les comento que estoy realizando un proyecto de botonera interactiva con un arduino ESP32 y python, donde la idea es reproducir videos constantes, y activar otros videos mediante el uso de botones a través de los sensores capacitivos. Tengo armado el script de python pero me surge un problema con la transición de los videos que quiero mostrar al recibir la señal del arduino, ya que la idea es tocar el botón y que se reproduzca el video asociado de manera casi inmediata, pero en su defecto, solo se reproduce una vez que termina el video que está mostrando en el momento. En general me funciona bien solo tengo ese detalle para ver si me podrían ayudar. Adjunto código en uso:
import serial
from moviepy.editor import VideoFileClip
import time
# Configurar la comunicación serial
ser = serial.Serial('COM7', 115200) # Reemplaza 'COMX' con el puerto COM correcto
ser.flushInput()
# Definir la ruta de los videos
video_generico = "video_generico.mp4"
video1 = "video1.mp4"
video2 = "video2.mp4"
def play_video(video_file):
try:
video = VideoFileClip(video_file)
video.preview()
except Exception as e:
print(f"Error al reproducir el video '{video_file}': {e}")
# Reproducir el video genérico en un bucle infinito
while True:
play_video(video_generico)
# Leer datos del puerto serial
if ser.in_waiting > 0:
line = ser.readline().decode('utf-8').rstrip()
print("Datos recibidos:", line)
# Llamar a la función para reproducir el video correspondiente
if line == "1":
play_video(video1)
elif line == "2":
play_video(video2)
import serial
from moviepy.editor import VideoFileClip
import time
# Configurar la comunicación serial
ser = serial.Serial('COM7', 115200) # Reemplaza 'COMX' con el puerto COM correcto
ser.flushInput()
# Definir la ruta de los videos
video_generico = "video_generico.mp4"
video1 = "video1.mp4"
video2 = "video2.mp4"
def play_video(video_file):
try:
video = VideoFileClip(video_file)
video.preview()
except Exception as e:
print(f"Error al reproducir el video '{video_file}': {e}")
# Reproducir el video genérico en un bucle infinito
while True:
play_video(video_generico)
# Leer datos del puerto serial
if ser.in_waiting > 0:
line = ser.readline().decode('utf-8').rstrip()
print("Datos recibidos:", line)
# Llamar a la función para reproducir el video correspondiente
if line == "1":
play_video(video1)
elif line == "2":
play_video(video2)
Valora esta pregunta
0