9 votes

Streaming RTSP avec ffmpeg ?

J'ai réussi à envoyer un flux vidéo RTP de mon serveur au client d'un autre système du réseau local et à le lire avec ffplay. Je souhaite maintenant envoyer la vidéo sur le même réseau en utilisant RTSP afin que le client puisse recevoir la vidéo et disposer d'options supplémentaires comme la mise en pause de la vidéo, etc. Quelqu'un peut-il me donner une ligne directrice générale ou m'indiquer une ressource qui pourrait m'aider à accomplir ma tâche ?

UPDATE :

J'ai essayé ces commandes :

ffmpeg -re -i input -f rtsp -rtsp_transport tcp rtsp://localhost:8888/live.sdp

ffplay -rtsp_flags listen rtsp://localhost:8888/live.sdp

Il commence à diffuser la vidéo en temps réel, mais je ne vois pas d'options pour contrôler le flux multimédia, comme la lecture, l'enregistrement, etc.

NB : Le fichier .sdp que j'utilise actuellement pour le RTSP est le même que celui que j'ai utilisé pour le streaming RTP.

9voto

Rob van der Leek Points 181

Pour information, j'ai pu mettre en place un serveur RTSP local à des fins de test en utilisant simple-rtsp-server et ffmpeg en suivant ces étapes :

  1. Créez un fichier de configuration pour le serveur RTSP appelé rtsp-simple-server.yml avec cette seule ligne :

    protocols: [tcp]
  2. Démarrez le serveur RTSP en tant que conteneur Docker :

    $ docker run --rm -it -v $PWD/rtsp-simple-server.yml:/rtsp-simple-server.yml -p 8554:8554 aler9/rtsp-simple-server
  3. Utilisez ffmpeg pour diffuser un fichier vidéo (en boucle permanente) sur le serveur :

    $ ffmpeg -re -stream_loop -1 -i test.mp4 -f rtsp -rtsp_transport tcp rtsp://localhost:8554/live.stream

Une fois que vous l'avez lancé, vous pouvez utiliser ffplay pour visualiser le flux :

$ ffplay -rtsp_transport tcp rtsp://localhost:8554/live.stream

Notez que simple-rtsp-server peut également gérer les flux UDP (i.s.o. TCP) mais c'est délicat en utilisant le serveur comme un conteneur Docker.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X