En este momento probando una pieza que se encargará de transferir bloques de vídeos al servidor, procesarlos a .TS , añadirlos a la lista de reproducción y reiniciar el servicio TV1 del sistema agregando los vídeos nuevos a la transmisión.
Si bien de momento son pruebas también son herramientas que se van desarrollando ya que ahí se ve en "crudo" pero tiene también su interfaz web, pero como se está empezando, como con todo, poco a poco (o mucho a mucho) pero eso sí, paso a paso.
A medida que vaya progresando iré editando y actualizando un pequeño manual sobre HLS en
https://www.compostela21.com/emitir-tv-online-con-linux-ffmpeg-apache-y-php-en-formato-hls-.m3u8-.ts_379.htmlHasta ahora hemos pasado de emitir un video en pruebas a emitir listas de reproducción en bucle.Nota: Al vídeo anterior
https://www.youtube.com/watch?v=H62jau1GFpQ
le corté un trozo para evitar que las ratas de Warner Bros le metiesen publicidad, osea que en un vídeo de minuto y medio salen 20 segundos de película para mostrar como furrula el cacharro y van y se lo quieren apropiar por derechos de autor, que ironía, vaya gentuza miserable. Si en verdad el dinero fuera para los actores, técnicos, etc.. con gusto lo dejaba pero en verdad el dinero iría para algún yupi gilipollas de california, aunque el vídeo hiciese sólo 3 céntimos, a las ratas ni agua.
Actualmente el Canal de TV se puede ver aquí ➜
https://www.compostela21.com/tv.php
El comando ffmpeg de la transmision actualmente se parece a esto:
ffmpeg -f concat -safe 0 -re -stream_loop -1
-i "/var/www/tv/video/play.list"
-strict experimental -sn -ac 2 -map_metadata -1 -s 460x320 -c:a aac -g 250 -c:v libx264 -pix_fmt yuv420p
-flags -global_header -hls_time 5 -hls_list_size 5
-hls_wrap 10 -hls_flags delete_segments -f hls -strftime 1 -segment_time 5
-segment_format mpegts -segment_list_flags +live -hls_allow_cache 0 -segment_wrap 10
-segment_list_size 5 -hls_segment_filename live_0_%02d.ts play.m3u8
A destacar:
-re que ralentiza el procesamiento para hacerlo lo más próximo a la velocidad de 1X para una buena transmisión en vivo, ajustando otros valores de la segmentación se consiguen buenas transmisiones con una media de entre 30 y 60 segundos de búffer.
-f concat indica el archivo lista de archivos a emitir
-stream_loop -1 Hace loop infinito (-1) (entero para repetir n veces
Hasta el Próximo Vídeo!! (seguimos aprendiendo)