Je voulais récupérer le dernier épisode de Cash investigation. Comme tous ceux de la saison 2019/2020, il n'est pas disponible sur le compte Youtube de l'émission. Il ne semble pas être disponible dans la DHT BitTorrent (recherche effectuée avec le moteur de recherche DHT BTDigg). Il ne semble pas être disponible en téléchargement libre sur le web. Il est disponible en replay sur le site de France TV. Jusqu'à quand ?
Pour en récupérer une copie, j'utilise la dernière version (2020.05.08) de Youtube-dl. J'obtiens uniquement les sept premières secondes de son. Que ce soit avec VLC, mplayer, ffmpeg, faac, sound-konverter, audacity, etc. Même en demandant à Youtube-dl de conserver séparément la piste audio et la piste vidéo (-k
), la piste son reste défectueuse. Tous les logiciels sus-cités voient une fin prématurée de la piste audio. ffmpeg hurle « Invalid data found when processing input ». Elle occupe 96 mo et un cat
en montre l'intégralité. Je te passe mon debug à coup de dd
(dd if='Cash investigation - Egalité hommes femmes - balance ton salaire-7309baab-7d24-4d74-afd2-695d61d19e18.fhls_v5_os-audio-aacl-64-Audio_Français.mp4' bs=1 skip=99000 of=frag2.mp4
puis « skip=198000 » puis…) : la piste audio est bien complète, mais un lecteur audio quelconque échoue à le lire toutes les sept secondes, ce qui correspond à la taille d'un fragment (pour leur diffusion sur le web, les fichiers vidéos sont découpés en fragments de taille variable). Je pense donc que la concaténation des fragments pose problème. Je n'ai pas réussi à en obtenir une meilleure en demandant à Youtube-dl de conserver tous les fragments (--keep-fragments
) et à fffmpeg de les chaîner.
L'extension Firefox Video DownloadHelper ne parvient pas à télécharger la vidéo, car elle se fait berner par les fragments.
Au final, voici une méthode qui fonctionne (ÉDIT DU 24/05/2020 À 20 H 10 : méthode beaucoup plus simple : utiliser le paramètre -f mp4
de Youtube-dl afin de sélectionner mp4 comme format désiré. Merci Oros. FIN DE L'ÉDIT) :
youtube-dl -k --write-info-json 'https://www.francetvinfo.fr/replay-magazine/france-2/cash-investigation/cash-investigation-du-mardi-19-mai-2020_3939739.html'
;jq
. Il se reconnaît aisément : il y en a un seul et la description de son format contient les mots « audio only »). Allons-y : jq -r '.formats[] | select(.format | test("audio only"; "i")).url' 'Cash investigation - Egalité hommes femmes - balance ton salaire-7309baab-7d24-4d74-afd2-695d61d19e18.info.json'
;cvlc --play-and-exit 'https://cloudreplayfrancetv.akamaized.net/f6b0050f44ce5/229120135_france-domtom_TA.ism/ZXhwPTE1OTAyODkxNjV+YWNsPSUyZmY2YjAwNTBmNDRjZTUlMmYyMjkxMjAxMzVfZnJhbmNlLWRvbXRvbV9UQS5pc20qfmhtYWM9OTUxZjE2ZmY5MGFlMDJmOTM5NzE4NWY1MDRmNjM5OTY2Zjg5MmJhMzYyNTEzZmQ3NWE1N2Q1Mjk0ODQ5YWRiOA==/229120135_france-domtom_TA-audio_fre=64000.m3u8' --sout '#transcode{vcodec=none,acodec=vorb,ab=128,channels=2,samplerate=48000}:file{dst=cash_audio.ogg}'
. On obtient le même résultat en passant par l'item « Convertir / Enregistrer » du menu « Média » de l'interface graphique, mais je veux me la péter ;ffmpeg -i 'Cash investigation - Egalité hommes femmes - balance ton salaire-7309baab-7d24-4d74-afd2-695d61d19e18.fhls_v5_os-2186.mp4' -i cash_audio.ogg -c:v copy -c:a copy Cash_investigation_-_Egalite_hommes_femmes_balance_ton_salaire.mkv
.