How to download video with blob url?
up vote
78
down vote
favorite
I am trying to download video with src url blob:https%3A//www.youtube.com/23aea5c8-9ae2-40dc-9417-e675ea99b386.
Is there a process that can be followed to download all this type of videos?
download
|
show 8 more comments
up vote
78
down vote
favorite
I am trying to download video with src url blob:https%3A//www.youtube.com/23aea5c8-9ae2-40dc-9417-e675ea99b386.
Is there a process that can be followed to download all this type of videos?
download
If you want to download youtube videos use extenstions like Video Downloadhelper (Firefox)
– Ganesh R.
Jan 30 '16 at 22:42
i want to download from vimeo url.
– vinesh
Jan 31 '16 at 2:48
Vinesh, try navigating to vimeo website and start playing the video you require to download. Video DownloadHelper will detect it and give you an option to download it. I tried it.
– Ganesh R.
Jan 31 '16 at 6:09
I will give it a try. Thanks Ganesh.
– vinesh
Jan 31 '16 at 14:34
No Luck. when I started playing video, I saw multiple video suggestion from the extension you mentioned each of around 2 MB. when I downloaded a part, I was not able to play that small file. I was getting error that file is corrupt.
– vinesh
Feb 1 '16 at 6:42
|
show 8 more comments
up vote
78
down vote
favorite
up vote
78
down vote
favorite
I am trying to download video with src url blob:https%3A//www.youtube.com/23aea5c8-9ae2-40dc-9417-e675ea99b386.
Is there a process that can be followed to download all this type of videos?
download
I am trying to download video with src url blob:https%3A//www.youtube.com/23aea5c8-9ae2-40dc-9417-e675ea99b386.
Is there a process that can be followed to download all this type of videos?
download
download
edited May 11 '16 at 9:22
fixer1234
17.4k144281
17.4k144281
asked Jan 30 '16 at 19:43
vinesh
513269
513269
If you want to download youtube videos use extenstions like Video Downloadhelper (Firefox)
– Ganesh R.
Jan 30 '16 at 22:42
i want to download from vimeo url.
– vinesh
Jan 31 '16 at 2:48
Vinesh, try navigating to vimeo website and start playing the video you require to download. Video DownloadHelper will detect it and give you an option to download it. I tried it.
– Ganesh R.
Jan 31 '16 at 6:09
I will give it a try. Thanks Ganesh.
– vinesh
Jan 31 '16 at 14:34
No Luck. when I started playing video, I saw multiple video suggestion from the extension you mentioned each of around 2 MB. when I downloaded a part, I was not able to play that small file. I was getting error that file is corrupt.
– vinesh
Feb 1 '16 at 6:42
|
show 8 more comments
If you want to download youtube videos use extenstions like Video Downloadhelper (Firefox)
– Ganesh R.
Jan 30 '16 at 22:42
i want to download from vimeo url.
– vinesh
Jan 31 '16 at 2:48
Vinesh, try navigating to vimeo website and start playing the video you require to download. Video DownloadHelper will detect it and give you an option to download it. I tried it.
– Ganesh R.
Jan 31 '16 at 6:09
I will give it a try. Thanks Ganesh.
– vinesh
Jan 31 '16 at 14:34
No Luck. when I started playing video, I saw multiple video suggestion from the extension you mentioned each of around 2 MB. when I downloaded a part, I was not able to play that small file. I was getting error that file is corrupt.
– vinesh
Feb 1 '16 at 6:42
If you want to download youtube videos use extenstions like Video Downloadhelper (Firefox)
– Ganesh R.
Jan 30 '16 at 22:42
If you want to download youtube videos use extenstions like Video Downloadhelper (Firefox)
– Ganesh R.
Jan 30 '16 at 22:42
i want to download from vimeo url.
– vinesh
Jan 31 '16 at 2:48
i want to download from vimeo url.
– vinesh
Jan 31 '16 at 2:48
Vinesh, try navigating to vimeo website and start playing the video you require to download. Video DownloadHelper will detect it and give you an option to download it. I tried it.
– Ganesh R.
Jan 31 '16 at 6:09
Vinesh, try navigating to vimeo website and start playing the video you require to download. Video DownloadHelper will detect it and give you an option to download it. I tried it.
– Ganesh R.
Jan 31 '16 at 6:09
I will give it a try. Thanks Ganesh.
– vinesh
Jan 31 '16 at 14:34
I will give it a try. Thanks Ganesh.
– vinesh
Jan 31 '16 at 14:34
No Luck. when I started playing video, I saw multiple video suggestion from the extension you mentioned each of around 2 MB. when I downloaded a part, I was not able to play that small file. I was getting error that file is corrupt.
– vinesh
Feb 1 '16 at 6:42
No Luck. when I started playing video, I saw multiple video suggestion from the extension you mentioned each of around 2 MB. when I downloaded a part, I was not able to play that small file. I was getting error that file is corrupt.
– vinesh
Feb 1 '16 at 6:42
|
show 8 more comments
4 Answers
4
active
oldest
votes
up vote
59
down vote
I found a way to download the video with blob url in Vimeo (reading here i understood how doing it). I write the simple steps here.
I'm using Google Chrome:
- Open the
More Tools→Developer Tools
Check if in the video tag there is something like this:
<video preload="" src="blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"></video>
- Copy the src of the iframe tag, if any, something like
http://player.vimeo.com/video/XYZif you found it you can go straight to the point 7, otherwise follow steps 4, 5, 6.
Now look for this string
https://skyfire.vimeocdn.com/.../master.json?base64_init=1inside the page (using the Developer View), you should found it inside a javascript function, like this:
(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":"
Copy the link inside the url field on a new Chrome tab, for example
https://48skyfiregce-a.akamaihd.net/.../master.json?base64_init=1end open it with a browser, it will open you a json file like this:
{
"clip_id": XYZ,
"base_url": "../",
"video": [
{ ... ... ...
Now compose a url with your id
XYZlike this:https://player.vimeo.com/video/XYZ- Replace
blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXinside the video tag with that last url (the one created in the previous step #6).
Now you will notice that magically the src field inside of the video tag changed (if it does not, try step 7 multiple times)...
<video preload="none" src="https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg"></video>
Use that new link to dowload it directly, it's something like this:
https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg
6
Impressive. How have you figured this out?
– gronostaj
Oct 2 '16 at 11:24
1
In step 7, what do you mean with "that last url inside the html"?
– joaorodr84
Feb 6 '17 at 23:32
5
Works perfectly, but the trick is sometimes you have to replace the "src" value multiple times to get the download link generated.
– Ashrith
Feb 17 '17 at 3:23
12
Currently, for Vimeo it is much easier and doesn't require all the steps. Simply open a Vimeo video, find the<video>tag in the dev tools DOM structure and change thesrcattribute fromblob:...tox. Nothing will happen - this is ok. Now change it again, toy. Chrome will convert it 'magically' to the URL like in step 8 or 9. :-)
– StanE
Jan 4 at 18:31
2
@StanE it works like a charm, in Firefox too, and is definitely faster...
– ling
Feb 27 at 3:42
|
show 8 more comments
up vote
8
down vote
This answer is for Twitter URLs -
- Right click on the video and click Inspect Elements -
You'll find a code like this
<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 iPhoneu003c/au003e","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 above code in notepad++. Replace all the " with " and / wth / in notepad++. (Use CTRL+H)
You'll get something like
{
"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 iPhoneu003c/au003e",
"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"
}
From above JSON format, see the value video_url
https://video.twimg.com/ext_tw_video/844504104512749568/pu/pl/e91Du5N2TZ09ZaW_.m3u8
The issue here is, after August 1st, 2016, Twitter is no longer using .mp4 videos, but converting to a new HLS, adaptive-streaming format, with a .m3u8 file extension.
.m3u8 files are basically just a text file wrapper, they are super
small (300-500 bytes), and when you open them with a text editor, they
contain links to different video sizes
- Open the file m3u8 in notepad++, it would contain code like this
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,RESOLUTION=360x640,CODECS="mp4a.40.2,avc1.42001f"
/ext_tw_video/844504104512749568/pu/pl/360x640/-Phfjbbx2yinirLi.m3u8
- Copy the respective link from above as per your resolution need. Repeat the same step until you have .ts file. Download the .ts file (the video file).
What do you mean, "you'll get something like" -- from where?
– User
Mar 26 '17 at 1:09
@User from the code above it which starts like<div id="playerContainer"
– Pirate X
Mar 26 '17 at 10:51
2
Hey, in step 4, what do you mean by "copy the respective link" ? It isn't a valid URL, and I can't find how to get the video with it. EDIT : OK, right, I found it. You should mention that you have to put "video.twimg.com" before it and access the URL.
– Arno
Jun 17 '17 at 10:37
If you can't find theid="playerContainer"element look forog:video:urland open the url in the content, and inspect the source of that.
– guillefix
Mar 7 at 21:01
Another way to do it on twitter is to rundocument.querySelector('video').srcin your browser developer tools console tab.
– Farzad YZ
Oct 14 at 20:16
add a comment |
up vote
1
down vote
<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>
I also had blob: URL in video/@src, but by watching Developer tools > Network during playback it turned out that video/source/@src was URL for m3u8 playlist.
An m3u8-backed video can be readily downloaded by either:
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 sounds like the binary you want to get but there might be easier way to get the video. Just check out Network tab in Dev tools while you play the video to see what you are actually fetching.
1
Works on my machine! And you can supply multiple kinds of stream inputs with-i <URL> -i <URL> -i <URL>to merge video, audio, and subtitles all into one output :)
– mcandre
Nov 25 at 17:31
@mcandre Yes, that's a good tip. You can also possibly findm3u8metalist (i.e. m3u8 file referring other m3u8 files) and ffmpeg will download and merge it properly, so you don't need to manually specify multiple inputs-i.
– Vlastimil Ovčáčík
Nov 26 at 13:30
add a comment |
up vote
0
down vote
I found another way to download a video with blob url in Vimeo (see the other answer in this page).
This solution is suitable only if you want just the video without the
sounds!
So, if you want to download just a Vimeo video (often without sounds), I can confirm that this Google Chrome extension works really good: Flash Video Downloader.
add a comment |
protected by JakeGould Dec 24 '16 at 2:24
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?
4 Answers
4
active
oldest
votes
4 Answers
4
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
59
down vote
I found a way to download the video with blob url in Vimeo (reading here i understood how doing it). I write the simple steps here.
I'm using Google Chrome:
- Open the
More Tools→Developer Tools
Check if in the video tag there is something like this:
<video preload="" src="blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"></video>
- Copy the src of the iframe tag, if any, something like
http://player.vimeo.com/video/XYZif you found it you can go straight to the point 7, otherwise follow steps 4, 5, 6.
Now look for this string
https://skyfire.vimeocdn.com/.../master.json?base64_init=1inside the page (using the Developer View), you should found it inside a javascript function, like this:
(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":"
Copy the link inside the url field on a new Chrome tab, for example
https://48skyfiregce-a.akamaihd.net/.../master.json?base64_init=1end open it with a browser, it will open you a json file like this:
{
"clip_id": XYZ,
"base_url": "../",
"video": [
{ ... ... ...
Now compose a url with your id
XYZlike this:https://player.vimeo.com/video/XYZ- Replace
blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXinside the video tag with that last url (the one created in the previous step #6).
Now you will notice that magically the src field inside of the video tag changed (if it does not, try step 7 multiple times)...
<video preload="none" src="https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg"></video>
Use that new link to dowload it directly, it's something like this:
https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg
6
Impressive. How have you figured this out?
– gronostaj
Oct 2 '16 at 11:24
1
In step 7, what do you mean with "that last url inside the html"?
– joaorodr84
Feb 6 '17 at 23:32
5
Works perfectly, but the trick is sometimes you have to replace the "src" value multiple times to get the download link generated.
– Ashrith
Feb 17 '17 at 3:23
12
Currently, for Vimeo it is much easier and doesn't require all the steps. Simply open a Vimeo video, find the<video>tag in the dev tools DOM structure and change thesrcattribute fromblob:...tox. Nothing will happen - this is ok. Now change it again, toy. Chrome will convert it 'magically' to the URL like in step 8 or 9. :-)
– StanE
Jan 4 at 18:31
2
@StanE it works like a charm, in Firefox too, and is definitely faster...
– ling
Feb 27 at 3:42
|
show 8 more comments
up vote
59
down vote
I found a way to download the video with blob url in Vimeo (reading here i understood how doing it). I write the simple steps here.
I'm using Google Chrome:
- Open the
More Tools→Developer Tools
Check if in the video tag there is something like this:
<video preload="" src="blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"></video>
- Copy the src of the iframe tag, if any, something like
http://player.vimeo.com/video/XYZif you found it you can go straight to the point 7, otherwise follow steps 4, 5, 6.
Now look for this string
https://skyfire.vimeocdn.com/.../master.json?base64_init=1inside the page (using the Developer View), you should found it inside a javascript function, like this:
(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":"
Copy the link inside the url field on a new Chrome tab, for example
https://48skyfiregce-a.akamaihd.net/.../master.json?base64_init=1end open it with a browser, it will open you a json file like this:
{
"clip_id": XYZ,
"base_url": "../",
"video": [
{ ... ... ...
Now compose a url with your id
XYZlike this:https://player.vimeo.com/video/XYZ- Replace
blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXinside the video tag with that last url (the one created in the previous step #6).
Now you will notice that magically the src field inside of the video tag changed (if it does not, try step 7 multiple times)...
<video preload="none" src="https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg"></video>
Use that new link to dowload it directly, it's something like this:
https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg
6
Impressive. How have you figured this out?
– gronostaj
Oct 2 '16 at 11:24
1
In step 7, what do you mean with "that last url inside the html"?
– joaorodr84
Feb 6 '17 at 23:32
5
Works perfectly, but the trick is sometimes you have to replace the "src" value multiple times to get the download link generated.
– Ashrith
Feb 17 '17 at 3:23
12
Currently, for Vimeo it is much easier and doesn't require all the steps. Simply open a Vimeo video, find the<video>tag in the dev tools DOM structure and change thesrcattribute fromblob:...tox. Nothing will happen - this is ok. Now change it again, toy. Chrome will convert it 'magically' to the URL like in step 8 or 9. :-)
– StanE
Jan 4 at 18:31
2
@StanE it works like a charm, in Firefox too, and is definitely faster...
– ling
Feb 27 at 3:42
|
show 8 more comments
up vote
59
down vote
up vote
59
down vote
I found a way to download the video with blob url in Vimeo (reading here i understood how doing it). I write the simple steps here.
I'm using Google Chrome:
- Open the
More Tools→Developer Tools
Check if in the video tag there is something like this:
<video preload="" src="blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"></video>
- Copy the src of the iframe tag, if any, something like
http://player.vimeo.com/video/XYZif you found it you can go straight to the point 7, otherwise follow steps 4, 5, 6.
Now look for this string
https://skyfire.vimeocdn.com/.../master.json?base64_init=1inside the page (using the Developer View), you should found it inside a javascript function, like this:
(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":"
Copy the link inside the url field on a new Chrome tab, for example
https://48skyfiregce-a.akamaihd.net/.../master.json?base64_init=1end open it with a browser, it will open you a json file like this:
{
"clip_id": XYZ,
"base_url": "../",
"video": [
{ ... ... ...
Now compose a url with your id
XYZlike this:https://player.vimeo.com/video/XYZ- Replace
blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXinside the video tag with that last url (the one created in the previous step #6).
Now you will notice that magically the src field inside of the video tag changed (if it does not, try step 7 multiple times)...
<video preload="none" src="https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg"></video>
Use that new link to dowload it directly, it's something like this:
https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg
I found a way to download the video with blob url in Vimeo (reading here i understood how doing it). I write the simple steps here.
I'm using Google Chrome:
- Open the
More Tools→Developer Tools
Check if in the video tag there is something like this:
<video preload="" src="blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"></video>
- Copy the src of the iframe tag, if any, something like
http://player.vimeo.com/video/XYZif you found it you can go straight to the point 7, otherwise follow steps 4, 5, 6.
Now look for this string
https://skyfire.vimeocdn.com/.../master.json?base64_init=1inside the page (using the Developer View), you should found it inside a javascript function, like this:
(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":"
Copy the link inside the url field on a new Chrome tab, for example
https://48skyfiregce-a.akamaihd.net/.../master.json?base64_init=1end open it with a browser, it will open you a json file like this:
{
"clip_id": XYZ,
"base_url": "../",
"video": [
{ ... ... ...
Now compose a url with your id
XYZlike this:https://player.vimeo.com/video/XYZ- Replace
blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXinside the video tag with that last url (the one created in the previous step #6).
Now you will notice that magically the src field inside of the video tag changed (if it does not, try step 7 multiple times)...
<video preload="none" src="https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg"></video>
Use that new link to dowload it directly, it's something like this:
https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg
edited Mar 22 '17 at 12:57
answered Oct 2 '16 at 10:39
madx
69169
69169
6
Impressive. How have you figured this out?
– gronostaj
Oct 2 '16 at 11:24
1
In step 7, what do you mean with "that last url inside the html"?
– joaorodr84
Feb 6 '17 at 23:32
5
Works perfectly, but the trick is sometimes you have to replace the "src" value multiple times to get the download link generated.
– Ashrith
Feb 17 '17 at 3:23
12
Currently, for Vimeo it is much easier and doesn't require all the steps. Simply open a Vimeo video, find the<video>tag in the dev tools DOM structure and change thesrcattribute fromblob:...tox. Nothing will happen - this is ok. Now change it again, toy. Chrome will convert it 'magically' to the URL like in step 8 or 9. :-)
– StanE
Jan 4 at 18:31
2
@StanE it works like a charm, in Firefox too, and is definitely faster...
– ling
Feb 27 at 3:42
|
show 8 more comments
6
Impressive. How have you figured this out?
– gronostaj
Oct 2 '16 at 11:24
1
In step 7, what do you mean with "that last url inside the html"?
– joaorodr84
Feb 6 '17 at 23:32
5
Works perfectly, but the trick is sometimes you have to replace the "src" value multiple times to get the download link generated.
– Ashrith
Feb 17 '17 at 3:23
12
Currently, for Vimeo it is much easier and doesn't require all the steps. Simply open a Vimeo video, find the<video>tag in the dev tools DOM structure and change thesrcattribute fromblob:...tox. Nothing will happen - this is ok. Now change it again, toy. Chrome will convert it 'magically' to the URL like in step 8 or 9. :-)
– StanE
Jan 4 at 18:31
2
@StanE it works like a charm, in Firefox too, and is definitely faster...
– ling
Feb 27 at 3:42
6
6
Impressive. How have you figured this out?
– gronostaj
Oct 2 '16 at 11:24
Impressive. How have you figured this out?
– gronostaj
Oct 2 '16 at 11:24
1
1
In step 7, what do you mean with "that last url inside the html"?
– joaorodr84
Feb 6 '17 at 23:32
In step 7, what do you mean with "that last url inside the html"?
– joaorodr84
Feb 6 '17 at 23:32
5
5
Works perfectly, but the trick is sometimes you have to replace the "src" value multiple times to get the download link generated.
– Ashrith
Feb 17 '17 at 3:23
Works perfectly, but the trick is sometimes you have to replace the "src" value multiple times to get the download link generated.
– Ashrith
Feb 17 '17 at 3:23
12
12
Currently, for Vimeo it is much easier and doesn't require all the steps. Simply open a Vimeo video, find the
<video> tag in the dev tools DOM structure and change the src attribute from blob:... to x. Nothing will happen - this is ok. Now change it again, to y. Chrome will convert it 'magically' to the URL like in step 8 or 9. :-)– StanE
Jan 4 at 18:31
Currently, for Vimeo it is much easier and doesn't require all the steps. Simply open a Vimeo video, find the
<video> tag in the dev tools DOM structure and change the src attribute from blob:... to x. Nothing will happen - this is ok. Now change it again, to y. Chrome will convert it 'magically' to the URL like in step 8 or 9. :-)– StanE
Jan 4 at 18:31
2
2
@StanE it works like a charm, in Firefox too, and is definitely faster...
– ling
Feb 27 at 3:42
@StanE it works like a charm, in Firefox too, and is definitely faster...
– ling
Feb 27 at 3:42
|
show 8 more comments
up vote
8
down vote
This answer is for Twitter URLs -
- Right click on the video and click Inspect Elements -
You'll find a code like this
<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 iPhoneu003c/au003e","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 above code in notepad++. Replace all the " with " and / wth / in notepad++. (Use CTRL+H)
You'll get something like
{
"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 iPhoneu003c/au003e",
"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"
}
From above JSON format, see the value video_url
https://video.twimg.com/ext_tw_video/844504104512749568/pu/pl/e91Du5N2TZ09ZaW_.m3u8
The issue here is, after August 1st, 2016, Twitter is no longer using .mp4 videos, but converting to a new HLS, adaptive-streaming format, with a .m3u8 file extension.
.m3u8 files are basically just a text file wrapper, they are super
small (300-500 bytes), and when you open them with a text editor, they
contain links to different video sizes
- Open the file m3u8 in notepad++, it would contain code like this
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,RESOLUTION=360x640,CODECS="mp4a.40.2,avc1.42001f"
/ext_tw_video/844504104512749568/pu/pl/360x640/-Phfjbbx2yinirLi.m3u8
- Copy the respective link from above as per your resolution need. Repeat the same step until you have .ts file. Download the .ts file (the video file).
What do you mean, "you'll get something like" -- from where?
– User
Mar 26 '17 at 1:09
@User from the code above it which starts like<div id="playerContainer"
– Pirate X
Mar 26 '17 at 10:51
2
Hey, in step 4, what do you mean by "copy the respective link" ? It isn't a valid URL, and I can't find how to get the video with it. EDIT : OK, right, I found it. You should mention that you have to put "video.twimg.com" before it and access the URL.
– Arno
Jun 17 '17 at 10:37
If you can't find theid="playerContainer"element look forog:video:urland open the url in the content, and inspect the source of that.
– guillefix
Mar 7 at 21:01
Another way to do it on twitter is to rundocument.querySelector('video').srcin your browser developer tools console tab.
– Farzad YZ
Oct 14 at 20:16
add a comment |
up vote
8
down vote
This answer is for Twitter URLs -
- Right click on the video and click Inspect Elements -
You'll find a code like this
<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 iPhoneu003c/au003e","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 above code in notepad++. Replace all the " with " and / wth / in notepad++. (Use CTRL+H)
You'll get something like
{
"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 iPhoneu003c/au003e",
"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"
}
From above JSON format, see the value video_url
https://video.twimg.com/ext_tw_video/844504104512749568/pu/pl/e91Du5N2TZ09ZaW_.m3u8
The issue here is, after August 1st, 2016, Twitter is no longer using .mp4 videos, but converting to a new HLS, adaptive-streaming format, with a .m3u8 file extension.
.m3u8 files are basically just a text file wrapper, they are super
small (300-500 bytes), and when you open them with a text editor, they
contain links to different video sizes
- Open the file m3u8 in notepad++, it would contain code like this
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,RESOLUTION=360x640,CODECS="mp4a.40.2,avc1.42001f"
/ext_tw_video/844504104512749568/pu/pl/360x640/-Phfjbbx2yinirLi.m3u8
- Copy the respective link from above as per your resolution need. Repeat the same step until you have .ts file. Download the .ts file (the video file).
What do you mean, "you'll get something like" -- from where?
– User
Mar 26 '17 at 1:09
@User from the code above it which starts like<div id="playerContainer"
– Pirate X
Mar 26 '17 at 10:51
2
Hey, in step 4, what do you mean by "copy the respective link" ? It isn't a valid URL, and I can't find how to get the video with it. EDIT : OK, right, I found it. You should mention that you have to put "video.twimg.com" before it and access the URL.
– Arno
Jun 17 '17 at 10:37
If you can't find theid="playerContainer"element look forog:video:urland open the url in the content, and inspect the source of that.
– guillefix
Mar 7 at 21:01
Another way to do it on twitter is to rundocument.querySelector('video').srcin your browser developer tools console tab.
– Farzad YZ
Oct 14 at 20:16
add a comment |
up vote
8
down vote
up vote
8
down vote
This answer is for Twitter URLs -
- Right click on the video and click Inspect Elements -
You'll find a code like this
<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 iPhoneu003c/au003e","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 above code in notepad++. Replace all the " with " and / wth / in notepad++. (Use CTRL+H)
You'll get something like
{
"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 iPhoneu003c/au003e",
"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"
}
From above JSON format, see the value video_url
https://video.twimg.com/ext_tw_video/844504104512749568/pu/pl/e91Du5N2TZ09ZaW_.m3u8
The issue here is, after August 1st, 2016, Twitter is no longer using .mp4 videos, but converting to a new HLS, adaptive-streaming format, with a .m3u8 file extension.
.m3u8 files are basically just a text file wrapper, they are super
small (300-500 bytes), and when you open them with a text editor, they
contain links to different video sizes
- Open the file m3u8 in notepad++, it would contain code like this
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,RESOLUTION=360x640,CODECS="mp4a.40.2,avc1.42001f"
/ext_tw_video/844504104512749568/pu/pl/360x640/-Phfjbbx2yinirLi.m3u8
- Copy the respective link from above as per your resolution need. Repeat the same step until you have .ts file. Download the .ts file (the video file).
This answer is for Twitter URLs -
- Right click on the video and click Inspect Elements -
You'll find a code like this
<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 iPhoneu003c/au003e","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 above code in notepad++. Replace all the " with " and / wth / in notepad++. (Use CTRL+H)
You'll get something like
{
"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 iPhoneu003c/au003e",
"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"
}
From above JSON format, see the value video_url
https://video.twimg.com/ext_tw_video/844504104512749568/pu/pl/e91Du5N2TZ09ZaW_.m3u8
The issue here is, after August 1st, 2016, Twitter is no longer using .mp4 videos, but converting to a new HLS, adaptive-streaming format, with a .m3u8 file extension.
.m3u8 files are basically just a text file wrapper, they are super
small (300-500 bytes), and when you open them with a text editor, they
contain links to different video sizes
- Open the file m3u8 in notepad++, it would contain code like this
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,RESOLUTION=360x640,CODECS="mp4a.40.2,avc1.42001f"
/ext_tw_video/844504104512749568/pu/pl/360x640/-Phfjbbx2yinirLi.m3u8
- Copy the respective link from above as per your resolution need. Repeat the same step until you have .ts file. Download the .ts file (the video file).
edited Mar 26 '17 at 10:53
answered Mar 22 '17 at 12:48
Pirate X
19016
19016
What do you mean, "you'll get something like" -- from where?
– User
Mar 26 '17 at 1:09
@User from the code above it which starts like<div id="playerContainer"
– Pirate X
Mar 26 '17 at 10:51
2
Hey, in step 4, what do you mean by "copy the respective link" ? It isn't a valid URL, and I can't find how to get the video with it. EDIT : OK, right, I found it. You should mention that you have to put "video.twimg.com" before it and access the URL.
– Arno
Jun 17 '17 at 10:37
If you can't find theid="playerContainer"element look forog:video:urland open the url in the content, and inspect the source of that.
– guillefix
Mar 7 at 21:01
Another way to do it on twitter is to rundocument.querySelector('video').srcin your browser developer tools console tab.
– Farzad YZ
Oct 14 at 20:16
add a comment |
What do you mean, "you'll get something like" -- from where?
– User
Mar 26 '17 at 1:09
@User from the code above it which starts like<div id="playerContainer"
– Pirate X
Mar 26 '17 at 10:51
2
Hey, in step 4, what do you mean by "copy the respective link" ? It isn't a valid URL, and I can't find how to get the video with it. EDIT : OK, right, I found it. You should mention that you have to put "video.twimg.com" before it and access the URL.
– Arno
Jun 17 '17 at 10:37
If you can't find theid="playerContainer"element look forog:video:urland open the url in the content, and inspect the source of that.
– guillefix
Mar 7 at 21:01
Another way to do it on twitter is to rundocument.querySelector('video').srcin your browser developer tools console tab.
– Farzad YZ
Oct 14 at 20:16
What do you mean, "you'll get something like" -- from where?
– User
Mar 26 '17 at 1:09
What do you mean, "you'll get something like" -- from where?
– User
Mar 26 '17 at 1:09
@User from the code above it which starts like
<div id="playerContainer"– Pirate X
Mar 26 '17 at 10:51
@User from the code above it which starts like
<div id="playerContainer"– Pirate X
Mar 26 '17 at 10:51
2
2
Hey, in step 4, what do you mean by "copy the respective link" ? It isn't a valid URL, and I can't find how to get the video with it. EDIT : OK, right, I found it. You should mention that you have to put "video.twimg.com" before it and access the URL.
– Arno
Jun 17 '17 at 10:37
Hey, in step 4, what do you mean by "copy the respective link" ? It isn't a valid URL, and I can't find how to get the video with it. EDIT : OK, right, I found it. You should mention that you have to put "video.twimg.com" before it and access the URL.
– Arno
Jun 17 '17 at 10:37
If you can't find the
id="playerContainer" element look for og:video:url and open the url in the content, and inspect the source of that.– guillefix
Mar 7 at 21:01
If you can't find the
id="playerContainer" element look for og:video:url and open the url in the content, and inspect the source of that.– guillefix
Mar 7 at 21:01
Another way to do it on twitter is to run
document.querySelector('video').src in your browser developer tools console tab.– Farzad YZ
Oct 14 at 20:16
Another way to do it on twitter is to run
document.querySelector('video').src in your browser developer tools console tab.– Farzad YZ
Oct 14 at 20:16
add a comment |
up vote
1
down vote
<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>
I also had blob: URL in video/@src, but by watching Developer tools > Network during playback it turned out that video/source/@src was URL for m3u8 playlist.
An m3u8-backed video can be readily downloaded by either:
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 sounds like the binary you want to get but there might be easier way to get the video. Just check out Network tab in Dev tools while you play the video to see what you are actually fetching.
1
Works on my machine! And you can supply multiple kinds of stream inputs with-i <URL> -i <URL> -i <URL>to merge video, audio, and subtitles all into one output :)
– mcandre
Nov 25 at 17:31
@mcandre Yes, that's a good tip. You can also possibly findm3u8metalist (i.e. m3u8 file referring other m3u8 files) and ffmpeg will download and merge it properly, so you don't need to manually specify multiple inputs-i.
– Vlastimil Ovčáčík
Nov 26 at 13:30
add a comment |
up vote
1
down vote
<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>
I also had blob: URL in video/@src, but by watching Developer tools > Network during playback it turned out that video/source/@src was URL for m3u8 playlist.
An m3u8-backed video can be readily downloaded by either:
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 sounds like the binary you want to get but there might be easier way to get the video. Just check out Network tab in Dev tools while you play the video to see what you are actually fetching.
1
Works on my machine! And you can supply multiple kinds of stream inputs with-i <URL> -i <URL> -i <URL>to merge video, audio, and subtitles all into one output :)
– mcandre
Nov 25 at 17:31
@mcandre Yes, that's a good tip. You can also possibly findm3u8metalist (i.e. m3u8 file referring other m3u8 files) and ffmpeg will download and merge it properly, so you don't need to manually specify multiple inputs-i.
– Vlastimil Ovčáčík
Nov 26 at 13:30
add a comment |
up vote
1
down vote
up vote
1
down vote
<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>
I also had blob: URL in video/@src, but by watching Developer tools > Network during playback it turned out that video/source/@src was URL for m3u8 playlist.
An m3u8-backed video can be readily downloaded by either:
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 sounds like the binary you want to get but there might be easier way to get the video. Just check out Network tab in Dev tools while you play the video to see what you are actually fetching.
<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>
I also had blob: URL in video/@src, but by watching Developer tools > Network during playback it turned out that video/source/@src was URL for m3u8 playlist.
An m3u8-backed video can be readily downloaded by either:
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 sounds like the binary you want to get but there might be easier way to get the video. Just check out Network tab in Dev tools while you play the video to see what you are actually fetching.
edited Nov 26 at 13:32
answered Nov 14 at 22:33
Vlastimil Ovčáčík
1,49211025
1,49211025
1
Works on my machine! And you can supply multiple kinds of stream inputs with-i <URL> -i <URL> -i <URL>to merge video, audio, and subtitles all into one output :)
– mcandre
Nov 25 at 17:31
@mcandre Yes, that's a good tip. You can also possibly findm3u8metalist (i.e. m3u8 file referring other m3u8 files) and ffmpeg will download and merge it properly, so you don't need to manually specify multiple inputs-i.
– Vlastimil Ovčáčík
Nov 26 at 13:30
add a comment |
1
Works on my machine! And you can supply multiple kinds of stream inputs with-i <URL> -i <URL> -i <URL>to merge video, audio, and subtitles all into one output :)
– mcandre
Nov 25 at 17:31
@mcandre Yes, that's a good tip. You can also possibly findm3u8metalist (i.e. m3u8 file referring other m3u8 files) and ffmpeg will download and merge it properly, so you don't need to manually specify multiple inputs-i.
– Vlastimil Ovčáčík
Nov 26 at 13:30
1
1
Works on my machine! And you can supply multiple kinds of stream inputs with
-i <URL> -i <URL> -i <URL> to merge video, audio, and subtitles all into one output :)– mcandre
Nov 25 at 17:31
Works on my machine! And you can supply multiple kinds of stream inputs with
-i <URL> -i <URL> -i <URL> to merge video, audio, and subtitles all into one output :)– mcandre
Nov 25 at 17:31
@mcandre Yes, that's a good tip. You can also possibly find
m3u8 metalist (i.e. m3u8 file referring other m3u8 files) and ffmpeg will download and merge it properly, so you don't need to manually specify multiple inputs -i.– Vlastimil Ovčáčík
Nov 26 at 13:30
@mcandre Yes, that's a good tip. You can also possibly find
m3u8 metalist (i.e. m3u8 file referring other m3u8 files) and ffmpeg will download and merge it properly, so you don't need to manually specify multiple inputs -i.– Vlastimil Ovčáčík
Nov 26 at 13:30
add a comment |
up vote
0
down vote
I found another way to download a video with blob url in Vimeo (see the other answer in this page).
This solution is suitable only if you want just the video without the
sounds!
So, if you want to download just a Vimeo video (often without sounds), I can confirm that this Google Chrome extension works really good: Flash Video Downloader.
add a comment |
up vote
0
down vote
I found another way to download a video with blob url in Vimeo (see the other answer in this page).
This solution is suitable only if you want just the video without the
sounds!
So, if you want to download just a Vimeo video (often without sounds), I can confirm that this Google Chrome extension works really good: Flash Video Downloader.
add a comment |
up vote
0
down vote
up vote
0
down vote
I found another way to download a video with blob url in Vimeo (see the other answer in this page).
This solution is suitable only if you want just the video without the
sounds!
So, if you want to download just a Vimeo video (often without sounds), I can confirm that this Google Chrome extension works really good: Flash Video Downloader.
I found another way to download a video with blob url in Vimeo (see the other answer in this page).
This solution is suitable only if you want just the video without the
sounds!
So, if you want to download just a Vimeo video (often without sounds), I can confirm that this Google Chrome extension works really good: Flash Video Downloader.
answered Sep 26 '17 at 14:09
madx
69169
69169
add a comment |
add a comment |
protected by JakeGould Dec 24 '16 at 2:24
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?
If you want to download youtube videos use extenstions like Video Downloadhelper (Firefox)
– Ganesh R.
Jan 30 '16 at 22:42
i want to download from vimeo url.
– vinesh
Jan 31 '16 at 2:48
Vinesh, try navigating to vimeo website and start playing the video you require to download. Video DownloadHelper will detect it and give you an option to download it. I tried it.
– Ganesh R.
Jan 31 '16 at 6:09
I will give it a try. Thanks Ganesh.
– vinesh
Jan 31 '16 at 14:34
No Luck. when I started playing video, I saw multiple video suggestion from the extension you mentioned each of around 2 MB. when I downloaded a part, I was not able to play that small file. I was getting error that file is corrupt.
– vinesh
Feb 1 '16 at 6:42