Я пытаюсь скачать видео с src url blob:https%3A//www.youtube.com/23aea5c8-9ae2-40dc-9417-e675ea99b386
.
Есть ли процесс, который можно использовать для загрузки всех видео этого типа?
Я пытаюсь скачать видео с src url blob:https%3A//www.youtube.com/23aea5c8-9ae2-40dc-9417-e675ea99b386
.
Есть ли процесс, который можно использовать для загрузки всех видео этого типа?
Ответы:
Я нашел способ скачать видео с blob url
in Vimeo
(читая здесь, я понял, как это сделать). Я пишу простые шаги здесь. Я использую Google Chrome:
More Tools
→Developer Tools
Проверьте, есть ли в теге видео что-то вроде этого:
<video preload="" src="blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"></video>
http://player.vimeo.com/video/XYZ
если вы его нашли, вы можете перейти прямо к точке 7, в противном случае выполните шаги 4, 5, 6.Теперь найдите эту строку https://skyfire.vimeocdn.com/.../master.json?base64_init=1
внутри страницы (используя представление разработчика), вы должны найти ее внутри функции javascript, например:
(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":"
Скопируйте ссылку в поле url на новой вкладке Chrome, например, https://48skyfiregce-a.akamaihd.net/.../master.json?base64_init=1
откройте ее в браузере, она откроет вам файл json, например:
{
"clip_id": XYZ,
"base_url": "../",
"video": [
{ ... ... ...
Теперь составьте URL с вашим идентификатором, XYZ
например так:https://player.vimeo.com/video/XYZ
blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
внутри тега video этот последний URL (тот, который был создан на предыдущем шаге № 6).Теперь вы заметите, что волшебным образом изменилось поле src внутри тега video (если это не так, попробуйте выполнить шаг 7 несколько раз) ...
<video preload="none" src="https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg"></video>
Используйте эту новую ссылку, чтобы загрузить ее напрямую, это примерно так: https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg
<video>
тег в структуре DOM dev tools и измените src
атрибут с blob:...
на x
. Ничего не случится - это нормально. Теперь измените это снова, чтобы y
. Chrome преобразует его «волшебным образом» в URL-адрес, как в шаге 8 или 9. :-)
Этот ответ для URL-адресов Twitter -
Вы найдете такой код
<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. Скопируйте Вставьте приведенный выше код в блокнот ++. Замените все "
с "
и \/
wth /
в блокноте ++. (Используйте CTRL + H)
Вы получите что-то вроде
{
"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"
}
Сверху в формате JSON смотрите значение video_url
https://video.twimg.com/ext_tw_video/844504104512749568/pu/pl/e91Du5N2TZ09ZaW_.m3u8
Проблема здесь в том, что после 1 августа 2016 года Twitter больше не использует видео с расширением .mp4, а переходит на новый формат адаптивной потоковой передачи HLS с расширением .m3u8 .
Файлы .m3u8 - это просто оболочка для текстовых файлов, они очень маленькие (300-500 байт), и когда вы открываете их в текстовом редакторе, они содержат ссылки на видео разных размеров.
EXTM3U EXT-X-НЕЗАВИСИМЫЕ-СЕГМЕНТЫ EXT-X-STREAM-INF: ИД ПРОГРАММЫ = 1, BANDWIDTH = 256000, РАЗРЕШЕНИЕ = 180x320, КОДЕКИ = "mp4a.40.2, avc1.42001f" / ext_tw_video / 844504104512 / pl / pl / p5 / 749568 180x320 / _Z42SY5zwMlLdFYx.m3u8 EXT-X-STREAM-INF: ИД ПРОГРАММЫ = 1, BANDWIDTH = 832000, РАЗРЕШЕНИЕ = 360x640, КОДЕКСЫ = "mp4a.40.2, avc1.42001f" / ext_tw_video / pu / 360610458454104 Phfjbbx2yinirLi.m3u8
<div id="playerContainer"
id="playerContainer"
элемент, найдите og:video:url
и откройте URL-адрес в содержимом и проверьте его источник.
document.querySelector('video').src
вкладку консоли инструментов разработчика вашего браузера.
<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>
У меня также был blob:
URL video/@src
, но при просмотре Developer tools
> Network
во время воспроизведения выяснилось, что это video/source/@src
был URL для m3u8
плейлиста.
m3u8
-Backed видео можно легко скачать, либо:
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 звучит как двоичный файл, который вы хотите получить, но может быть более простой способ получить видео. Просто просмотрите вкладку «Сеть» в инструментах разработчика во время воспроизведения видео, чтобы увидеть, что вы на самом деле получаете.
-i <URL> -i <URL> -i <URL>
для объединения видео, аудио и субтитров в один выход :)
m3u8
metalist (то есть файл m3u8, ссылающийся на другие файлы m3u8), и ffmpeg загрузит и объединит его правильно, поэтому вам не нужно вручную указывать несколько входов -i
.
Я нашел другой способ загрузить видео с помощью blob url
in Vimeo
(см. Другой ответ на этой странице).
Это решение подходит только если вы хотите просто видео без звуков!
Итак, если вы хотите загрузить только видео Vimeo (часто без звуков), я могу подтвердить, что это расширение Google Chrome действительно хорошо работает: Flash Video Downloader .