Audio/video stream recording forums
|
Attention Visitor: |
You may have to register or log in before you can post:
|
|
View Poll Results: Should I Also Produce An Android Version After Supporting Both Windows+Mac OSX? | |||
Yes! That would be awesome to download the streams from anywhere! | 4 | 57.14% | |
No... Just focus on the Windows + Mac OSX versions! | 3 | 42.86% | |
I don't have a microSD/SD card with a high enough capacity for it to be worth it! | 0 | 0% | |
Voters: 7. You may not vote on this poll |
|
Thread Tools | Display Modes |
|
#1
|
|||
|
|||
CB Downloader Pro InitializerThread();Alright, here's the plan. Sick of manually or batch scripting CB performers live streams? I'm going to totally automate everything, and make the app run on Windows + Mac OSX, and possibly android too! (if there's enough requests for it)
Following this thread: http://stream-recorder.com/forum/cha...t10869p37.html I've been able to capture the streams with KSV's most recent mod of rtmpdump! The idea is simple, You'll add all the performer's name's / urls to a list box. TLS/SSL capabilities but no web browser control (so no javascript engine) it logs into an account, then it checks each performer/model's page and searches for the string "Room is currently offline" within the html to determine whether the stream is active or not (You think that's a good method? Or should I use another way?) It will wait a user defined delay in minutes, before checking the page again to see if that performer is online again. The number of active simultaneous page checks will also be user customizable. As will the number of concurrent stream downloads (but this one can be set to unlimited if desired unlike the other{In which case you'll only be limited by hard disk space, and memory}) For example you could set it so it will request 10 performer pages simultaneously, while downloading an unlimited number of streams at once (obviously limited by your selection of performers), with a delay of 10 minutes between re-checks for if they're online. (I think too often might get you banned lol, so 1 minute is probably too often, but maybe not, it'll be up to the user to decide) If they are online, it extracts the necessary info from the page: SWF Version, RTMP Stream URL, User's sha256 password hash, and the performer's room hash! So then with each performer that is online with the necessary data grabbed, the command line for rtmpdump will be formed! Something like: Command.sprintf("rtmpdump -v -r \"rtmp://%s/live-edge\" -p \"https://chaturbate.com/%s\" -C S:%s -C S:%s -C S:%s -C S:%s -C S:%s -T \"%s\" -y \"playpath\" -o \"%s_%s.flv\"", rtmp_url, performer_name, loggedin_user, performer_name, swfversion, users_passwordhash, room_hash, security_key, performer_name, datetime); Each rtmpdump instance created via generated command line will run in the background so no console windows will be visible. You just leave it running on your pc or mac, minimize it to tray or dock, and enjoy fully automated CB streams directly to your hard disk with no user intervention at all! Also many things will be fully customizable, so if it ever breaks down, you could just change some settings and get it working again! (most likely) {For example if the way to extract the necessary data from the performer's page changes, you could fix it via the configuration of the app, or if the security key changes you could update it, it wont be hard coded! Any ideas how I could retrieve the security key automatically, to make that not even necessary?} Finally I have some question's regarding the alternate RTMP URL which works with VLC if you feed it, or to JWPlayer as one dude linked to from the CB thread link at the top of this post. Also probably in a safari or other "Webkit" browser. -> If you disable or don't have flash installed in a certain browser, it instead of being able to load the flash video streamer (their .swf) will attempt to load the stream a different way. I am a little confused on how this other rtmp streaming method works. It involves a single data point rather than all of the above data points. Just a single link with still port 1935, but it's to an .m3u8 file. If you paste this link into VLC under network stream, or convert/save, you can either just view the CB stream or capture and save it! Is your user account and password hashed together with all the other data to create that link? This is what I'm mean-> By using one of my old applications that I dug up that I thought might help, I used it's packet dumper feature to hook vlc media player's winsock via injected dll and pipe the data back to the main application. Good thing I made it have a packet dumper / packet viewer feature otherwise it would've been totally useless (well except for downloading specific mime types sent over http protocol {it was made by me way before everyone came to ssl/tls and before pretty much every website stopped sending media over standard http protocol) The down side to the app is any line that hit's an unprintable character, the rest of it from there is truncated! However anything that's plain text is shown! It seems it once it get's that first .m3u8, it keeps looping from a chunklist_wXXXXX.m3u8 to a media_wXXXX.ts Is it really downloading the stream over just HTTP or what's going on here? Perhaps it's still going through RTMP but over HTTP? Just trying to figure out if I can maybe use this as an alternative download method, instead of relying solely on rtmpdump there could be a selectable alternative method that also works! Thanks, and be sure to vote on whether or not I should also get it going on android after win+mac! |
#2
|
|||
|
|||
Re: CB Downloader Pro InitializerThread();bump for u
|
#3
|
|||
|
|||
Re: CB Downloader Pro InitializerThread();Quote:
Code:
livestreamer "https://chaturbate.com/sexygirl955/" best Code:
[cli][info] Found matching plugin chaturbate for URL https://chaturbate.com/sexygirl955/ [cli][info] Available streams: 240p (worst, best) [cli][info] Opening stream: 240p (hls) |
#4
|
|||
|
|||
Re: CB Downloader Pro InitializerThread();EDIT: I've been able to suppress the problem and fix it for the most part. By exception catching, wrapping the login post in a try catch, now all these errors are caught and ignored instead of being unhandled and causing a popup / would be crash.
Quote:
For now to give an update on the app, things are coming along pretty nicely. TLS is working and I just got it to log in successfully and pass me a valid session id cookie You can tell when you're logged in as your password hash shows up in the rtmp info (is one obvious way anyway among others). However there's an issue, where I get an 403 forbidden error after posting the data for some reason, but it still worked and it successfully logs in. Is this really an error or what is up with that? If I make handle redirects to false, I get a differnent not quite error, 302 found. and it still successfully logs in... Maybe it's better to stop at 302 found then with another instance of the class that has handle redirects enabled continue from there... As it seems handling redirects is neccessary to not to held up, and for things to work! Successfully logged in with data relevant to being a logged in user rather than just anonymous but that's after this: I'm going to suppress the errors for sure, but 403 forbidden doesnt seem like something I want to be getting even if it successfully logs in! At least its working though But thanks to anyone who can help me get rid of this error! I know you get csrf token from cookies/hidden field on web page and then you have to post it to the login page as "csrfmiddlewaretoken" along with "username" and "password"... That's simple enough right? Finally you can add at the end of the post data: "&rememberme=on" to get a longer lasting cookie? That's what I think anyway... Seems like that at least! So what could I be doing wrong If I'm sending the data right... Well because how else would it log in and give me a valid session cookie after sending the post data to do the login process? there's just something miniscule causing an issue.. Thanks! Last edited by DefectedToRussia : 12-29-2014 at 05:37 PM. |
#5
|
|||
|
|||
Re: CB Downloader Pro InitializerThread();UPDATE 2: I've moved past that issue (I'm fairly certain, it's not hurting anything anymore) Now cookies are serialized and saved + reloaded seamlessy! Whether or not remember me option is enabled, upon closing the application and re-opening it, it loads the previous sessions cookies and if they're still valid, you'll still be logged in without having to re-log in each application load
This will be really useful, and quite nice! The hard part is now complete! |
#6
|
|||
|
|||
Re: CB Downloader Pro InitializerThread();Any updates on this?
|
#7
|
|||
|
|||
Re: CB Downloader Pro InitializerThread();looking for an update, if you have one?
|
Tags: chaturbate, downloader, pro |
Thread Tools | |
Display Modes | |
|
|