ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE. Software > DC Member Programs and Projects

MFCRecorder - Continued

<< < (11/15) > >>

However, to get the stream with the higher resolution requires a different URL, eg.

-4wd (October 02, 2016, 06:46 PM)
--- End quote ---

Right, and so theres nothing that can be done on MFCrecorder as of yet?
-Thankyou (October 02, 2016, 07:39 PM)
--- End quote ---

Asudem has not released any code for his updated version of MFCRecorder, however the source is still available for the original release if you want to play with that.

Send him a PM, he was having trouble with thread notifications at one point.  Otherwise, he hasn't been active here or a couple of other sites I know of for the last 3-4 months, it could be that real life has reared it's ugly head  :)

Here's the section of the original source that builds the URL:

--- Code: C# ---private string GetVideoUrl(Model model)        {            try            {                if (_videoServers.ContainsKey(model.Camserv.ToString()))                {                    long modelid = model.Id;                    if (modelid < 100000000) { modelid += 100000000; }                     return string.Format("http://{0}{1}.f4v_aac/playlist.m3u8", _videoServers[model.Camserv.ToString()], modelid);                }            }            catch (Exception ex)            {                Log.Error("GetVideoUrl Exception: " + ex);            }             return "-1";        }
I assume that the section could be duplicated with the new parameters for the high-res stream with a fallback to the low-res if it encounters an error, eg. 404, etc.

Hi All,

I'm new to this forum but I've been following this topic for a while...

I've managed to get the source to build and I've started to re-write the bits of the code that were de-compiled into the 'nasty' IL / Dynamic - (all the CallSite related code) and I'm very keen to get the higher resolution streams working. Does anyone know what the URL's for the higher res streams would look like or where the in the 'non mobile' version of the site I can look at to get them?

I'm hoping to re-write the app as I don;t like the 'clunky' WPF front end that it currently has. I've taken a look a look at the non-mobile site in fiddler to see if I can trace what urls it's using but fiddler soesn't seem to catch them...any ideas?

Does anyone know what the URL's for the higher res streams would look like or where the in the 'non mobile' version of the site I can look at to get them?-emm.arr (October 04, 2016, 06:54 AM)
--- End quote ---

See here, the links came from this Stream Recorder post.

At this post there is a small tool that will call Livestreamer to record the stream so you can test that there is a stream and the recorded resolution.  Of course, you could just use that tool to record a stream as it loops until a stream is found so you can run multiple instances, each with a different model.

To record the non mobile feed would require you to use RTMP protocol, (thereby using rtmpserv, rtmpsuck, or rtmpdump), and from what I've read the initial handshaking to get that stream isn't the standard.

Cheers 4wd - much appreciated.

May I just clarify a couple of points first please....

Are you saying that the format of the URL in the earlier post is correct for higher res streams: -
--- End quote ---

But even if correct I wouldn't be able to use FFMPEG to capture it due to the non-standard handshaking and instead could use the tool (calling livestreamer) you kindly mentioned in the same way that the current MFCRecorder codebase using FFMPEG by spawning from another process?

Apologies in advance...

You could use ffmpeg to capture either of the mobile streams, (m3u8 streams), that tool I pointed to just uses Livestreamer.  ffmpeg will give you the option of transcoding, eg. the audio stream to MP3, and then muxing into a MP4 container.

If you read a little more of the thread it also appears that adding the ngrp: and substituting _mobile is not guaranteed to get you the higher-res feed though.

This is only my interpretation of reading through the Stream Recorder forum but you could use rtmpserv or ffmpeg to capture the RTMP stream (the normal non-mobile stream) but you need to perform all the non-standard RTMP negotiation to get the URL to begin with.

MFC go out of their way to make capturing the RTMP stream hard - I think they also block the feed if more than one is detected going to the same IP with no valid login.

Just to clarify a bit more (possibly):
The URLs ending .m3u8 are the mobile streams, you can capture these using Livestreamer, ffmpeg, etc because it's just a HTTP streaming playlist.  You can play them with VLC, MPC-HC, etc.
(It should be noted that there is no mobile (m3u8) stream for Private.)

The non-mobile stream uses Flash and the URL is something like RTMPS://....flv - that requires a Flash video player at the client end.  rtmp(dump|suck|serv) and ffmpeg can capture RTMP(S) streams but there is handshaking to be done before the final URL is known.  As far as I understand, MFC messed around with handshaking a little so that it's not standard, so making it a little harder to retrieve the final RTMP(S) URL.

As I said, this is my interpretation of what I've read.


[0] Message Index

[#] Next page

[*] Previous page

Go to full version