J'utilise livestreamer pour enregistrer en direct périodique cams vidéo de youtube comme suitLivestreamer - enregistrement d'horaire avec Debian Linux variantes distros
livestreamer <youtube-live-url> best -o out_file.mp4
Un enregistrement doit être fait tous les 20 heures-22 heures chaque jeudi.
Je ne peux pas toujours être à l'ordinateur à ces moments.
Je pensais utiliser crontab-e
pour commencer l'enregistrement avec la commande ci-dessus à l'heure donnée, 20h00 jeudi, ce qui est assez facile.
Le flux doit être arrêté avec CTRL + C à 22 heures le même jour. La suppression du processus ne fonctionnera pas car le flux ne sera pas écrit dans le fichier. Le flux en direct doit être fermé avec CTRL + C. Le problème est que je ne sais pas comment affecter un PID au processus initial, puis envoyer CTRL + C au même processus, tout cela à partir de crontab, pour fermer le flux et écrire le fichier.
N'importe qui des idées. Peut-être Crontab est, ou n'est pas, le meilleur moyen de persister ce problème.
Une recette de travail spécifique, pour effectuer cet enregistrement, si quelqu'un en a un, pls.
salut @ Z0n3r Pour un court test je '12 23 * * * timeout -s SIGINT 1m livestreamer https://www.youtube.com/watch?v=y60wDzZt8yg 240p -o live8.mp4'. Ça ne marche pas. Je pense que parce que crontab relâche le processus une fois qu'il est lancé et qu'il ne peut pas identifier le bon processus pour le fermer avec SIGINT. Des idées? (ps à partir du terminal, en dehors crontab, 'timeout -s SIGINT 1m livestreamer https://www.youtube.com/watch?v=y60wDzZt8yg 240p -o live8.mp4' fonctionne tout simplement génial) – Kes
@Kes essayer d'ajouter des chemins complets pour timeout et livestreamer dans votre commande cron. Utilisez 'which timeout' et 'which livestreamer' pour les vérifier et changez votre commande cron pour par exemple:/usr/bin/timeout -s SIGINT 1m/usr/local/bin/livestreamer https://www.youtube.com/watch ? v = y60wDzZt8yg 240p -o live8.mp4 –
Merci. Ça a bien marché! :) – Kes