fotografia:camaras:streaming:obs
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
fotografia:camaras:streaming:obs [2024/11/09 22:12] – created jose | fotografia:camaras:streaming:obs [2025/06/27 06:24] (current) – jose | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== OBS ====== | ====== OBS ====== | ||
- | Texto dinámico | + | Texto dinámico |
https:// | https:// | ||
+ | |||
+ | Rótulo con animación. Hacer un grupo con texto y caja, botón derecho y "Show transaction" | ||
+ | https:// | ||
+ | |||
+ | ====== Configurar tecla con voz ====== | ||
+ | < | ||
+ | import pyaudio | ||
+ | from vosk import Model, KaldiRecognizer | ||
+ | import json | ||
+ | import subprocess | ||
+ | from gtts import gTTS | ||
+ | import os | ||
+ | |||
+ | # Cargar el modelo de Vosk | ||
+ | model = Model(" | ||
+ | recognizer = KaldiRecognizer(model, | ||
+ | |||
+ | p = pyaudio.PyAudio() | ||
+ | |||
+ | # Configurar PyAudio para usar PulseAudio (índice 15) | ||
+ | stream = p.open(format=pyaudio.paInt16, | ||
+ | stream.start_stream() | ||
+ | |||
+ | print(" | ||
+ | |||
+ | while True: | ||
+ | data = stream.read(4000, | ||
+ | if recognizer.AcceptWaveform(data): | ||
+ | result = recognizer.Result() | ||
+ | result_json = json.loads(result) | ||
+ | text = result_json.get(" | ||
+ | | ||
+ | # Imprimir el texto detectado | ||
+ | print(f" | ||
+ | |||
+ | # Comparar el texto detectado con el comando esperado | ||
+ | if " | ||
+ | print(" | ||
+ | # Activar la ventana de OBS | ||
+ | subprocess.run([" | ||
+ | # Usa xdotool para simular la pulsación de teclas | ||
+ | subprocess.run([" | ||
+ | |||
+ | # Generar y reproducir el mensaje de audio en los auriculares Bluetooth | ||
+ | tts = gTTS(" | ||
+ | tts.save(" | ||
+ | # Reproducir el archivo de audio con mpv | ||
+ | subprocess.run([" | ||
+ | # subprocess.run([" | ||
+ | os.remove(" | ||
+ | |||
+ | </ | ||
+ | |||
+ | ====== Configurar cámara SRT ====== | ||
+ | Para añadir una cámara por SRT tenemos que añadir "Media Source" | ||
+ | |||
+ | Desmarcar " | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | Con linux en la version 30 por temas de buffer se corta cada 5 segundos. He actualizado a la 31 y sin problema. Pero por si acaso esta es la solución: | ||
+ | Ponemos un servidor proxy con ffmpeg en medio que haga de proxy a UDP: | ||
+ | fmpeg -fflags nobuffer -i " | ||
+ | Y configuramos OBS con: | ||
+ | udp:// | ||
+ | ====== Configuración OBS instagram ====== | ||
+ | Configuración en vertical 1280x720 | ||
+ | |||
+ | ====== Texto con Curva ====== | ||
+ | Creamos el siguente fichero html: | ||
+ | |||
+ | < | ||
+ | <svg width=" | ||
+ | < | ||
+ | <path id=" | ||
+ | </ | ||
+ | <text width=" | ||
+ | < | ||
+ | Colla Castellera de Madrid | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Añadimos el fichero como Source/ | ||
+ | |||
+ | ====== Instalación Plugin ====== | ||
+ | Plugin para programar cambios de sources con tiempo: | ||
+ | flatpak install com.obsproject.Studio.Plugin.SceneSwitcher | ||
+ | | ||
+ | ====== Grabar todas las cámaras y emitir para poder hacer repetición ====== | ||
+ | Para poder grabar todas las cámaras se puede instalar el plugin " | ||
+ | |||
+ | Otra forma que creo que es mas egiciente es con el proxy con ffmprg. | ||
+ | |||
+ | Lanzamos el proxy con ffmpeg con comando reuse para poder conectar OBS y grabar para las 3 cámaras: | ||
+ | ffmpeg -fflags nobuffer -i " | ||
+ | ffmpeg -fflags nobuffer -i " | ||
+ | ffmpeg -fflags nobuffer -i " | ||
+ | |||
+ | Grabamos cada cámara en un fichero: | ||
+ | ffmpeg -i " | ||
+ | Y configuramos OBS para cada cámara | ||
+ | udp:// | ||
+ | |||
+ | Ahora podemos añadir un " | ||
+ | |||
+ | También podemos hacer la grabación cada 10 minutos para que haga vídeos mas pequeños: | ||
+ | ffmpeg -i udp:// | ||
+ | |||
+ | Otra opción es grabar 1 fichero grande y luego sacar uno pequeño con el cmoando: | ||
+ | Con duración | ||
+ | ffmpeg -ss INICIO -i CAM_1.mkv -t DURACION -c copy CAM_1_001.mkv | ||
+ | O con tiempo: | ||
+ | ffmpeg -ss INICIO -to DURACION -i CAM_1.mkv -c copy CAM_1_001.mkv | ||
+ | |||
+ |
fotografia/camaras/streaming/obs.1731190345.txt.gz · Last modified: by jose