RTMPDump: enregistrer un flux rtmp

Certains sites diffusent des vidéos avec le protocole Real Time Messaging Protocol (RTMP). Pour diverses raisons, il est utile de récupérer ce flux pour le lire hors ligne ou le convertir dans un autre format.

La plupart des lecteurs vidéos comme VLC permettent la lecture des flux RTMP mais il n'est pas possible d'avancer la vidéo (on peut seulement mettre en pause). C'est pas toujours pratique, surtout quand on a besoin de revoir un moment précis de la vidéo.
Pour voir la vidéo dans de bonnes conditions, il ne me restait plus qu'à récupérer le flux via RTMPDump, un utilitaire en ligne de commande.

Installation

RTMPDump est dans les dépots officiels Debian, pour l'installer, lancer la commande:

#root
apt install rtmpdump 
RTMPDump v2.4

Utilisation

Il existe de nombreuses options à RTMPDump mais je n'utilise qu'une seule commande pour récupérer ma vidéo:

$user
rtmpdump   -r 'rtmp://url-du-flux.com/video.flv'   -o '/tmp/video.flv'   --resume ; 
  • -r url: url du flux à capturer.
  • -o output: pour définir le nom du fichier de sortie.
  • --resume: pour reprendre un enregistrement incomplet.

La fin du téléchargement devrait afficher "Download complete". On peut maintenant lire la vidéo hors ligne ou l'encoder si besoin. Il est possible de l'intégrer dans un script pour récupérer automatiquement ses vidéos.

Bien évidemment il faut connaître l'URL du flux. Si on ne la connaît pas, on peut utiliser par wireshark (c'est plutôt bien documenté).

Ressources

Pour connaître toutes les options de RTMPDump:
$user
man rtmpdump 

2016 nIQnutn CC-BY
Vus : 2251
Publié par nIQnutn : 73