Aquí el setup para hacer que la RPi-ZW emita en directo solo al inicializar.
Método funcionando actualmente:
1. Crear un archivo just_stream.py, que contiene algo parecido a lo siguiente:
#Just Stream
#Citlali Hernández
import os
# ----- CLAVES YOUTUBE HANGAR ENERO 2021
#Aquí tengo una lista de claves de los diferentes canales de emisión de youtube, correspondientes a cada una de las seis cámaras
#claveEjemplo = 'aqui_va_la_clave_que_te_da_youtube'
## ----
def streaming():
#codigo para emitir con microfono #Este lo uso solo en la cámara que está en el pecho y que tiene un micrófono usb
#print("streaming with audio now")
#os.system('/opt/vc/bin/raspivid --nopreview -md 4 -w 854 -h 480 -fps 25 -t 0 -b 200000 -g 50 -n -o - | ffmpeg -y -xerror -thread_queue_size 32K -f h264 -r 15 -itsoffset 5.5 -i - -f alsa -ar 11025 -itsoffset 5.5 -async 1 -ac 1 -thread_queue_size 32K -i plughw:0 -c:a aac -b:a 32k -async 1 -c:v copy -f flv -flags:v +global_header -rtmp_buffer 10000 -r 15 -async 1 rtmp://a.rtmp.youtube.com/live2/' + clave )
#codigo para emitir sin microfono
print("streaming with NO audio now")
os.system('/opt/vc/bin/raspivid --nopreview -md 4 -vf -hf -w 640 -h 360 -fps 25 -t 0 -b 2000000 -g 50 -n -o - | ffmpeg -re -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -f h264 -i - -vcodec copy -acodec aac -ab 128k -g 50 -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/' + clave) #Este es el bueno de siempre! :) Update agosto 2021
print("pase el codigo de stream")
stream = True
while stream:
try:
streaming()
except:
break
print ('stream terminado')
else:
print('Sin stream')
2. Guardar el archivo en un lugar identificable, por ejemplo: home/pi/just_stream.py
3. Abrir el archivo rc.local
sudo nano /etc/rc.local
Este archivo permite ejecutar programas justo al hacer un nuevo boot. La documentación oficial está aquí.
4. Una vez abierto el archivo, hay que añadir el comando de ejecución del .py:
sudo python3 /home/pi/just_stream.py &
5. Hacer reboot y tendrá que funcionar. 🙂
Aquí hay un tutorial con más métodos, incluyendo Crontab:
Aquí!