Les vidéos sur la plupart des sites utilisent le téléchargement progressif, ce qui signifie que la vidéo est téléchargée sur mon ordinateur et facile à suivre. Il existe de nombreuses extensions pour cela, et même dans les dev-tools, cela se fait facilement.
Sur certains sites Web, les vidéos sont diffusées en streaming. ce qui signifie que nous ne téléchargeons pas qu'un fichier, nous téléchargeons beaucoup de petits paquets. Dans les outils de développement, ces paquets peuvent être tracés. Le site Web qui m'intéresse est le suivant: http://www.rtlxl.nl/#!/goede-tijden-slechte-tijden-10821/c8e2bff7-5a5c-45cb-be2b-4b3b3e866ffb .
-Les paquets ont une extension .TS.
-Les paquets peuvent être sauvegardés en copiant l'URL de la demande
-Je ne peux pas lire ces fichiers.
J'ai dû faire quelque chose de mal ou il me manque quelque chose. Je veux savoir ce que je fais mal. Je veux créer une extension chrome à usage personnel qui capture les URL de tous les paquets. Lorsque j'ai toutes les URL, je souhaite les transmettre à un script php qui les télécharge et utilise ffmpeg. pour les coller dans un fichier mp4.
S'il vous plaît aidez-moi à obtenir les colis.
Mise à jour :
Stream Video Dowloader L’extension Chrome permet de télécharger des flux m3u8 de manière transparente. Installez et appuyez sur play on video pour identifier le flux.
Ajout à @aalhanane et @ Micheal Espinola Jr
Comme m3u8x est uniquement disponible pour les fenêtres. Une fois que vous avez identifié l'URL m3u8, vous pouvez également utiliser Jdownloader2 ou VLC Media Player pour télécharger et concaténer le flux.
Jdownloader2: Copiez simplement l'URL m3u8 quand il est ouvert. Il reconnaîtra le flux dans l'onglet Linkgrabber.
VLC 3:
Ouvrir le réseau -> Coller m3u8 url -> Checkmark Flux de sortie -> Sélectionner les paramètres. Choisissez le fichier de sortie, le conteneur, l'encodage vidéo et audio. (par exemple, output.mp4, conteneur: mpeg4, vidéo: h264, audio: mp4a) Démarrer le flux. La vidéo ne sera pas lue, mais encodée, montrant la progression de l'encodage en déplaçant la barre de progression de la lecture de la vidéo.
---> Ouvrir Firefox
---> ouvrir la vidéo
---> Lire la vidéo
Cliquez ---> Ouvrir le menu
Cliquez sur ---> ouvrir les outils de développement Web
Cliquez sur ---> barre d'outils développeur
Cliquez ---> Réseau
---> Aller à Filtrer les URL ---> Ecrire "M3u8" -> pour Trouver "m3u8"
---> Copier l'URL ".m3u8"
=========================
Maintenant, téléchargez le logiciel "m3u8x" ----> https://tajaribsoft-en.blogspot.com/2016/06/m3u8x.html#downloadx12
---> logiciel ouvert "m3u8x"
---> coller l'URL "m3u8"
---> a choisi l'option "One ... One"
---> Cliquez sur Télécharger
---> Démarrer le téléchargement
=========================
image "Ouvrir le menu" ===>
image "Developer Toolbar" ===>
image "m3u8x" ===>
Vous devez télécharger tous les fichiers de flux de transport (.ts) et les concaténer dans un seul fichier mpeg pour la lecture. Les flux de transport tels que celui-ci sont associés à des fichiers de playlist (.m3u8) qui répertorient tous les fichiers .ts que vous devez télécharger et concaténer. Si disponible, il peut y avoir une liste de lecture secondaire .m3u8 qui listera séparément les fichiers Steam de sous-titres (.vtt).
en utilisant this post
Ouvrez Firefox/chrome
ouvrir la page la vidéo
Lire la vidéo
cliquez sur F12
sur le clavier -> network
dans Filter URLs
ts
copier le lien de ts
supprimer l'index et l'extension ts du lien
par exemple:
http://vid.com/vod/mp4:vod/PRV/Yg0WGN_6.mp4/media_b180000_454.ts
sera copié comme
http://vid.com/vod/mp4:vod/PRV/Yg0WGN_6.mp4/media_b180000
insérer dans le script ci-dessous sous LINK
#!/bin/bash
# insert here urls
LINK=(
'http://vid.com/vod/mp4:vod/PRV/Yg0WGN_6.mp4/media_b180000' # replace this with your url
)
mkdir my-videos
cd mkdir my-videos
CNT=0
for URL in ${LINK[@]}
do
# create folder for streaming media
CNT=$((CNT + 1))
mkdir $CNT
cd $CNT
(
DIR="${URL##*/}"
# download all videos
wget $URL'_'{0..1200}.ts
# link videos
echo $DIR'_'{0..1200}.ts | tr " " "\n" > tslist
while read line; do cat $line >> $CNT.mp4; done < tslist
rm -rf media* tslist
) &
cd ..
done
wait
[~ # ~] éditer [~ # ~]
ajout de script dans python - fonctionne sous windows et linux
import urllib2
import os
import shutil
my_lessons = [
# http://vid.com/vod/mp4:vod/PRV/Yg0WGN_6.mp4/media_b180000_454.ts
"http://vid.com/vod/mp4:vod/PRV/Yg0WGN_6.mp4/media_b180000" # replace this with your url
]
lesson_dir = "my_vids"
try:
shutil.rmtree(lesson_dir)
except:
print "ok"
os.makedirs(lesson_dir)
os.chdir(lesson_dir)
for lesson, dwn_link in enumerate(my_lessons):
print ("downloading lesson %d.. " % (lesson), dwn_link)
file_name = '%d.mp4' % lesson
f = open(file_name, 'ab')
for x in range(0, 1200):
try:
rsp = urllib2.urlopen(dwn_link + "_%d.ts" % (x) )
except:
break
file_name = '%d.mp4' % lesson
print "downloading %d.ts" % (x)
f.write(rsp.read())
f.close()
print "done good luck!! ================== "
si le script échoue ou télécharge un fichier vide, essayez de supprimer le test d'emballage pour voir ce qui échoue.
J'avais besoin de télécharger des flux vidéo et audio HLS depuis un portail e-learning avec un contenu protégé par une session avec application/mp2t
Type de contenu MIME.
Copier manuellement tous les en-têtes d'authentification dans les scripts de téléchargement serait trop fastidieux.
Mais la tâche est devenue beaucoup plus facile avec l’aide de Video DownloadHelper Extension de Firefox et c’est Companion App . Il permettait de télécharger à la fois les listes de lecture m3u8 avec les listes de morceaux TS et les flux vidéo et audio dans des fichiers mp4 en un clic de bouton tout en préservant correctement les en-têtes d'authentification.
Les fichiers vidéo et audio séparés qui en résultent peuvent être fusionnés avec ffmpeg :
ffmpeg -i video.mp4 -i audio.mp4 -acodec copy -vcodec copy video-and-audio.mp4
ou avec mp4box :
mp4box -add audio.mp4#audio video.mp4 -out video-and-audio.mp4
Essayé Video DownloadHelper Chrome) aussi, mais cela n'a pas fonctionné pour moi.
Facile youtube-dl exemple sur macOS (dans la ligne de commande Terminal; Windows également pris en charge):
$ youtube-dl -F https://bitdash-a.akamaihd.net/content/MI201109210084_1/m3u8s/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8
[generic] f08e80da-bf1d-4e3d-8899-f0f6155f6efa: Requesting header
[generic] f08e80da-bf1d-4e3d-8899-f0f6155f6efa: Downloading m3u8 information
[info] Available formats for f08e80da-bf1d-4e3d-8899-f0f6155f6efa:
format code extension resolution note
audio-English_stereo mp4 audio only [en]
628 mp4 320x180 628k , avc1.42c00d, video only
928 mp4 480x270 928k , avc1.42c00d, video only
1728 mp4 640x360 1728k , avc1.42c00d, video only
2528 mp4 960x540 2528k , avc1.42c00d, video only
4928 mp4 1280x720 4928k , avc1.42c00d, video only
9728 mp4 1920x1080 9728k , avc1.42c00d, video only (best)
$ youtube-dl --format 628 https://bitdash-a.akamaihd.net/content/MI201109210084_1/m3u8s/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8
...
frame= 5257 fps=193 q=-1.0 Lsize= 6746kB time=00:03:30.16 bitrate= 263.0kbits/s speed=7.73x
video:6679kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.998669%
[ffmpeg] Downloaded 6907810 bytes
[download] 100% of 6.59MiB in 00:29
$ open f08e80da-bf1d-4e3d-8899-f0f6155f6efa-f08e80da-bf1d-4e3d-8899-f0f6155f6efa.mp4
Utilisez les outils de développement> Réseau du navigateur pour obtenir l'URL m3u8 (manifeste HLS) lors du démarrage d'une vidéo en streaming.
Copiez et collez l'un des fichiers vidéo .ts dans un nouvel onglet de Chrome. Supprimez le numéro d'identification du fichier .ts (0,1,2,3, etc., ou quel que soit son numéro) et remplacez l'extension ".ts" par ".mp4". Cela devrait faire apparaître le fichier vidéo dans votre navigateur comme d'habitude.
J'ai apporté quelques modifications à la réponse de Dina pour éviter d'essayer de télécharger/combiner 1200 pièces s'il n'y en a pas autant.
J'ai aussi trouvé utile de trier waterfall
dans l'onglet réseau de chrome. Cela triera en fonction du moment où les fichiers sont téléchargés. Ainsi, lorsque vous diffusez une vidéo, les parties les plus récemment téléchargées apparaissent en haut, ce qui facilite la recherche du fichier .ts
liens.
#!/bin/bash
# Name of the containing folder
GROUP="My Videos"
# Example link: https://vids.net/ABCAED/AADDCDE/m3u8/AADDCDE/AADDCDE_0.ts
# Insert below as: https://vids.net/ABCAED/AADDCDE/m3u8/AADDCDE/AADDCDE
# INSERT LINKS TO VIDEOS HERE
LINK=(
'Title for the video link'
'https://vids.net/ABCAED/AADDCDE/m3u8/AADDCDE/AADDCDE'
'Title for the next video'
'https://vids.net/EECEADFE/EECEADFE/m3u8/EECEADFE/EECEADFE'
)
# ------------------------------------------------------------------------------
mkdir "$GROUP"
cd "$GROUP"
I=0
while [ $I -lt ${#LINK[@]} ]
do
# create folder for streaming media
TITLE=${LINK[$I]}
mkdir "$TITLE"
cd "$TITLE"
mkdir 'parts'
cd 'parts'
J=$((I + 1))
URL=${LINK[$J]}
I=$((I + 2))
DIR="${URL##*/}"
# download all streaming media parts
VID=-1
while [ $? -eq 0 ];
do
VID=$((VID + 1))
wget $URL'_'$VID.ts
done
# combine parts
COUNTER=0
while [ $COUNTER -lt $VID ]; do
echo $DIR'_'$COUNTER.ts | tr " " "\n" >> tslist
let COUNTER=COUNTER+1
done
while read line; do cat $line >> $TITLE.ts; done < tslist
rm -rf tslist
mv "$TITLE.ts" "../$TITLE.ts"
cd ..
rm -rf 'parts'
cd ..
done