Livestreamer - 使用 Debian Linux 变体发行版安排录制

Livestreamer - scheduling recording with Debian Linux variant distros

我正在使用 livestreamer 录制来自 youtube 的定期直播视频,如下所示

livestreamer <youtube-live-url> best -o out_file.mp4

每周四晚上8点到10点需要录音

这些时候我不能一直在电脑前。

我正在考虑使用 crontab-e 在给定时间使用上述命令开始录制,星期四晚上 8 点,这很容易。

必须在当天晚上 10 点按 CTRL+C 停止流。 终止进程将不起作用,因为流将不会被写入文件。必须使用 CTRL+C 关闭实时流。

问题是我不知道如何为初始进程分配 PID,然后将 CTRL+C 发送到同一进程,所有这些都是从 crontab 完成的,以关闭流并写出文件。

任何人有任何想法。也许 Crontab 是,也可能不是解决这个问题的最佳方法。

一个具体的工作配方,以实现此记录,如果有人有的话,请。

看看timeout。它允许您 运行 一个命令并在给定的时间后用特定的终止信号终止它。

您可以在 cron 命令中使用它在 2 小时后通过 ctrl-c (SIGINT) 停止 livestreamer。

您应该在 cron 命令中使用 timeout 和 livestreamer 的完整路径。您可以通过 which:

找到这些
$ which timeout
/usr/bin/timeout

$ which livestreamer
/usr/local/bin/livestreamer

要录制两小时的片段,您的 cron 命令应该是:

/usr/bin/timeout -s SIGINT 2h /usr/local/bin/livestreamer <url> /path/to/out.mp4

可以添加 --yes-运行-as-root

代码: 23 0 * * * /usr/bin/timeout -s SIGINT 1m /usr/local/bin/livestreamer youtube.com/watch?v=y60wDzZt8yg 240p -o /home/kes/Desktop/out_file.mp4 --yes-运行-作为根