1

The following command works for me (meaning it returns JSON data for the video):

yt-dlp.exe https://www.youtube.com/watch?v=1C0ZtmBlL-s --skip-download --dump-single-json --no-check-certificate --restrict-filenames

However, the same command but for a video which has yet to "premiere" (it's in "upcoming" mode) does not return any JSON data! It outputs null and error-logs an English text saying: "Premieres in 3 hours", which is useless to me:

yt-dlp.exe https://www.youtube.com/watch?v=bNWB7wu9hjE --skip-download --dump-single-json --no-check-certificate --restrict-filenames

I need to be able to see the timestamp when it premieres, before it premieres, in order to automatically insert a reminder for myself. This information is available on the YouTube webpage, so the information does exist: "isUpcoming":true and "scheduledStartTime"

Furthermore, yt-dlp literally has a live_status property in the JSON output, which can be is_upcoming, according to its manual, so it makes no sense that my command doesn't return anything when the video is "upcoming". The data is available, and yt-dlp seemingly supports it. So why is the output null when the video is in "upcoming" state?

PS: Depending on when you read this, the video in the second link may no longer be "upcoming". It's upcoming for 32 minutes more at the time of publishing this.

1 Answers1

0

You need to add --ignore-no-formats-error to the command as that's the error that's thrown if no video format can be downloaded.

For example:

yt-dlp https://www.youtube.com/watch?v=rG0m71ilPuY --skip-download --dump-single-json --no-check-certificate --restrict-filenames --ignore-no-formats-error

See documentation

Destroy666
  • 5,299
  • 7
  • 16
  • 35