BLOB URL로 비디오를 다운로드하는 방법은 무엇입니까?


94

src url으로 비디오를 다운로드하려고합니다 blob:https%3A//www.youtube.com/23aea5c8-9ae2-40dc-9417-e675ea99b386.

이 모든 유형의 비디오를 다운로드 할 수있는 프로세스가 있습니까?


YouTube 비디오를 다운로드하려면 Video Downloadhelper (Firefox)
Ganesh R.

vimeo url에서 다운로드하고 싶습니다.
vinesh

Vinesh, vimeo 웹 사이트로 이동하여 다운로드해야하는 비디오 재생을 시작하십시오. Video DownloadHelper가이를 감지하여 다운로드 할 수있는 옵션을 제공합니다. 나는 그것을 시도했다.
Ganesh R.

불운. 비디오 재생을 시작했을 때 약 2MB 각각의 확장 프로그램에서 여러 비디오 제안을 보았습니다. 파트를 다운로드 할 때 작은 파일을 재생할 수 없었습니다. 파일이 손상되었다는 오류가 발생했습니다.
vinesh

댓글에 링크를
Ganesh R.

답변:


69

에서 비디오를 다운로드하는 방법을 찾았 blob url습니다 Vimeo( 여기 에서 어떻게하는지 이해했습니다). 여기에 간단한 단계를 씁니다. Chrome을 사용하고 있습니다.

  1. 열기 More Tools→를Developer Tools
  2. 비디오 태그에 다음과 같은 것이 있는지 확인하십시오.

    <video preload="" src="blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"></video>
    
  3. iframe 태그의 src를 복사하면 http://player.vimeo.com/video/XYZ7 포인트로 바로 이동할 수 있습니다. 그렇지 않으면 4, 5, 6 단계를 따르십시오.
  4. 이제 https://skyfire.vimeocdn.com/.../master.json?base64_init=1개발자 뷰를 사용하여 페이지 내 에서이 문자열 을 찾으면 다음과 같이 자바 스크립트 함수에서 찾을 수 있습니다.

    (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":"
    
  5. 새 Chrome 탭의 url 필드 안에 링크를 복사하십시오. 예를 들어 https://48skyfiregce-a.akamaihd.net/.../master.json?base64_init=1브라우저에서 링크를 열면 다음과 같이 json 파일이 열립니다.

    {
        "clip_id": XYZ,
        "base_url": "../",
        "video": [
                     { ... ... ...
    
  6. 이제 다음과 같이 아이디로 URL을 작성 XYZ하십시오.https://player.vimeo.com/video/XYZ

  7. blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX동영상 태그 내부를 마지막 URL (이전 단계 # 6에서 생성 된 URL)로 교체하십시오 .
  8. 이제 비디오 태그 내부의 src 필드가 마술처럼 변경되었음을 알 수 있습니다 (그렇지 않으면 7 단계를 여러 번 시도하십시오) ...

    <video preload="none" src="https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg"></video>
    
  9. 새 링크를 사용하여 직접 다운로드하면 https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg


7
감동적인. 어떻게 알아 냈어?
gronostaj

1
7 단계에서 "html의 마지막 URL"은 무엇을 의미합니까?
joaorodr84

6
완벽하게 작동하지만 간혹 다운로드 링크를 생성하기 위해 "src"값을 여러 번 바꿔야하는 경우가 있습니다.
Ashrith

19
현재 Vimeo의 경우 훨씬 쉽고 모든 단계가 필요하지 않습니다. Vimeo 비디오를 열고 <video>dev 도구 DOM 구조에서 태그를 찾은 다음 src속성을에서 blob:...로 변경하십시오 x. 아무 일도 일어나지 않을 것입니다-괜찮습니다. 이제로 다시 변경하십시오 y. Chrome은 8 단계 또는 9 단계와 같이 URL을 '
매직

3
@StanE Firefox에서도 매력처럼 작동하며 확실히 빠릅니다 ...
ling

10

이 답변은 트위터 URL에 대한 것입니다-

  1. 비디오를 마우스 오른쪽 버튼으로 클릭하고 요소 검사-

이 같은 코드를 찾을 수 있습니다

<div id="playerContainer" class="player-container full-screen-enabled" data-config="{&quot;is_360&quot;:false,&quot;duration&quot;:28617,&quot;scribe_widget_origin&quot;:true,&quot;heartbeatEnabled&quot;:true,&quot;video_url&quot;:&quot;https:\/\/video.twimg.com\/ext_tw_video\/844504104512749568\/pu\/pl\/e91Du5N2TZ09ZaW_.m3u8&quot;,&quot;disable_embed&quot;:&quot;0&quot;,&quot;videoInfo&quot;:{&quot;title&quot;:null,&quot;description&quot;:null,&quot;publisher&quot;:{&quot;screen_name&quot;:&quot;MountainButorac&quot;,&quot;name&quot;:&quot;Mountain Butorac&quot;,&quot;profile_image_url&quot;:&quot;https:\/\/pbs.twimg.com\/profile_images\/808318456701521920\/vBvlAASx_normal.jpg&quot;}},&quot;cardUrl&quot;:&quot;https:\/\/t.co\/SdSorop3uN&quot;,&quot;content_type&quot;:&quot;application\/x-mpegURL&quot;,&quot;owner_id&quot;:&quot;14120461&quot;,&quot;looping_enabled&quot;:true,&quot;show_cookie_override_en&quot;:true,&quot;visit_cta_url&quot;:null,&quot;scribe_playlist_url&quot;:&quot;https:\/\/twitter.com\/MountainButorac\/status\/844505243538931714\/video\/1&quot;,&quot;source_type&quot;:&quot;consumer&quot;,&quot;image_src&quot;:&quot;https:\/\/pbs.twimg.com\/ext_tw_video_thumb\/844504104512749568\/pu\/img\/FFt3qkbeOh0RlGfZ.jpg&quot;,&quot;heartbeatIntervalInMs&quot;:5000.0,&quot;use_tfw_live_heartbeat_event_category&quot;:true,&quot;video_loading_timeout&quot;:45000.0,&quot;status&quot;:{&quot;created_at&quot;:&quot;Wed Mar 22 11:05:14 +0000 2017&quot;,&quot;id&quot;:844505243538931714,&quot;id_str&quot;:&quot;844505243538931714&quot;,&quot;text&quot;:&quot;Took my Goddaughter to meet the pope. She stole his hat! https:\/\/t.co\/SdSorop3uN&quot;,&quot;truncated&quot;:false,&quot;entities&quot;:{&quot;hashtags&quot;:[],&quot;symbols&quot;:[],&quot;user_mentions&quot;:[],&quot;urls&quot;:[],&quot;media&quot;:[{&quot;id&quot;:844504104512749568,&quot;id_str&quot;:&quot;844504104512749568&quot;,&quot;indices&quot;:[57,80],&quot;media_url&quot;:&quot;http:\/\/pbs.twimg.com\/ext_tw_video_thumb\/844504104512749568\/pu\/img\/FFt3qkbeOh0RlGfZ.jpg&quot;,&quot;media_url_https&quot;:&quot;https:\/\/pbs.twimg.com\/ext_tw_video_thumb\/844504104512749568\/pu\/img\/FFt3qkbeOh0RlGfZ.jpg&quot;,&quot;url&quot;:&quot;https:\/\/t.co\/SdSorop3uN&quot;,&quot;display_url&quot;:&quot;pic.twitter.com\/SdSorop3uN&quot;,&quot;expanded_url&quot;:&quot;https:\/\/twitter.com\/MountainButorac\/status\/844505243538931714\/video\/1&quot;,&quot;type&quot;:&quot;photo&quot;,&quot;sizes&quot;:{&quot;small&quot;:{&quot;w&quot;:340,&quot;h&quot;:604,&quot;resize&quot;:&quot;fit&quot;},&quot;thumb&quot;:{&quot;w&quot;:150,&quot;h&quot;:150,&quot;resize&quot;:&quot;crop&quot;},&quot;large&quot;:{&quot;w&quot;:576,&quot;h&quot;:1024,&quot;resize&quot;:&quot;fit&quot;},&quot;medium&quot;:{&quot;w&quot;:576,&quot;h&quot;:1024,&quot;resize&quot;:&quot;fit&quot;}}}]},&quot;source&quot;:&quot;\u003ca href=\&quot;http:\/\/twitter.com\/download\/iphone\&quot; rel=\&quot;nofollow\&quot;\u003eTwitter for iPhone\u003c\/a\u003e&quot;,&quot;in_reply_to_status_id&quot;:null,&quot;in_reply_to_status_id_str&quot;:null,&quot;in_reply_to_user_id&quot;:null,&quot;in_reply_to_user_id_str&quot;:null,&quot;in_reply_to_screen_name&quot;:null,&quot;geo&quot;:null,&quot;coordinates&quot;:null,&quot;place&quot;:null,&quot;contributors&quot;:null,&quot;retweet_count&quot;:0,&quot;favorite_count&quot;:0,&quot;favorited&quot;:false,&quot;retweeted&quot;:false,&quot;possibly_sensitive&quot;:false,&quot;lang&quot;:&quot;en&quot;},&quot;show_cookie_override_all&quot;:true,&quot;video_session_enabled&quot;:false,&quot;media_id&quot;:&quot;844504104512749568&quot;,&quot;view_counts&quot;:null,&quot;statusTimestamp&quot;:{&quot;local&quot;:&quot;4:05 AM - 22 Mar 2017&quot;},&quot;media_type&quot;:1,&quot;user&quot;:{&quot;screen_name&quot;:&quot;MountainButorac&quot;,&quot;name&quot;:&quot;Mountain Butorac&quot;,&quot;profile_image_url&quot;:&quot;https:\/\/pbs.twimg.com\/profile_images\/808318456701521920\/vBvlAASx_bigger.jpg&quot;},&quot;watch_now_cta_url&quot;:null,&quot;tweet_id&quot;:&quot;844505243538931714&quot;}" data-source-type="consumer">

2. 위 코드를 메모장 ++에 붙여 넣습니다. 모두 바꾸기 &quot;"하고 \/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

여기서 문제는 2016 년 8 월 1 일 이후 Twitter가 더 이상 .mp4 비디오를 사용하지 않고 파일 확장자 가 .m3u8 인 새로운 HLS 적응 스트리밍 형식으로 변환하는 것 입니다.

.m3u8 파일은 기본적으로 텍스트 파일 포장지이며 매우 작으며 (300-500 바이트) 텍스트 편집기로 파일을 열면 서로 다른 비디오 크기에 대한 링크가 포함됩니다

  1. notepad ++에서 m3u8 파일을 엽니 다.

EXTM3U EXT-X 독립적 인 구문 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, RESOLUTION = 360x640, CODECS = "mp4a.40.2, avc1.42001f" / ext_tw_video / 844504104512749568 / pu / pl / 360 / Phfjbbx2yinirLi.m3u8

  1. 해상도 필요에 따라 위의 각 링크를 복사하십시오. .ts 파일 이 될 때까지 동일한 단계를 반복 하십시오. .ts 파일 (비디오 파일)을 다운로드하십시오 .

어디에서 "같은 것을 얻을 것"이란 무엇입니까?
사용자

위의 코드에서 @User처럼 시작<div id="playerContainer"
Pirate X

3
4 단계에서 "각 링크 복사"란 무엇을 의미합니까? 유효한 URL이 아니며 동영상을 얻는 방법을 찾을 수 없습니다. 편집 : 좋아, 알았어. " video.twimg.com "을 앞에두고 URL에 액세스 해야한다는 것을 언급해야합니다 .
Elzo

id="playerContainer"요소를 찾을 수 없으면 og:video:url컨텐츠에서 URL 을 찾아서 열고 해당 소스를 검사하십시오.
guillefix

트위터에서 그것을하는 또 다른 방법 은 document.querySelector('video').src브라우저 개발자 도구 콘솔 탭에서 실행 하는 것입니다.
Farzad YZ

8
<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/@srcURL 인 것으로 나타났습니다 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은 원하는 바이너리처럼 들리지만 비디오를 얻는 더 쉬운 방법이있을 수 있습니다. 비디오를 재생하는 동안 개발자 도구에서 네트워크 탭을 확인하면 실제로 가져 오는 내용을 볼 수 있습니다.


1
내 컴퓨터에서 작동합니다! -i <URL> -i <URL> -i <URL>비디오, 오디오 및 자막을 모두 하나의 출력으로 병합하기 위해 여러 종류의 스트림 입력을 제공 할 수 있습니다.)
mcandre

@mcandre 예, 좋은 팁입니다. 또한 m3u8 metalist (예 : 다른 m3u8 파일을 참조하는 m3u8 파일)를 찾을 수 있으며 ffmpeg가 해당 파일을 제대로 다운로드하여 병합하므로 여러 입력을 수동으로 지정할 필요가 없습니다 -i.
Vlastimil Ovčáčík

0

에서 비디오를 다운로드하는 다른 방법을 찾았 blob url습니다 Vimeo( 이 페이지 의 다른 답변 참조).

이 솔루션은 소리가없는 비디오 만 원하는 경우에만 적합합니다!

따라서 Vimeo 비디오 (사운드 없음) 다운로드하려는 경우이 Chrome 확장 프로그램 ( Flash Video Downloader) 이 제대로 작동하는지 확인할 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.