Запись живого потока YouTube с использованием VLC
Я пытаюсь настроить VLC для записи живого потока на YouTube с помощью cron. Vlc записывает видео, которые не просто потоковые в прямом эфире, но когда поток живой, VLC записывает не более 24 секунд. Почему это останавливается там? Как я могу получить это, чтобы записать больше?
Строки в моем файле crontab были адаптированы из ответа на этот вопрос:
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"
3 ответа
Для прямых трансляций я бы рекомендовал использовать livestreamer вместо VLC. Запись с livestreamer
это ветер, например:
livestreamer <livestream-url> best -o vod.mp4
livestreamer поддерживает десятки разных потоковых провайдеров и работает очень надежно, даже с поточными потоками.
Для инструкций по установке проверьте этот ответ henry.
Streamlink
livestreamer больше не поддерживается. Вместо этого используйте Streamlink
Установка:
sudo -H pip install streamlink
Тогда просто
streamlink --output stream.mp4 "https://www.youtube.com/freecodecamp/live" best # or worst
Вы также можете отправить поток на cvlc
с любым параметром, который вы можете захотеть
В соответствии с man-страницей livestreamer, параметры должны стоять на первом месте:
COMMAND-LINE USAGE
$ livestreamer [OPTIONS] [URL] [STREAM]
Они покажут вам потоки, которые вы можете выбрать:
$ livestreamer [URL]
или же
$ livestreamer [OPTIONS] [URL]
Это сохранит доступный поток наилучшего качества в файл arq.mp4 в текущем каталоге:
livestreamer -o arq.mp4 <livestream-url> best
Проверьте
$ man livestreamer
для многих других деталей.