Qué te falta?

sudo apt-get install apt-file
sudo apt-file update
apt-file search libcrypto.so.1.0.0

Ejecutar sudo desde php

Con esta instrucción habilitaremos la Raspberry para que estos comandos se puedan usar en sudo. Hemos de hacer “sudo visudo” e introducir lo siguiente:

User_Alias WWW_USER = www-data
Cmnd_Alias WWW_COMMANDS = /home/pi/bitkodi/ucaster/emitir1, /home/pi/bitkodi/ucaster/startfromweb.py
WWW_USER ALL = (ALL) NOPASSWD: WWW_COMMANDS

Y si lo que queremos es llamar a un programa python que a su vez ejecute el sudo, tendremos que hacer en el propio python es:

os.popen (“sudo -S /home/pi/bitkodi/ucaster/emitir1 &”, ‘w’).write(“password_de_sudo”)

Mi canal, mi tesoro

Está mal que lo diga yo… pero esto es una genialidad. Usé una Raspberry para bajar un canal de ArenaVision. Y quería publicar ese canal en FStream al mismo tiempo que se bajaba. La Raspberry sola no daba suficiente potencia… ¡así que usé dos! La primera baja y decodifica el vídeo, luego se lo pasa a la segunda… y la segunda lo vuelve a codificar y lo sube a FStream. Todo esto on-the-go, y ¡zas! Tengo mi propio canal de TV online en directo por el precio de dos Raspberries. Otro día hablamos de los derechos de emisión…

LDD librerías

Para saber las librerías que usa un programa se puede usar la utilidad de sistema ldd

Arrancar LibreELEC con libcurl.so.4.5.0

Hay que crear el archivo /storage/.config/autostart.sh con el siguiente contenido:

mount -o bind /storage/libcurl.so.4.5.0 /usr/lib/libcurl.so.4.5.0

Openssl

openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
ssl_dhparam /etc/nginx/ssl/dhparam.pem
sudo apt-get install librtmp-dev
sudo apt-get install openssl

Para modificar la librería libcurl en LibreELEC hay que seguir estos pasos:

git clone https://github.com/curl/curl
cd curl
#modificar los archivos
./buildconf
./configure --with-ssl --with-librtmp
make
sudo make install

mkdir /media/pi/RASPBERRY/libreelec
cd /media/pi/RASPBERRY/libreelec
wget http://releases.libreelec.tv/LibreELEC-RPi2.arm-8.90.003.img.gz
gunzip LibreELEC-RPi2.arm-8.90.003.img.gz
#se puede usar fdisk -lu LibreELEC-RPi2.arm-8.90.003.img.gz
#se multiplica el tamaño del bloque por el inicio del primero
sudo losetup -o 4194304 /dev/loop0 LibreELEC-RPi2.arm-8.90.003.img
mkdir image
sudo mount /dev/loop0 image
sudo unsquashfs image/SYSTEM
#cambiar ficheros
sudo mksquashfs squashfs-root SYSTEM -b 131072 -comp lzo -no-xattrs
md5sum SYSTEM > SYSTEM.md5
sudo mv SYSTEM* image/
sudo umount image
gzip -9 LibreELEC-RPi2.arm-8.90.003.img

Redifundir señal por broadcast

Si tienes una señal fiable m3u8, puedes redifundirla y ampliarla por Broadcast de la siguiente forma:

ffmpeg -re -i http://origen.m3u8 -c:v libx264 -sample_rate 44100 -acodec aac -f flv ‘rtmp://pubucaster.com/live/nombre_canal?key=xxxx&id=yyyy’

Si el broadcaster es fstream, las opciones a usar son:

ffmpeg -re -i http://origen.m3u8 -sample_rate 22050 -vcodec copy -acodec aac -f flv ‘rtmp://pubfstream.com/stream/nombre_canal?key=xxxx&id=yyyy’

Radio online 24 horas

He usado mi Raspberry para retransmitir una radio online 24 horas en semidirecto. Es decir: pones los mp3 que quieres emitir y la emisora los va pasando.

https://bit.ly/2NZsHPr

La misma Raspberry me sirve para visualizar/escuchar la emisora desde su servidor Apache, mediante una web programada por mí a tal fin.

Si entráis ahora, estará retransmitiendo el fantástico programa de mi amigo Jordi Busquets, Becarios del Misterio. Mil gracias por la confianza y por permitirme usar esta emisión como ejemplo inicial de mi radio.