Jak pobrać wideo z blob url?
Próbuję pobrać wideo z src url blob:https%3A//www.youtube.com/23aea5c8-9ae2-40dc-9417-e675ea99b386
.
Czy istnieje proces, który można śledzić, aby pobrać wszystkie tego typu filmy?
Próbuję pobrać wideo z src url blob:https%3A//www.youtube.com/23aea5c8-9ae2-40dc-9417-e675ea99b386
.
Czy istnieje proces, który można śledzić, aby pobrać wszystkie tego typu filmy?
Znalazłem sposób na ściągnięcie filmu z blob url
w Vimeo
(czytając tutaj zrozumiałem jak to zrobić). Piszę tutaj proste kroki. Używam Google Chrome:
More Tools
→ Developer Tools
Sprawdź czy w znaczniku video jest coś takiego:
Skopiuj src tagu iframe, jeśli taki istnieje, coś takiego jak http://player.vimeo.com/video/XYZ
, jeśli go znalazłeś możesz przejść od razu do punktu 7, w przeciwnym razie postępuj zgodnie z punktami 4, 5, 6.
Teraz poszukaj tego łańcucha https://skyfire.vimeocdn.com/.../master.json?base64_init=1
wewnątrz strony (używając widoku dewelopera), powinieneś znaleźć go wewnątrz funkcji javascript, jak to:
Skopiuj link wewnątrz pola url na nowej zakładce Chrome, na przykład https://48skyfiregce-a.akamaihd.net/.../master.json?base64_init=1
otwórz go za pomocą przeglądarki, otworzy plik jsona, jak to:
Teraz skomponuj adres url z Twoim id XYZ
w następujący sposób: https://player.vimeo.com/video/XYZ
Zastąp blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
wewnątrz znacznika wideo tym ostatnim adresem url (ten utworzony w poprzednim kroku #6).
Teraz zauważysz, że magicznie zmieniło się pole src wewnątrz znacznika video (jeśli nie, spróbuj kilkakrotnie zrobić krok 7)…
Użyj tego nowego linku do bezpośredniego ściągnięcia go, to jest coś takiego https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg
Ta odpowiedź jest przeznaczona dla adresów URL Twittera -
Znajdziesz kod jak ten
<div id="playerContainer" class="player-container full-screen-enabled" data-config="{"is_360":false,"duration":28617,"scribe_widget_origin":true,"heartbeatEnabled":true,"video_url":"https:\/\/video.twimg.com\/ext_tw_video\/844504104512749568\/pu\/pl\/e91Du5N2TZ09ZaW_.m3u8","disable_embed":"0","videoInfo":{"title":null,"description":null,"publisher":{"screen_name":"MountainButorac","name":"Mountain Butorac","profile_image_url":"https:\/\/pbs.twimg.com\/profile_images\/808318456701521920\/vBvlAASx_normal.jpg"}},"cardUrl":"https:\/\/t.co\/SdSorop3uN","content_type":"application\/x-mpegURL","owner_id":"14120461","looping_enabled":true,"show_cookie_override_en":true,"visit_cta_url":null,"scribe_playlist_url":"https:\/\/twitter.com\/MountainButorac\/status\/844505243538931714\/video\/1","source_type":"consumer","image_src":"https:\/\/pbs.twimg.com\/ext_tw_video_thumb\/844504104512749568\/pu\/img\/FFt3qkbeOh0RlGfZ.jpg","heartbeatIntervalInMs":5000.0,"use_tfw_live_heartbeat_event_category":true,"video_loading_timeout":45000.0,"status":{"created_at":"Wed Mar 22 11:05:14 +0000 2017","id":844505243538931714,"id_str":"844505243538931714","text":"Took my Goddaughter to meet the pope. She stole his hat! https:\/\/t.co\/SdSorop3uN","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[],"media":[{"id":844504104512749568,"id_str":"844504104512749568","indices":[57,80],"media_url":"http:\/\/pbs.twimg.com\/ext_tw_video_thumb\/844504104512749568\/pu\/img\/FFt3qkbeOh0RlGfZ.jpg","media_url_https":"https:\/\/pbs.twimg.com\/ext_tw_video_thumb\/844504104512749568\/pu\/img\/FFt3qkbeOh0RlGfZ.jpg","url":"https:\/\/t.co\/SdSorop3uN","display_url":"pic.twitter.com\/SdSorop3uN","expanded_url":"https:\/\/twitter.com\/MountainButorac\/status\/844505243538931714\/video\/1","type":"photo","sizes":{"small":{"w":340,"h":604,"resize":"fit"},"thumb":{"w":150,"h":150,"resize":"crop"},"large":{"w":576,"h":1024,"resize":"fit"},"medium":{"w":576,"h":1024,"resize":"fit"}}}]},"source":"\u003ca href=```
{
"is_360": false,
"duration": 28617,
"scribe_widget_origin": true,
"heartbeatEnabled": true,
"video_url": "https://video.twimg.com/ext_tw_video/844504104512749568/pu/pl/e91Du5N2TZ09ZaW_.m3u8",
"disable_embed": "0",
"videoInfo": {
"title": null,
"description": null,
"publisher": {
"screen_name": "MountainButorac",
"name": "Mountain Butorac",
"profile_image_url": "https://pbs.twimg.com/profile_images/808318456701521920/vBvlAASx_normal.jpg"
}
},
"cardUrl": "https://t.co/SdSorop3uN",
"content_type": "application/x-mpegURL",
"owner_id": "14120461",
"looping_enabled": true,
"show_cookie_override_en": true,
"visit_cta_url": null,
"scribe_playlist_url": "https://twitter.com/MountainButorac/status/844505243538931714/video/1",
"source_type": "consumer",
"image_src": "https://pbs.twimg.com/ext_tw_video_thumb/844504104512749568/pu/img/FFt3qkbeOh0RlGfZ.jpg",
"heartbeatIntervalInMs": 5000.0,
"use_tfw_live_heartbeat_event_category": true,
"video_loading_timeout": 45000.0,
"status": {
"created_at": "Wed Mar 22 11:05:14 +0000 2017",
"id": 844505243538931714,
"id_str": "844505243538931714",
"text": "Took my Goddaughter to meet the pope. She stole his hat! https://t.co/SdSorop3uN",
"truncated": false,
"entities": {
"hashtags": [],
"symbols": [],
"user_mentions": [],
"urls": [],
"media": [{
"id": 844504104512749568,
"id_str": "844504104512749568",
"indices": [57, 80],
"media_url": "http://pbs.twimg.com/ext_tw_video_thumb/844504104512749568/pu/img/FFt3qkbeOh0RlGfZ.jpg",
"media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/844504104512749568/pu/img/FFt3qkbeOh0RlGfZ.jpg",
"url": "https://t.co/SdSorop3uN",
"display_url": "pic.twitter.com/SdSorop3uN",
"expanded_url": "https://twitter.com/MountainButorac/status/844505243538931714/video/1",
"type": "photo",
"sizes": {
"small": {
"w": 340,
"h": 604,
"resize": "fit"
},
"thumb": {
"w": 150,
"h": 150,
"resize": "crop"
},
"large": {
"w": 576,
"h": 1024,
"resize": "fit"
},
"medium": {
"w": 576,
"h": 1024,
"resize": "fit"
}
}
}]
},
"source": "\u003ca href=\"http://twitter.com/download/iphone\" rel=\"nofollow\"\u003eTwitter for iPhone\u003c/a\u003e",
"in_reply_to_status_id": null,
"in_reply_to_status_id_str": null,
"in_reply_to_user_id": null,
"in_reply_to_user_id_str": null,
"in_reply_to_screen_name": null,
"geo": null,
"coordinates": null,
"place": null,
"contributors": null,
"retweet_count": 0,
"favorite_count": 0,
"favorited": false,
"retweeted": false,
"possibly_sensitive": false,
"lang": "en"
},
"show_cookie_override_all": true,
"video_session_enabled": false,
"media_id": "844504104512749568",
"view_counts": null,
"statusTimestamp": {
"local": "4:05 AM - 22 Mar 2017"
},
"media_type": 1,
"user": {
"screen_name": "MountainButorac",
"name": "Mountain Butorac",
"profile_image_url": "https://pbs.twimg.com/profile_images/808318456701521920/vBvlAASx_bigger.jpg"
},
"watch_now_cta_url": null,
"tweet_id": "844505243538931714"
}
```quot;http:\/\/twitter.com\/download\/iphone```
https://video.twimg.com/ext_tw_video/844504104512749568/pu/pl/e91Du5N2TZ09ZaW_.m3u8
```quot; rel=&001quot;nofollow&001quot;\u003eTwitter for iPhone\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"geo":null,"coordinates":null,"place":null,"contributors":null,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"possibly_sensitive":false,"lang":"en"},"show_cookie_override_all":true,"video_session_enabled":false,"media_id":"844504104512749568","view_counts":null,"statusTimestamp":{"local":"4:05 AM - 22 Mar 2017"},"media_type":1,"user":{"screen_name":"MountainButorac","name":"Mountain Butorac","profile_image_url":"https:\/\/pbs.twimg.com\/profile_images\/808318456701521920\/vBvlAASx_bigger.jpg"},"watch_now_cta_url":null,"tweet_id":"844505243538931714"}" data-source-type="consumer">
2.Skopiuj Powyższy kod w notatniku++. Zastąp wszystkie "
z "
i \/
z /
w notatniku++. (Użyj CTRL+H)
Dostaniesz coś w stylu
&001
Od góry format JSON, zobacz wartość video_url
&001
Tutaj jest, po 1 sierpnia 2016, Twitter nie używa już . Wideo mp4, ale konwersja do nowego formatu HLS, adaptacyjny strumień, z rozszerzeniem pliku .m3u8.
.m3u8 pliki są w zasadzie tylko opakowaniem pliku tekstowego, są super małe (300-500 bajtów), a kiedy otworzysz je za pomocą edytora tekstowego, zawierają linki do różnych rozmiarów wideo
EXTM3U EXT-X-INDEPENDENT-SEGMENTS EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=256000,RESOLUTION=180x320,CODECS=“mp4a.40 .2,avc1.42001f” /ext\_tw_video/844504104512749568/pu/pl/180x320/_Z42SY5zwMlLdFYx.m3u8 EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=832000,REZOLUCJA=360x640,CODECS=“mp4a.40 .2,avc1.42001f” /ext\_tw_video/844504104512749568/pu/pl/360x640/-Phfjbbx2yinirLi.m3u8
<video src="blob:https://www.example.tv/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx">
<source src="https://cdn.example.tv/api/media/tv/xyzxyz/index" type="application/x-mpegurl">
</video>
W blob:
miałem też URL video/@src
, ale oglądając Developer tools
> Network
podczas odtwarzania okazało się, że video/source/@src
to URL do listy odtwarzania m3u8
.
Filmik zwrotny m3u8
może być łatwo pobrany przez:
ffplay -i "https://cdn.example.tv/api/media/tv/xyzxyz/1080/index.m3u8"
ffmpeg -i "https://cdn.example.tv/api/media/tv/xyzxyz/1080/index.m3u8" -codec copy file.mkv
tl;dr - blob URL brzmi jak binarny, który chcesz dostać, ale może być łatwiejszy sposób, aby uzyskać film. Po prostu sprawdź zakładkę Sieć w narzędziach Dev podczas odtwarzania filmu, aby zobaczyć co tak naprawdę pobierasz.
Znalazłem inny sposób na pobranie wideo z blob url
w Vimeo
(patrz inna odpowiedź na tej stronie).
To rozwiązanie jest odpowiednie tylko wtedy, gdy chcesz tylko wideo bez dźwięków!
Więc, jeśli chcesz pobrać tylko wideo Vimeo (często bez dźwięków), mogę potwierdzić, że to rozszerzenie Google Chrome działa naprawdę dobrze: Flash Video Downloader .