2016-01-30 19:43:28 +0000 2016-01-30 19:43:28 +0000
97
97

Como descarregar vídeo com blob url?

Estou a tentar descarregar vídeo com src url blob:https%3A//www.youtube.com/23aea5c8-9ae2-40dc-9417-e675ea99b386.

Existe algum processo que possa ser seguido para descarregar todo este tipo de vídeos?

Respostas (4)

74
74
74
2016-10-02 10:39:27 +0000

Encontrei uma forma de descarregar o vídeo com blob url em Vimeo (lendo aqui eu entendi como fazê-lo). Escrevo os passos simples aqui. Estou a utilizar o Google Chrome:

  1. Abra o More ToolsDeveloper Tools http://player.vimeo.com/video/XYZ
  2. Verifique se na etiqueta de vídeo existe algo como isto:

  3. Copie o src da tag do iframe, se existir, algo como https://skyfire.vimeocdn.com/.../master.json?base64_init=1 se o encontrou pode ir directamente para o ponto 7, caso contrário siga os passos 4, 5, 6.

  4. Agora procure esta string https://48skyfiregce-a.akamaihd.net/.../master.json?base64_init=1 dentro da página (usando a Developer View), deverá encontrá-la dentro de uma função javascript, como esta:

  5. Copie o link dentro do campo url num novo separador Chrome, por exemplo XYZ end abra-o com um browser, ele irá abrir-lhe um ficheiro json como este:

  6. Agora componha uma url com a sua id https://player.vimeo.com/video/XYZ como esta: blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

  7. Substitua &007 dentro da etiqueta de vídeo por aquela última url (a criada no passo anterior #6).

  8. Agora vai reparar que magicamente o campo src dentro da etiqueta de vídeo mudou (se não mudar, tente o passo 7 várias vezes)…

  9. Use esse novo link para baixá-lo diretamente, é algo parecido com isto https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg

11
11
11
2017-03-22 12:48:11 +0000

Esta resposta é para os URLs do Twitter -

  1. Clique com o botão direito no vídeo e clique em Inspect Elements -

Encontrará um código como este

<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.Copy Paste acima do código no bloco de notas +++. Substitua todos os &quot;* por " e \/ com /* no bloco de notas+++. (Use CTRL+H)

Você receberá algo como

&001

A partir do formato JSON acima, veja o valor video_url

&001

O problema aqui é que, depois de 1 de agosto de 2016, o Twitter não está mais usando . mp4, mas convertendo para um novo HLS, formato adaptativo-streaming, com uma extensão de ficheiro .m3u8*.

.m3u8 são basicamente apenas um invólucro de ficheiro de texto, são super pequenos (300-500 bytes), e quando os abre com um editor de texto, contêm links para diferentes tamanhos de vídeo

  1. Abra o arquivo m3u8 no bloco de notas++, ele conteria um código como este

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,RESOLUÇÃO=360x640,CODECS=“mp4a.40 .2,avc1.42001f” /ext_tw_video/844504104512749568/pu/pl/360x640/-Phfjbbx2yinirLi.m3u8*

  1. Copie a respectiva ligação de cima de acordo com a sua necessidade de resolução. Repita o mesmo passo até ter o ficheiro .ts. Descarregue o ficheiro *.ts*** (o ficheiro de vídeo).
10
10
10
2018-11-14 22:33:25 +0000
<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>

Eu também tinha blob: URL em video/@src, mas ao ver Developer tools > Network durante a reprodução verificou-se que video/source/@src era URL para a lista de reprodução de m3u8.

Um vídeo suportado por m3u8 pode ser facilmente descarregado por:

  • 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 soa como o binário que pretende obter mas pode haver uma forma mais fácil de obter o vídeo. Basta verificar o separador Rede nas ferramentas Dev enquanto reproduz o vídeo para ver o que está realmente a obter.

0
0
0
2017-09-26 14:09:05 +0000

Encontrei outra forma de descarregar um vídeo com blob url em Vimeo (veja a outra resposta nesta página).

** Esta solução só é adequada se quiser apenas o vídeo sem os sons!**

Então, se quiser descarregar ** apenas um vídeo Vimeo** (muitas vezes sem os sons), posso confirmar que esta extensão do Google Chrome funciona muito bem: Flash Video Downloader .