Próbuję pobrać wideo za pomocą src url blob:https%3A//www.youtube.com/23aea5c8-9ae2-40dc-9417-e675ea99b386.
Czy istnieje proces, który można wykonać, aby pobrać wszystkie tego typu filmy?
Próbuję pobrać wideo za pomocą src url blob:https%3A//www.youtube.com/23aea5c8-9ae2-40dc-9417-e675ea99b386.
Czy istnieje proces, który można wykonać, aby pobrać wszystkie tego typu filmy?
Odpowiedzi:
Znalazłem sposób na pobranie wideo za pomocą blob urlin Vimeo(czytając tutaj zrozumiałem, jak to zrobić). Piszę tutaj proste kroki. Używam Google Chrome:
More Tools→Developer ToolsSprawdź, czy w tagu wideo jest coś takiego:
<video preload="" src="blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"></video>
http://player.vimeo.com/video/XYZjeśli go znalazłeś, możesz przejść bezpośrednio do punktu 7, w przeciwnym razie wykonaj kroki 4, 5, 6.Teraz poszukaj tego ciągu https://skyfire.vimeocdn.com/.../master.json?base64_init=1na stronie (używając Widoku programisty), powinieneś go znaleźć wewnątrz funkcji javascript, jak to:
(function(e,a){var t={"cdn_url":"https://f.vimeocdn.com","view":1,"request":{"files":{"dash":{"origin":"gcs","url":"https://48skyfiregce-a.akamaihd.net/.../master.json?base64_init=1","cdn":"
Skopiuj link w polu adresu URL na nowej karcie Chrome, na przykład https://48skyfiregce-a.akamaihd.net/.../master.json?base64_init=1otwórz go w przeglądarce, otworzy Ci się plik json taki jak ten:
{
"clip_id": XYZ,
"base_url": "../",
"video": [
{ ... ... ...
Teraz utwórz adres URL ze swoim identyfikatorem w XYZten sposób:https://player.vimeo.com/video/XYZ
blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXwewnątrz tagu wideo na ostatni adres URL (ten utworzony w poprzednim kroku # 6).Teraz zauważysz, że magicznie zmieniło się pole src wewnątrz tagu wideo (jeśli nie, spróbuj krok 7 wiele razy) ...
<video preload="none" src="https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg"></video>
Użyj tego nowego linku, aby pobrać bezpośrednio, to coś takiego: https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg
<video>znacznik w strukturze DOM narzędzi deweloperskich i zmienić srcatrybut z blob:...na x. Nic się nie stanie - w porządku. Teraz zmień to ponownie, na y. Chrome przekształci go „magicznie” na adres URL, jak w kroku 8 lub 9. :-)
Ta odpowiedź dotyczy adresów URL na Twitterze -
Znajdziesz taki kod
<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=\"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"}" data-source-type="consumer">
2. Kopiuj Wklej powyżej kodu w notatniku ++. Wymień wszystkie "z "i \/WTH /w Notepad ++. (Użyj CTRL + H)
Dostaniesz coś takiego
{
"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"
}
Z powyższego formatu JSON zobacz wartość video_url
https://video.twimg.com/ext_tw_video/844504104512749568/pu/pl/e91Du5N2TZ09ZaW_.m3u8
Problem polega na tym, że po 1 sierpnia 2016 r. Twitter nie używa już filmów .mp4, ale konwertuje do nowego formatu HLS, adaptacyjnego przesyłania strumieniowego, z rozszerzeniem pliku .m3u8 .
Pliki .m3u8 są w zasadzie tylko opakowaniem plików tekstowych, są bardzo małe (300-500 bajtów), a po otwarciu w edytorze tekstu zawierają łącza do różnych rozmiarów wideo
EXTM3U EXT-X-INDEPENDENT-SEGMENTS EXT-X-STREAM-INF: ID-PROGRAMU = 1, SZEROKOŚĆ PASMA = 256000, ROZDZIELCZOŚĆ = 180x320, KODEKS = "mp4a.40.2, avc1.42001f" / ext_tw_video / 844504104512749568 / pu 180x320 / _Z42SY5zwMlLdFYx.m3u8 EXT-X-STREAM-INF: ID-PROGRAMU = 1, SZEROKOŚĆ PASMA = 832000, ROZDZIELCZOŚĆ = 360x640, KODEKS = "mp4a.40.2, avc1.42001f" / ext_tw_video / 844504104512 Phfjbbx2yinirLi.m3u8
<div id="playerContainer"
id="playerContainer"elementu, poszukaj og:video:urli otwórz adres URL w treści oraz sprawdź jego źródło.
document.querySelector('video').srcw konsoli konsoli narzędzi programisty przeglądarki.
<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>
Miałem też blob:adres URL video/@src, ale oglądając Developer tools> Networkpodczas odtwarzania okazało się, że video/source/@srcbył to adres URL m3u8listy odtwarzania.
Film z m3u8kopią zapasową można łatwo pobrać:
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.mkvtl; dr - adres URL obiektu blob brzmi jak plik binarny, który chcesz uzyskać, ale może być łatwiejszy sposób na uzyskanie wideo. Wystarczy sprawdzić kartę Sieć w narzędziach programistycznych podczas odtwarzania wideo, aby zobaczyć, co faktycznie pobierasz.
-i <URL> -i <URL> -i <URL>aby połączyć wideo, audio i napisy w jednym wyjściu :)
m3u8 Metalist (tj M3U8 plik odnosząc inne pliki M3U8) i ffmpeg będzie pobrać i scalić je prawidłowo, więc nie trzeba ręcznie określić wiele wejść -i.
Znalazłem inny sposób na pobranie wideo za pomocą blob urlin Vimeo(zobacz inną 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 .