ffmpeg_live_streaming
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
ffmpeg_live_streaming [2025/04/23 20:11] – luc | ffmpeg_live_streaming [2025/04/23 20:29] (Version actuelle) – luc | ||
---|---|---|---|
Ligne 85: | Ligne 85: | ||
} | } | ||
</ | </ | ||
+ | On notera que nous avons choisi de mettre les fichiers écrits par HLS dans un dossier dans la RAM (/dev/shm, pour être plus rapide que sur la carte SD et éviter d'user celle-ci), il convient que ce dossier existe et soit accessible en écriture à l'user du serveur web (www-data ou nginx, selon la config). | ||
+ | Il faut ensuite gérer 2 vhost : un pour le flux HLS, l' | ||
+ | < | ||
+ | # Servir le flux HLS (de simples fichiers, mais avec les headers qui vont bien) | ||
+ | # mon_vhost.conf ou inclus dans le bloc http | ||
+ | server { | ||
+ | listen 8080; | ||
+ | |||
+ | location /hls { | ||
+ | # Disable cache | ||
+ | add_header ' | ||
+ | |||
+ | # CORS setup | ||
+ | add_header Access-Control-Allow-Origin *; | ||
+ | add_header ' | ||
+ | add_header ' | ||
+ | |||
+ | # allow CORS preflight requests | ||
+ | if ($request_method = ' | ||
+ | add_header ' | ||
+ | add_header ' | ||
+ | add_header ' | ||
+ | add_header ' | ||
+ | return 204; | ||
+ | } | ||
+ | |||
+ | types { | ||
+ | |||
+ | application/ | ||
+ | video/mp2t ts; | ||
+ | } | ||
+ | |||
+ | root /dev/shm; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | On notera l' | ||
+ | On notera les directives pour autoriser les flux qui viennent d' | ||
+ | |||
+ | < | ||
+ | # Servir le site web qui contiendra le player (simple fichier html) | ||
+ | # mon_vhost.conf ou autre ou inclus dans le bloc http | ||
+ | |||
+ | # dans un bloc server { }, on peut juste servir le fichier | ||
+ | |||
+ | root / | ||
+ | |||
+ | location / { | ||
+ | add_header Access-Control-Allow-Origin *; | ||
+ | if ($request_method = ' | ||
+ | add_header ' | ||
+ | add_header ' | ||
+ | } | ||
+ | |||
+ | # First attempt to serve request as file, then | ||
+ | # as directory, then fall back to displaying a 404. | ||
+ | try_files $uri $uri/ =404; | ||
+ | } | ||
+ | </ | ||
+ | On notera les entêtes pour les autorisations de CORS (Cross Origins) bla bla... | ||
+ | |||
+ | === Page web avec le lecteur === | ||
+ | On va s' | ||
+ | ``` | ||
+ | < | ||
+ | <html lang=" | ||
+ | < | ||
+ | <meta charset=" | ||
+ | < | ||
+ | <link href="// | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | |||
+ | <video | ||
+ | class=" | ||
+ | controls | ||
+ | preload=" | ||
+ | width=" | ||
+ | height=" | ||
+ | data-setup=" | ||
+ | > | ||
+ | <source src=" | ||
+ | <p class=" | ||
+ | To view this video please enable JavaScript, and consider upgrading to a | ||
+ | web browser that | ||
+ | <a href=" | ||
+ | > | ||
+ | > | ||
+ | </p> | ||
+ | </ | ||
+ | |||
+ | <script src=" | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | ``` | ||
+ | On notera l'url vers le flux HLS configuré précédemment. | ||
+ | |||
+ | |||
+ | Voilà, on a ce qu'il faut pour consommer le flux video, il faut maintenant le capturer, c'est le travail de ffmpeg. | ||
Ligne 114: | Ligne 215: | ||
</ | </ | ||
- | Les bcmm2835 | + | Les bcm2835 |
=> On apprend qu' | => On apprend qu' | ||
+ | |||
ffmpeg_live_streaming.1745439084.txt.gz · Dernière modification : 2025/04/23 20:11 de luc