Я пытаюсь скачать видео с 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 urlin 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.mkvtl; dr - blob URL звучит как двоичный файл, который вы хотите получить, но может быть более простой способ получить видео. Просто просмотрите вкладку «Сеть» в инструментах разработчика во время воспроизведения видео, чтобы увидеть, что вы на самом деле получаете.
-i <URL> -i <URL> -i <URL>для объединения видео, аудио и субтитров в один выход :)
m3u8 metalist (то есть файл m3u8, ссылающийся на другие файлы m3u8), и ffmpeg загрузит и объединит его правильно, поэтому вам не нужно вручную указывать несколько входов -i.
Я нашел другой способ загрузить видео с помощью blob urlin Vimeo(см. Другой ответ на этой странице).
Это решение подходит только если вы хотите просто видео без звуков!
Итак, если вы хотите загрузить только видео Vimeo (часто без звуков), я могу подтвердить, что это расширение Google Chrome действительно хорошо работает: Flash Video Downloader .