Doh!! Noovo a été acquis par Bell Media, ceux-ci ont modifié le site Web complètement, mais surtout introduit une protection DRM (Widevine) qui rend la chose illégale. Par conséquent, le support pour ce site avec youtube-dl a été arrêté.
Ayant reçu plusieurs messages concernant le téléchargement des vidéos sur noovo.ca, j’ai finalement décidé de boucler la boucle plusieurs mois plus tard. Voici donc comment s’y prendre pour extraire les vidéos de la plateforme de Noovo avec l’outil youtube-dl.
L’outil en ligne de commande youtube-dl est un programme permettant d’extraire et télécharger des fichiers médias sur Youtube mais aussi plusieurs autres sites, et Noovo fait partit de cette longue liste. La raison qui explique pourquoi ce programme permet de l’utiliser sur un si grand nombre de sites est sa communauté, qui lui ajoute ce que le projet appelle des extractors.
En somme, pour activer noovo.ca avec youtube-dl, je n’ai eu qu’à coder un extractor (noovo.py) qui télécharge les pages web sur le site et trouve l’information à propos des médias à télécharger. Une fois ceci finalisé et testé, j’ai envoyé un pull request au projet. Ce dernier a été revu avec quelques modifications apportées, et mergées. L’historique peut être trouvé ici sur Github : github.com/ytdl-org/youtube-dl/pull/12792.
Je ne vais pas vous expliquer comment installer l’outil, mais simplement vous rediriger vers des gens qu’ils l’ont déjà fait.
En mode simple, sans paramètre, youtube-dl va tenter de télécharger la meilleure qualité possible.
Tout ce que vous avez à faire est de taper la commande youtube-dl https://site.com/video/url
sur bash ou le command prompt de windows.
Prenons en example le vidéo que se trouve sur la page:
https://noovo.ca/videos/rpm/1899-la-premiere-voiture-a-atteindre-les-100-km-h
…
$ youtube-dl https://noovo.ca/videos/rpm/1899-la-premiere-voiture-a-atteindre-les-100-km-h
[Noovo] rpm/1899-la-premiere-voiture-a-atteindre-les-100-km-h: Downloading webpage
[brightcove:new] 6099476502001: Downloading webpage
[brightcove:new] 6099476502001: Downloading JSON metadata
[brightcove:new] 6099476502001: Downloading m3u8 information
[brightcove:new] 6099476502001: Downloading m3u8 information
[brightcove:new] 6099476502001: Downloading MPD manifest
[brightcove:new] 6099476502001: Downloading MPD manifest
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 5
[download] Destination: 1899 - La première voiture à atteindre les 100 km_h-6099476502001.fhls-2884-1.mp4
[download] 100% of 13.93MiB in 00:12
[dashsegments] Total fragments: 9
[download] Destination: 1899 - La première voiture à atteindre les 100 km_h-6099476502001.fdash-c4362ff8b608-1.m4a
[download] 100% of 730.27KiB in 00:03
[ffmpeg] Merging formats into "1899 - La première voiture à atteindre les 100 km_h-6099476502001.mp4"
Deleting original file 1899 - La première voiture à atteindre les 100 km_h-6099476502001.fhls-2884-1.mp4
Deleting original file 1899 - La première voiture à atteindre les 100 km_h-6099476502001.fdash-c4362ff8b608-1.m4a
En mode avancé, avec certains paramètres, il est possible de sélectionner quelle qualité audio et visuelle on veut sélectionner. En example ci-dessous
youtube-dl -F https://site.com/video/url
youtube-dl -f videoFormatID+audioFormatID https://site.com/video/url
Plus précisément, tout d'abord on utilise le paramètre -F pour obtenir une liste de formats possibles…
$ youtube-dl -F https://noovo.ca/videos/rpm/1899-la-premiere-voiture-a-atteindre-les-100-km-h
[Noovo] rpm/1899-la-premiere-voiture-a-atteindre-les-100-km-h: Downloading webpage
[brightcove:new] 6099476502001: Downloading webpage
[brightcove:new] 6099476502001: Downloading JSON metadata
[brightcove:new] 6099476502001: Downloading m3u8 information
[brightcove:new] 6099476502001: Downloading m3u8 information
[brightcove:new] 6099476502001: Downloading MPD manifest
[brightcove:new] 6099476502001: Downloading MPD manifest
[info] Available formats for 6099476502001:
format code extension resolution note
hls-audio-0-fr-CA__Main_-0 mp4 audio only [fr-CA]
hls-audio-0-fr-CA__Main_-1 mp4 audio only [fr-CA]
hls-audio-1-fr-CA__Main_-0 mp4 audio only [fr-CA]
hls-audio-1-fr-CA__Main_-1 mp4 audio only [fr-CA]
hls-audio-2-fr-CA__Main_-0 mp4 audio only [fr-CA]
hls-audio-2-fr-CA__Main_-1 mp4 audio only [fr-CA]
dash-cbbcaab3-43a9-4c3c-af47-75512387fa39-0 m4a audio only [fr-CA] DASH audio 64k , m4a_dash container, mp4a.40.2 (44100Hz)
dash-cbbcaab3-43a9-4c3c-af47-75512387fa39-1 m4a audio only [fr-CA] DASH audio 64k , m4a_dash container, mp4a.40.2 (44100Hz)
dash-67a70e24-52f9-41f5-8c0f-fb547ee103b8-0 m4a audio only [fr-CA] DASH audio 96k , m4a_dash container, mp4a.40.2 (44100Hz)
dash-67a70e24-52f9-41f5-8c0f-fb547ee103b8-1 m4a audio only [fr-CA] DASH audio 96k , m4a_dash container, mp4a.40.2 (44100Hz)
dash-c5d5f6df-45f6-429b-81f0-c4362ff8b608-0 m4a audio only [fr-CA] DASH audio 128k , m4a_dash container, mp4a.40.2 (44100Hz)
dash-c5d5f6df-45f6-429b-81f0-c4362ff8b608-1 m4a audio only [fr-CA] DASH audio 128k , m4a_dash container, mp4a.40.2 (44100Hz)
dash-5af86bed-ac0e-430a-9347-b26181b1ecd8-0 mp4 480x270 DASH video 446k , mp4_dash container, avc1.420015, video only
dash-5af86bed-ac0e-430a-9347-b26181b1ecd8-1 mp4 480x270 DASH video 446k , mp4_dash container, avc1.420015, video only
hls-561-0 mp4 480x270 561k , avc1.420015, video only
hls-561-1 mp4 480x270 561k , avc1.420015, video only
dash-abe9173b-3086-4404-a8c5-789292009897-0 mp4 640x360 DASH video 694k , mp4_dash container, avc1.42001e, video only
dash-abe9173b-3086-4404-a8c5-789292009897-1 mp4 640x360 DASH video 694k , mp4_dash container, avc1.42001e, video only
hls-869-0 mp4 640x360 869k , avc1.42001e, video only
hls-869-1 mp4 640x360 869k , avc1.42001e, video only
dash-eb339c9c-dbd5-442c-a1cf-4116fbc5a846-0 mp4 640x360 DASH video 895k , mp4_dash container, avc1.4d001e, video only
dash-eb339c9c-dbd5-442c-a1cf-4116fbc5a846-1 mp4 640x360 DASH video 895k , mp4_dash container, avc1.4d001e, video only
hls-1125-0 mp4 640x360 1125k , avc1.4d001e, video only
hls-1125-1 mp4 640x360 1125k , avc1.4d001e, video only
dash-580f6a19-41d4-4a0f-a242-5612c4edbd20-0 mp4 960x540 DASH video 1199k , mp4_dash container, avc1.4d001f, video only
dash-580f6a19-41d4-4a0f-a242-5612c4edbd20-1 mp4 960x540 DASH video 1199k , mp4_dash container, avc1.4d001f, video only
hls-1459-0 mp4 960x540 1459k , avc1.4d001f, video only
hls-1459-1 mp4 960x540 1459k , avc1.4d001f, video only
dash-922a1ca7-b504-4521-9ec4-44ec1b9979f2-0 mp4 960x540 DASH video 1701k , mp4_dash container, avc1.4d001f, video only
dash-922a1ca7-b504-4521-9ec4-44ec1b9979f2-1 mp4 960x540 DASH video 1701k , mp4_dash container, avc1.4d001f, video only
hls-2011-0 mp4 960x540 2011k , avc1.4d001f, video only
hls-2011-1 mp4 960x540 2011k , avc1.4d001f, video only
dash-cc0684c4-73e7-4f16-8a11-5f5722c0ae92-0 mp4 1280x720 DASH video 2494k , mp4_dash container, avc1.4d001f, video only
dash-cc0684c4-73e7-4f16-8a11-5f5722c0ae92-1 mp4 1280x720 DASH video 2494k , mp4_dash container, avc1.4d001f, video only
hls-2884-0 mp4 1280x720 2884k , avc1.4d001f, video only
hls-2884-1 mp4 1280x720 2884k , avc1.4d001f, video only (best)
Ensuite, on sélectionne quels formats on veut, vidéo et audio (video+audio), comme ceci…
$ youtube-dl -f hls-1459-0+dash-67a70e24-52f9-41f5-8c0f-fb547ee103b8-0 https://noovo.ca/videos/rpm/1899-la-premiere-voiture-a-atteindre-les-100-km-h
[Noovo] rpm/1899-la-premiere-voiture-a-atteindre-les-100-km-h: Downloading webpage
[brightcove:new] 6099476502001: Downloading webpage
[brightcove:new] 6099476502001: Downloading JSON metadata
[brightcove:new] 6099476502001: Downloading m3u8 information
[brightcove:new] 6099476502001: Downloading m3u8 information
[brightcove:new] 6099476502001: Downloading MPD manifest
[brightcove:new] 6099476502001: Downloading MPD manifest
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 5
[download] Destination: 1899 - La première voiture à atteindre les 100 km_h-6099476502001.fhls-1459-0.mp4
[download] 100% of 6.78MiB in 00:06
[dashsegments] Total fragments: 9
[download] Destination: 1899 - La première voiture à atteindre les 100 km_h-6099476502001.fdash-67a70e24-52f9-41f5-8c0f-fb547ee103b8-0.m4a
[download] 100% of 551.85KiB in 00:01
[ffmpeg] Merging formats into "1899 - La première voiture à atteindre les 100 km_h-6099476502001.mp4"
Deleting original file 1899 - La première voiture à atteindre les 100 km_h-6099476502001.fhls-1459-0.mp4 (pass -k to keep)
Deleting original file 1899 - La première voiture à atteindre les 100 km_h-6099476502001.fdash-67a70e24-52f9-41f5-8c0f-fb547ee103b8-0.m4a (pass -k to keep)
Vous aurez vite remarqué que FFMpeg est utilisé par youtube-dl pour muxer les fichiers vidéos et audios ensemble. Il est donc important de s'assurer d'avoir FFMpeg installé sur votre système.