-
Notifications
You must be signed in to change notification settings - Fork 9.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Please add support for https://veeps.com/ <--high quality live concert streams #25728
Comments
Those last URLs 403 now due to an expired signature; removing the signature from the URL also causes a 403. None of the urls that you have added to youtube-dl contain this signature, so I imagine the signature is user-specific and created when a user requests the video, with a finite lifetime. I'll try to take a deeper look into this tomorrow and see if it is possible, but it looks like there needs to be some way of generating a valid signature in order to be able to request the stream. |
I'm a fan of musician Jesse Malin, but many other artists use this "veep" platform, including Brandi Carlile. Jesse has been performing concerts live on Thursday evenings, and the replay is available to stream until late Saturday evenings. The average size of each file in the live stream is approx. 1100 KB, but the the average file size of the replay files are only 725 KB. There's a noticeable drop in quality. I'd love to know how to grab the higher quality stream from the replay. The cost for access is as low as $10 per concert. By the time you "take a deeper look," the stream will be gone, so I took the liberty of grabbing a string of URLs from the most recent concert for you to see. To my laymen's eyes, they all seem to have unique signatures...making grabbing them much more difficult. Until a bulk download method is perfected, I've been double-clicking on each URL (.ts file) and downloading them individually. Each concert contains approx. 2000 .ts files, so as you can imagine, this is not fun. Then I join them using TSSplitter (Joiner). During the last concert, I grabbed nearly all of the files during the live broadcast, except for 3 groups of 50. I wasn't happy when I went back to grab them during the replay and I noticed the smaller file sizes...which don't match perfectly to the larger files (the audio is seamless, but the video skips). I haven't checked, but I'm guessing it's the difference between 1080p and 720p. Also, this video can't be played with most of my standard video players, but it does play with VLC media player. What's up with that? Here's the URL: https://jessemalin.veeps.com/stream/75193060dd58 Here's are some sample sequential files: https://fn0pgvgj5615mhof01jc9652a.litix.io/ https://fn0pgvgj5615mhof01jc9652a.litix.io/ https://fn0pgvgj5615mhof01jc9652a.litix.io/ https://fn0pgvgj5615mhof01jc9652a.litix.io/ https://fn0pgvgj5615mhof01jc9652a.litix.io/ https://fn0pgvgj5615mhof01jc9652a.litix.io/ https://fn0pgvgj5615mhof01jc9652a.litix.io/ https://fn0pgvgj5615mhof01jc9652a.litix.io/ https://fn0pgvgj5615mhof01jc9652a.litix.io/ https://fn0pgvgj5615mhof01jc9652a.litix.io/ https://fn0pgvgj5615mhof01jc9652a.litix.io/ https://fn0pgvgj5615mhof01jc9652a.litix.io/ https://fn0pgvgj5615mhof01jc9652a.litix.io/ https://fn0pgvgj5615mhof01jc9652a.litix.io/ https://fn0pgvgj5615mhof01jc9652a.litix.io/ https://fn0pgvgj5615mhof01jc9652a.litix.io/ https://fn0pgvgj5615mhof01jc9652a.litix.io/ https://fn0pgvgj5615mhof01jc9652a.litix.io/ https://fn0pgvgj5615mhof01jc9652a.litix.io/ Be sure to notice the 2nd URL (bold) after 281.ts Let me know if I can provide any additional info for your research. Thanks! |
Are these the URLs that get requested by the web browser upon viewing? The litix.io URLs seem to just be 1x1 GIF images for some reason. All of the URLs with .ts files appear to work. Also, as for why VLC can play it and other media players can't - I'm not 100% sure, but it is probably something to do with the container format and the codecs used. VLC, in my experience, is more tolerant to weird formats than the default windows media player, for example. If you want to make it play on more video players, I would try re-encoding it to something like H.264 video with AAC audio on a .mp4 container (a pretty standard combination IIRC) using ffmpeg or a similar tool. When I go to https://jessemalin.veeps.com/stream/75193060dd58, it asks to me to login. I've tried creating an account, and after logging in it takes me to the webpage to buy tickets without showing any info about the stream. It seems that it serves a different page depending on if you have purchased tickets already or not, so it looks like we need to figure out how to authenticate a user on that site. I can't find anything relating to the .ts URLs on my version of the page. I'm not sure how the youtube-dl community normally goes about site support requests that require authentication due to the sensitivity of information; while I've been developing software for a while, this is one of my first issues on GitHub, so I'm not entirely sure how these types of things are handled. Finally, I'm still puzzled at how the signatures are determined; it might be some client-side code that runs when you are viewing the stream live, or it might send another HTTP request to some server to get the signatures. |
I would gladly share my login info with you, but not here in a public forum. Just promise me that you won't change my password and lock me out of my own account :-) (I can always change my password later after you've finished your investigation). How can I contact you privately? Maybe you could setup a temporary gmail account, post the address here, and then discard later? Like you, I'm puzzled at how the signatures are determined, but this is really over my head. I can follow instructions to use software you've developed, but I don't possess the knowledge to design the software myself. Thanks for your help! poochbeast57 |
Alright. If you feel comfortable with doing that, I've created a temporary email address at [removed]. After I get an email I'll probably edit the address out of this post so that it doesn't get used by anyone in the future. Thanks, |
OK. I just replied to you at your temporary gmail address. Let me know if you received my reply (either here or directly). Thank you! |
Yes, I've gotten it. I'll take a look at it now. Thanks |
Okay, update - I don't know how, but after adding breakpoints on XHR requests using console, I was able to get it to request an M3U8 file. I opened the file with VLC and it appears to contain the entire stream, with all of the signatures. Right now I'm trying to figure out how the file was requested. |
Alright, I think I've figured it out, minus only the authentication. I'm putting it here in case I am unable to figure this out for some reason, so that someone else can build off of this. |
I'm having trouble with figuring out how getting a session token works; I can't replicate it with wget exactly the way it would work in a browser. It's getting kind of late here, however I can probably figure out how this part of the process works with my own account later/tomorrow. To recap:
|
I'm glad I was able to play a small role (albeit very small) in helping you to figure out help this works. I understand about half of your explanation. ;-) I'm sure you know this already, but the video stream produced by this link is only 480x270. I'm assuming the higher resolution files are there. My questions are "where?" and "how do we find them?" |
I should have read all of your comments before responding to your first comment. I'm glad you were able to find playlists for different resolutions. I don't mind supporting the artists and buying a ticket. I just want to know how to capture the stream. I don't fully understand all of your instructions. If you're seeing this before you go to bed, is there any chance you could share a link to the highest resolution file, so I can download it before they remove it (if indeed they really do remove it). Also, I wonder if there's a way to find the stream(s) from the previous concert(s)? Thanks again for all your help! Poochbeast PS - Is it too much to ask for you to create a tutorial video? Just askin'? ;-) |
I'm planning on adding this to youtube_dl through a pull request; I think I can get this done relatively quickly (next few days likely). A video tutorial won't be necessary, as it'll be available in a youtube_dl update once I get it sorted out. It's also somewhat hard to do by hand, so it'd be easier to do through youtube_dl. The M3U8 is https://stream.mux.com/wKk6rMRgprh44VympfJo9jHxI4q01mcuod01UCavzPPig.m3u8 |
Excellent! (re: your plan to add it to youtube-dl). I can't wait! Yes, this version is definitely 1920x1080. It will be terrific to be able to download all of the .ts files in bulk rather than one-at-a-time! LOL! I wish I could figure out how to do that now. It's really sleazy of veeps to stream the concert in 1080p and then replay it in only 720p. Thanks again! |
I know I said I was going to bed like 3 hours ago, but I realized it'd be much harder to test the script after tonight (and I also had nothing better to do); I wrote a module so that youtube_dl could login and download a stream from veeps. (I'm actually, 100% going to bed now). I'm currently testing it on the 1920x1080 version; it's downloading all the .ts files and re-encoding them, so needless to say it is taking a while and I'm going to leave it running overnight. Tomorrow, if all is well, I'll push the code back to github and try to get it merged into the official repo. A few things of note, which are probably non-issues but might be significant to contributors reading this that are more knowledgeable on youtube_dl than I am:
When I create the pull request I'll reference it in this issue. |
If you want to continue working on this, some artists (like Brandi Carlile) leave their streams on the site to be viewed "On Demand" with no expiration date. If you would like, I could buy a ticket for one of her past concerts, and you can view it through my account. I'm sure it would be best to try other artists just to be sure there aren't any anomalies between artists' streams. Also, since my password contains no special characters, I can create one that does. I can send it to you through your temporary gmail account (if you haven't deleted it yet). Let me know if you want me to do this. As I suspected, even though the link to the Jesse Malin concert has now been removed from the front end of veeps, we can still download it because we know the server address. I wonder if it's possible to use a "list" command to find other hidden concerts on the server? I'd love to get his previous show (as well as some shows by some other artists). |
I don't think different channels will cause issues; however, if you'd like, I can try additional channels. A password containing special characters isn't an issue with youtube_dl or my addition; it is an issue with the command line shell, so it is the case for every program. You don't need to create a password with special characters. It wouldn't be possible to list other concerts on the server; if that were possible, anyone could download any streams without buying tickets, and this is certainly something veeps developers have considered. |
I bought a ticket to the Brandi Carlile concert from June 1. It's in my account if you want to check it out. |
VLC doesn't re-encode the stream; in fact, it uses the raw .ts files to play the video. If you are recording it, though, it might re-encode it, but it is most likely set to be visually lossless by default. In short, it shouldn't make a difference. |
Yes, I was referring to recording with VLC. I'm just learning Python, but I still don't understand it well enough to add your Veeps extractor. I guess I'll wait for the update. |
Well, if you want to try using my branch, and you have python installed, you can download my branch here before it merges, so you don't have to wait to update: https://github.com/dunnousername/youtube-dl/tree/veeps Make sure to Once you download it, you can change directory into the folder and run You can use it like you would with downloading any other stream, except pass For the June 1st stream for example, run |
(Occasional Veeps user here.) Just some technical stuff to explain: Once you have the link to a working m3u8 playlist (or youtube-dl does), the rest can be handled by youtube-dl. Download the m3u8 and check its text contents, you will see links to new playlists with the various resolutions. Nothing more to worry about. This is how yotube-dl already can handle it (if you don't need a login, or special cookies/links):
youtube-dl of course still requires explicit veeps support to figure out the playlist URI, the title, and so on (which is what @dunnousername programmed, I guess - if so, good job!). Regarding re-encoding: Like your manual downloading of the .ts segments, you can let youtube-dl do that for you, and even correctly assemble them in the correct order without any reencoding or even remuxing:
(Ignore the warning here.) The resulting file is am MPEG-TS file, which many players won't support (especially if you leave the extension ".mp4", which is incorrect, but shouldn't matter for smart tools). You can re-mux (like repackage) that into an actual MP4 without any loss by reencoding, e.g. with ffmpeg (as youtube-dl also does internally for merging, fix-upping, and so on):
(assuming the first file is actually not an MP4, but MPEG-TS). |
Is it my imagination, or has veeps changed their streaming protocols? Here are some samples from this week's Jesse Malin concert. To my untrained eyes, every file looks identical: |
Request URL: https://manifest-gce-us-east1-production.global.ssl.fastly.net/lAI8saZoyEJZ02FRghxdRIlP1dYHt22ZepaKA007ind9xPN902CzBuHoHSVCJPPn6F7iD9n2FB2029ou02pCvsjuHB0129Nu6OmQt7/rendition.m3u8?cdn=fastly&expires=1594940400&skid=default&live=1&signature=NWYxMGRiZjBfZmQ0MDYxMmQ3YjYxMWE4MDljMjE1ZDVlNTE2ZTI0MGE1MGU3MGM5NzkyZmVhNzhlYjk1Njk1MzE5MmJkZGNhNA== |
Weird! Now it's back on track... |
Jesse Malin 7/9/2020 veeps livestream URL: |
Hey - sorry, I totally forgot about this issue and haven't been checking github for a while. The pull request is still open, but it is unclear what needs to be fixed. All that was said about the pull request was "You must provide account credentials for review." and "Read coding conventions." How does the review process work, and what specifically needs to be changed? I've looked over the coding conventions and it passes the necessary tests on travis. |
Hey, I apologize for my delayed reply too. It was all I could do to figure out how to download and install your branch. As far as what youtube-dl requires before merging your branch, it's a bit over my head. However, I would like to see an official merge, so please try to figure it out what they still need. Thanks again for all the work you put into this. It's much appreciated! One more favor... while you still had access to my veeps account, by any chance did you happen to download the Jesse Malin show from 7/9/2020? That was a really hot show, and at the time I was still trying to figure out how to install your branch, so I missed downloading it. If you got it, I'd love to get a copy. Maybe you could share it via Google Drive or wetransfer or the file sharing platform of your choice? Thanks in advance! PS - I'm still kicking myself for not realizing how easy it is to find the m3u8 playlist. D'oh! |
Just came here to say that with the extension @JPHFanedits suggested I managed to download a past video from Veeps using their m3u8 link. Thank you everyone! |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Can confirm that the method suggested by @david-ortiz works. I used the Stream Detector Add-on for Firefox to grab the stream links and in the options, I had selected "Copy URL as yt-dlp command". Ran it using yt-dlp and got the video from Veeps. |
Can somebody grab a stream of Pentatonix concert? I tried but I was unsuccessful. I can give you login access. The concert is available until January 6th. |
I am trying to download the Hardy concert from December (https://veeps.com/hardy/365486c3-94f5-4f94-8198-9e262c63267e) Do you have example of what worked for you? When I try it the video is greyed out and the audio is an empty file I have checked out/cloned both @dunnousername and @barsnick's branches... and have veeps added as machine + credentials in the netrc file too |
Veeps using drm now, that's why your video and audio can't be played. You need to decrypt and then merge them to able to play it properly. |
Is that universal on the site? If so, this issue can be closed. |
I can only confirm that vod contents uses drm, as in the case that happened to @theeaglesfan005. maybe someone can confirm about the live stream content |
I successfully downloaded one earlier today, so it’s not universal on the site. It was a show that had been streamed live and is currently available on demand. |
Does anyone know how to decrypt veeps? Everything I've tried Googling doesn't work :/ |
How did you download successfully? and which show specifically was it? The one I been trying to download is Hardy's concert |
Not a subject for discussion in this tracker, please. I've set up a burner account with a free show upcoming to investigate whether an extractor for yt-dl is possible. |
I think I found out what might be the problem. Don't use stream detector because it'll only detect m3u8 with dr.m. use this command instead
example:
I haven't test it yet, but @theeaglesfan005 might want to try this or you can also simply changed the end of dr.m m3u8 url that you get from stream detector (delete all parentheses) change |
Thanks... tried both... using the terminal command I got "ERROR: Unsupported URL:" and changing the m3u8 to fairplay I get "ERROR: [generic] fairplay_cmaf_avc_2160: This video is DRM protected" |
Can you send the m3u8 link so I can check it? |
Here's the original ones: yt-dlp --no-part --restrict-filenames -N 4 --user-agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36" --cookies-from-browser chrome --referer "https://veeps.com/" "https://d1gf363n2c1czk.cloudfront.net/aa3320d6-d490-4bdb-9e51-37b77b67b9be/HLS/2ee06f52-410a-4181-9b40-c8ff8dbb8894/widevine_cmaf_avc_2160.m3u8" yt-dlp --no-part --restrict-filenames -N 4 --user-agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36" --cookies-from-browser chrome --referer "https://veeps.com/" "https://d1gf363n2c1czk.cloudfront.net/aa3320d6-d490-4bdb-9e51-37b77b67b9be/HLS/2ee06f52-410a-4181-9b40-c8ff8dbb8894/widevine_cmaf_avc.m3u8" |
You haven't changed the m3u8 link. Use this link, it'll works (delete all parentheses)
|
This worked! thank you so much! |
hey folks, had some issues with this as well. this worked for me: https://www.reddit.com/r/youtubedl/wiki/cookies/ simply grabbed the cookies.txt file from the cookies downloader extension, throw it in the same folder as yt-dlp and used
|
This comment was marked as off-topic.
This comment was marked as off-topic.
Hello, I'm trying to download Louis Tomlinson's but it gives me the following error. C:\Usuarios\Codubi>yt-dlp --cookies cookies.txt " https://d1gf363n2c1czk.cloudfront.net/80b73105-54d4-45ce-b745-f7ae99a6f1d5/HLS/2df7c623-dffd-4139-bf5a-443f05ea4ca3/b193af 6c -2ee5-4e1a-8997-9ce7c3f9c789/veeps.m3u8 " |
I guess this is a new structure of m3u8 link from veeps. maybe you should try to search the non-drm m3u8 link on devtools. before you open the stream/watch page click ctrl+shift+i or F12 then open the stream/watch page. click on network tab, click ctrl+f type m3u8 on the search bar to see if veeps has non-drm m3u8 url for that show. I have check the m3u8 with drm and it is works but decryption key will be needed to watch the downloaded files |
Hello tbt000, I just did those steps and the only m3u8 URLs that appeared were the following I'm new to these things, I learned how to download previous concerts on the VEEPS page thanks to you |
I'm glad you could download them fine before. but unfortunately, this one is different. did you use the other search bar? the one that showed when you click ctrl+f. if you did and didn't find the non-drm m3u8 then you need decryption key to decrpyt the file. one example from a free video |
The above link doesn't play in Firefox without DRM enabled. If someone can find non-DRM content on the site please open a new issue. |
Checklist
Example URLs
Description
WRITE DESCRIPTION HERE
I'm trying to Download Streaming Video that's Divided into Parts in XHR Format.
I don't see any files that end with .m3u8
The concert I'm trying to download has sequential files that run from 0.ts to 2452.ts (the concert runs 2:43:28)
Here are some example URLs that's I've tried to add to youtube-dl.exe
https://jessemalin.veeps.com/stream/80d09cea10f9
https://fn0pgvgj5615mhof01jc9652a.litix.io/
blob:https://jessemalin.veeps.com/c82b2f01-5915-49a9-8e4f-b66ec7ca04e4
Here are the first, "middle" and last files from the sequence:
https://chunk-gce-us-east1-production.global.ssl.fastly.net/v1/chunk/ipAtw008lecNKzC6Y02jZh38jhCShD01F00BKu5v2Kdq3zN5AwRSA2stzinYxKlUtmdShoKDFYfH5e9dtJRdgqQzpGmhfXfNdAOF/0.ts?skid=default&signature=NWVmNThlZTBfNGUzN2VlOTdkNzBiOTZlODg3OTJhNzc2NGI4MzMwMzMyYjYyNDliN2ZiMzE0NjcxMjMwMTc0Nzk1YzhkZGE3Mg==
https://chunk-gce-us-east1-production.global.ssl.fastly.net/v1/chunk/ipAtw008lecNKzC6Y02jZh38jhCShD01F00BKu5v2Kdq3zN5AwRSA2stzinYxKlUtmdShoKDFYfH5e9dtJRdgqQzpGmhfXfNdAOF/1226.ts?skid=default&signature=NWVmNWI5MTBfODU2MDlkZTY5OWZlMDdiZWNiOGEyYmQ3MDExZWY3ZWNhNjNkMjBhNWY1MTZkMmNiNWI2NzhjZjkzZDYxYmRlMQ==
https://chunk-gce-us-east1-production.global.ssl.fastly.net/v1/chunk/ipAtw008lecNKzC6Y02jZh38jhCShD01F00BKu5v2Kdq3zN5AwRSA2stzinYxKlUtmdShoKDFYfH5e9dtJRdgqQzpGmhfXfNdAOF/2452.ts?skid=default&signature=NWVmNThlZTBfYTZiMzgwMWFhZTE5Mzg3OTljMDZiMjM2ZmVmYjRmNzBjNzE1ZTllYTczNGYzOTI0ZGQ3ZmVlYWY1ODE3YjgwNg==
This was a paid concert, but I paid for it, so I'd like to be able to download it, not just watch it. Thanks!
The text was updated successfully, but these errors were encountered: