J'essaie de configurer VLC pour enregistrer un flux en direct sur YouTube à l'aide de cron. VLC enregistre des vidéos qui ne sont pas en streaming en direct, mais lorsque le flux est en direct, VLC enregistre au plus 24 secondes. Pourquoi ça s'arrête là? Comment puis-je l'obtenir pour enregistrer plus?
Les lignes que j'ai dans mon fichier crontab ont été adaptées de la réponse à cette question :
35 21 20 3 * cvlc --sout file/ts:/path/to/directory/file.mp4 <link to video>
37 21 20 3 * sh -c "killall cvlc; killall vlc"
Pour les flux en direct, je vous recommande d'utiliser livestreamer au lieu de VLC. L'enregistrement avec livestreamer
est un jeu d'enfant, par exemple:
livestreamer <livestream-url> best -o vod.mp4
livestreamer prend en charge des dizaines de différents fournisseurs de streaming et fonctionne de manière très fiable, même avec des flux irréguliers.
Pour les instructions d'installation, vérifiez cette réponse par @ henry .
Selon la page de manuel livestreamer, les options doivent venir en premier:
COMMAND-LINE USAGE
$ livestreamer [OPTIONS] [URL] [STREAM]
Celles-ci vous montreront les flux que vous pouvez choisir:
$ livestreamer [URL]
ou
$ livestreamer [OPTIONS] [URL]
Cela enregistrera la meilleure qualité de flux disponible dans le fichier arq.mp4 du répertoire en cours:
livestreamer -o arq.mp4 <livestream-url> best
Vérifier
$ man livestreamer
pour beaucoup plus de détails.
livestreamer n'est plus maintenu. Utilisez Streamlink à la place
Installer ( install --upgrade
à mettre à nivea ):
Sudo -H pip install streamlink
Alors juste
streamlink --output stream.mp4 "https://www.youtube.com/freecodecamp/live" best # or worst
Vous pouvez également envoyer le flux à cvlc
avec tout paramètre souhaité.