ほとんどのサイトのビデオはプログレッシブダウンロードを使用します。つまり、ビデオはコンピューターにダウンロードされ、簡単にトレースできます。これを行うための拡張機能はたくさんありますが、開発ツールでも簡単に実行できます。
特定のWebサイトでは、ビデオがストリーミングされます。つまり、1つのファイルをダウンロードするだけでなく、多数の小さなパッケージをダウンロードします。 dev-toolsでは、これらのパッケージを追跡できます。私が興味を持っているウェブサイトは次のとおりです: http://www.rtlxl.nl/#!/goede-tijden-slechte-tijden-10821/c8e2bff7-5a5c-45cb-be2b-4b3b3e866ffb 。
-パッケージの拡張子は.TSです。
-リクエストのURLをコピーすることでパッケージを保存できます
-これらのファイルを再生できません。
私は何か間違ったことをしたに違いないか、何かを見逃しています。私が間違っていることを知りたい。すべてのパッケージのURLをキャプチャする個人用のchrome拡張機能を作成したい。すべてのURLを取得したら、それらをダウンロードし、ffmpegを使用してmp4ファイルに貼り付けるphpスクリプトに渡します。
パッケージの入手を手伝ってください。
更新:
Stream Video Dowloader Chrome拡張機能により、m3u8ストリームをシームレスにダウンロードできます。ビデオをインストールして再生ボタンを押すと、ストリームが識別されます。
@aalhananeおよび@Micheal Espinola Jrへの追加
M3u8xはWindowsでのみ使用可能です。 m3u8のURLを特定したら、Jdownloader2またはVLC Media Playerを使用してストリームをダウンロードおよび連結することもできます。
Jdownloader2:Jdownloaderが開いているときにm3u8のURLをコピーするだけです。 Linkgrabberタブでストリームを認識します。
VLC 3:
ネットワークを開く-> m3u8のURLを貼り付け-> Checkmark Streamoutput->設定を選択します。出力ファイル、コンテナ、ビデオ、およびオーディオのエンコードを選択します。 (たとえば、output.mp4、コンテナ:mpeg4、ビデオ:h264、オーディオ:mp4a)ストリームを開始します。ビデオは再生されませんが、エンコードし、ビデオの再生進行バーを移動することでエンコードの進行状況を示します。
---> Firefoxを開く
--->ビデオのページを開く
--->ビデオを再生する
--->メニューを開くをクリックします
---> Web開発者ツールを開くをクリックします
--->開発者ツールバーをクリックします
--->ネットワークをクリックします
--->フィルタURLに移動---> "M3u8"を書き込み-> "m3u8"を検索
---> URL ".m3u8"をコピーします
========================
今すぐソフトウェア「m3u8x」をダウンロード----> https://tajaribsoft-en.blogspot.com/2016/06/m3u8x.html#downloadx12
--->オープンソフトウェア「m3u8x」
---> URL「m3u8」を貼り付け
--->オプション「One ... One」を選択しました
--->ダウンロードをクリック
--->ダウンロードを開始
========================
画像「メニューを開く」===>
画像「開発者ツールバー」===>
画像「m3u8x」===>
すべてのトランスポートストリーム(.ts)ファイルをダウンロードし、再生のために単一のmpegに連結する必要があります。このようなトランスポートストリームには、ダウンロードして連結する必要があるすべての.tsファイルをリストするプレイリストファイル(.m3u8)が関連付けられています。利用可能な場合、サブタイトルのSteamファイル(.vtt)を個別にリストするセカンダリ.m3u8プレイリストが存在する場合があります。
this postを使用
Firefox/Chromeを開きます
ビデオを開く
動画を再生します
キーボードのF12
をクリックします-> network
Filter URLs
ts
tsのリンクをコピー
リンクからインデックスとts拡張を削除します
例えば:
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
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
編集
pythonにスクリプトを追加-Windowsおよび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!! ================== "
スクリプトが失敗した場合、または空のファイルをダウンロードした場合は、試行ラップを削除して、失敗したものを確認してください
application/mp2t
MIMEコンテンツタイプのセッション保護されたコンテンツを使用して、eラーニングポータルからHLSビデオおよびオーディオストリームをダウンロードする必要がありました。
すべての認証ヘッダーをダウンロードスクリプトに手動でコピーするのは面倒です。
しかし、タスクは Video DownloadHelper Firefox拡張機能と Companion App の助けを借りてはるかに簡単になりました。認証ヘッダーを正しく保持しながら、ボタンをクリックするだけで、TSチャンクリストを含むm3u8プレイリストと実際のビデオおよびオーディオストリームの両方をmp4ファイルにダウンロードできました。
結果として得られる個別のビデオファイルとオーディオファイルは、 マージffmpeg とすることができます。
ffmpeg -i video.mp4 -i audio.mp4 -acodec copy -vcodec copy video-and-audio.mp4
または mp4box を使用:
mp4box -add audio.mp4#audio video.mp4 -out video-and-audio.mp4
Video DownloadHelper Chrome extension も試してみましたが、うまくいきませんでした。
簡単 youtube-dl macOSでの例(コマンドラインターミナル:Windowsもサポート):
$ 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
ブラウザの[開発ツール]> [ネットワーク]を使用して、ストリーミングビデオを開始するときにm3u8(HLSマニフェスト)URLを取得します。
Chromeの新しいタブに.tsビデオファイルの1つをコピーして貼り付けます。 .tsファイルの識別番号(0、1、2、3など、またはその番号)を削除し、拡張子を「.ts」から「.mp4」に変更します。これにより、通常どおりブラウザにビデオファイルが表示されます。
それほど多くない場合、1200個のパーツをダウンロード/結合しようとするのを避けるために、dinaの回答にいくつかの変更を加えました。
また、Chromeの[ネットワーク]タブでwaterfall
でソートすることも役立ちました。これは、ファイルがダウンロードされる時間でソートされるため、ビデオをストリーミングしている場合、最後にダウンロードされた部分が上部に表示され、.ts
リンクを簡単に見つけることができます。
#!/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