Загрузка предстоящей прямой трансляции YouTube, когда вы не можете присутствовать на ней, представляет собой интересную задачу.
Но мы нашли инструмент, который обещает быть способным загрузить будущую трансляцию, когда у вас есть URL.
Для начала установите Go.
🐧 Как установить язык Go на Linux
$ sudo apt install golang-go
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
golang-1.21-go golang-1.21-src golang-src
Suggested packages:
bzr | brz git mercurial subversion
The following NEW packages will be installed:
golang-1.21-go golang-1.21-src golang-go golang-src
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 44.3 MB of archives.
After this operation, 219 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
После установки загрузите и установите необходимый инструмент.
$ go install github.com/Kethsar/ytarchive@dev
go: downloading github.com/Kethsar/ytarchive v0.4.1-0.20230904222205-7faf1a697096
go: downloading github.com/mattn/go-colorable v0.1.11
go: downloading github.com/alessio/shellescape v1.4.1
go: downloading golang.org/x/net v0.0.0-20210510120150-4163338589ed
go: downloading github.com/mattn/go-isatty v0.0.14
go: downloading golang.org/x/sys v0.3.0
Команда приведет к загрузке и установке исполняемого файла в папку $HOME/go/bin, которая не будет находиться в PATH.
Это можно исправить таким образом.
$ export PATH=~/go/bin:$PATH
После этого программа будет готова к работе.
Убедитесь, что установлена также программа FFmpeg, которая необходима для микширования конечного видео.
Как установить FFmpeg на Linux
$ ytarchive
ytarchive 0.4.0
Enter a youtube livestream URL:
Затем мы можем добавить стрим YouTube и ждать, пока он начнется.
~$ ytarchive
ytarchive 0.4.0
Enter a youtube livestream URL: https://www.youtube.com/watch?v=_arHuz4Q-P0
2023/11/13 08:21:48 https://www.youtube.com/watch?v=_arHuz4Q-P0 is likely a future scheduled livestream.
Would you like to wait for the scheduled start time, poll until it starts, or not wait?
wait/poll/[no]: wait
2023/11/13 08:21:53 Channel: Jonathon Hills
2023/11/13 08:21:53 Video Title: Jimmy's Birthday 🎂
Since you are going to wait for the stream, you must pre-emptively select a video quality.
There is no way to know which qualities will be available before the stream starts, so a list of all possible stream qualities will be presented.
You can use youtube-dl style selection (slash-delimited first to last preference). Default is 'best'
Available video qualities: audio_only, 144p, 240p, 360p, 480p, 720p, 720p60, 1080p, 1080p60, 1440p, 1440p60, 2160p, 2160p60, best
Enter desired video quality: 1080p
2023/11/13 08:22:09 Stream starts at 2023-11-12T23:00:00+00:00 in 5871 seconds.
2023/11/13 08:22:09 Waiting for this time to elapse...
Однако это сработало: после запуска стрима началась его загрузка, и система сохранила конечный файл.
$ ytarchive
ytarchive 0.4.0
Enter a youtube livestream URL: https://www.youtube.com/watch?v=_arHuz4Q-P0
2023/11/13 08:21:48 https://www.youtube.com/watch?v=_arHuz4Q-P0 is likely a future scheduled livestream.
Would you like to wait for the scheduled start time, poll until it starts, or not wait?
wait/poll/[no]: wait
2023/11/13 08:21:53 Channel: Jonathon Hills
2023/11/13 08:21:53 Video Title: Jimmy's Birthday 🎂
Since you are going to wait for the stream, you must pre-emptively select a video quality.
There is no way to know which qualities will be available before the stream starts, so a list of all possible stream qualities will be presented.
You can use youtube-dl style selection (slash-delimited first to last preference). Default is 'best'
Available video qualities: audio_only, 144p, 240p, 360p, 480p, 720p, 720p60, 1080p, 1080p60, 1440p, 1440p60, 2160p, 2160p60, best
Enter desired video quality: 1080p
2023/11/13 08:22:09 Stream starts at 2023-11-12T23:00:00+00:00 in 5871 seconds.
2023/11/13 08:22:09 Waiting for this time to elapse...
2023/11/13 10:00:16 Stream is 15 seconds late...
2023/11/13 10:00:31 Stream is 30 seconds late...
2023/11/13 10:00:47 Stream is 45 seconds late...
2023/11/13 10:01:02 Stream is 60 seconds late...
2023/11/13 10:01:18 Stream is 75 seconds late...
2023/11/13 10:01:33 Stream is 90 seconds late...
2023/11/13 10:01:49 Stream is 105 seconds late...
2023/11/13 10:02:04 Stream is 120 seconds late...
2023/11/13 10:02:19 Stream is 135 seconds late...
2023/11/13 10:02:35 Stream is 150 seconds late...
2023/11/13 10:02:50 Stream is 165 seconds late...
2023/11/13 10:03:06 Stream is 180 seconds late...
2023/11/13 10:03:21 Stream is 195 seconds late...
2023/11/13 10:03:22 Selected quality: 1080p (h264)
Video Fragments: 1671; Audio Fragments: 1671; Total Downloaded: 1.90GiB
2023/11/13 12:23:43 Download Finished
2023/11/13 12:23:43 Muxing final file...
frame=250650 fps=43212 q=-1.0 Lsize= 1997335kB time=02:19:14.98 bitrate=1958.4kbits/s speed=1.44e+03x
2023/11/13 12:23:49
Final file: /home/jcartwright/Jimmy's Birthday 🎂-_arHuz4Q-P0.mp4