Audio/video stream recording forums

Attention Visitor:
You may have to register or log in before you can post:
  • Click the register link to sign up.
  • Registered members please fill in the form below and click the "Log in" button.
To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Audio/video stream recording forums > Streaming media recording forum > rtmpdump
Register FAQ Members List Calendar Mark Forums Read

Reply Post New Thread
 
Thread Tools Display Modes
  #381  
Old 05-26-2016, 01:34 PM
Gunnar Gunnar is offline
Junior Member
 
Join Date: Oct 2015
Posts: 8
Gunnar is on a distinguished road
Default

Re: Adobe HDS Downloader


Quote:
Originally Posted by xNuno View Post
Hi,

loops or repeated stuff on the player...

One thing that I did was to limit parallel connections to 1 only, this reduced the problem a lot but is not mitigated yet.


Best Regards,
Nuno
I have added Loginfo() info-text "here and there" to figure out simialr problems.
Most important to see how the script starts new fragment-downloads and when they are "done and used" (and then update bootstrap to get the new ones)
eight parallell downloads seem to run into the problem that the new next ones are not checked for until all old 8 have "arrived safely".
Some servers dont even keep 8 fragments buffered?

But getting the fragments "one-by-one" with check for new ones inbetween for every fragment wastes a lot of bandwith.

Missed fragments trigger "TImeSTamp fix" when decoding the fragments (or earlier), same for "negative timestamps"

Picking two added info-beeps as example, because I have butchered the script too much to post proper patches
As an example, LogDebug to LogInfo and ring the bell when happens (might be only every fifth hour)

if ($timeShift > $this->fixWindow)
{
echo chr(7); // ring bell
LogInfo("Timestamp gap detected: PacketTS=" . $packetTS . " LastTS=" . $lastTS . " Timeshift=" . $timeShift, $debug);
usleep(100000);
echo chr(7); // and anoher bell
if ($this->baseTS < $packetTS)
$this->baseTS += $timeShift - FRAMEFIX_STEP;
else
$this->baseTS = $timeShift - FRAMEFIX_STEP;
$packetTS = $fixedTS;
}

//--- missed fragment, decoder will have missed 2-6-12 seconds
// note, the audio stream is the "master" for timing

else
{
$this->lastFrag += 1; // bitch and scream
LogInfo("*************** Skipping failed fragment **********" . $this->lastFrag);
echo chr(7); usleep(10000);
LogInfo("*************** XXXXXXXXXXXXXXXXXXXXXXXX **********" . $this->lastFrag);
echo chr(7); usleep(10000);

Gunnar

PS should be some simple argument for debugging, giving info on just

- manifest, bootstrap missed
- how many parallell fragments it tries to download
- BITCH and SCREAM when missing fragments, timestamps,etc

hmm, a test for how many fragments the server actually keeps buffered (something Im halfdone with, but no need to attack it again)

If server only keeps 4-6, using 8 parallell downloads kills the whole thing because script doesnt check for new ones in time,.
Reply With Quote
  #382  
Old 05-26-2016, 06:23 PM
joejones15 joejones15 is offline
Senior Member
 
Join Date: Mar 2015
Posts: 222
joejones15 is on a distinguished road
Default

Re: Adobe HDS Downloader


Quote:
Originally Posted by Gunnar View Post
From my Finland YLE (BBC) experience the script and detector (together) can do some encrypted streams.

That is, when it "works" there is a lot of --author, etc and cookie, etc arguments added (by HDS detector plugin frm web page) needed for the script to get the (one) encryption syst recently added.
(for garbage US action series so have not bothered checking in detail)

The (humongous) link also needs to be used within some 30-60seconds or "cant access Key"

Gunnar

PS That is, your command line didnt include any of the "humongous stuff"
Thanks Gunnar, I was using detector and after the change sit did not find the "humongous link" anymore. Should I attempt manually based on what I see listed under developer->network view?
Reply With Quote
  #383  
Old 05-27-2016, 05:24 AM
xNuno xNuno is offline
Junior Member
 
Join Date: May 2015
Posts: 10
xNuno is on a distinguished road
Default

Re: Adobe HDS Downloader


Quote:
Originally Posted by Gunnar View Post
I have added Loginfo() info-text "here and there" to figure out simialr problems.
Most important to see how the script starts new fragment-downloads and when they are "done and used" (and then update bootstrap to get the new ones)
eight parallell downloads seem to run into the problem that the new next ones are not checked for until all old 8 have "arrived safely".
Some servers dont even keep 8 fragments buffered?

But getting the fragments "one-by-one" with check for new ones inbetween for every fragment wastes a lot of bandwith.

Missed fragments trigger "TImeSTamp fix" when decoding the fragments (or earlier), same for "negative timestamps"

Picking two added info-beeps as example, because I have butchered the script too much to post proper patches
As an example, LogDebug to LogInfo and ring the bell when happens (might be only every fifth hour)

if ($timeShift > $this->fixWindow)
{
echo chr(7); // ring bell
LogInfo("Timestamp gap detected: PacketTS=" . $packetTS . " LastTS=" . $lastTS . " Timeshift=" . $timeShift, $debug);
usleep(100000);
echo chr(7); // and anoher bell
if ($this->baseTS < $packetTS)
$this->baseTS += $timeShift - FRAMEFIX_STEP;
else
$this->baseTS = $timeShift - FRAMEFIX_STEP;
$packetTS = $fixedTS;
}

//--- missed fragment, decoder will have missed 2-6-12 seconds
// note, the audio stream is the "master" for timing

else
{
$this->lastFrag += 1; // bitch and scream
LogInfo("*************** Skipping failed fragment **********" . $this->lastFrag);
echo chr(7); usleep(10000);
LogInfo("*************** XXXXXXXXXXXXXXXXXXXXXXXX **********" . $this->lastFrag);
echo chr(7); usleep(10000);

Gunnar

PS should be some simple argument for debugging, giving info on just

- manifest, bootstrap missed
- how many parallell fragments it tries to download
- BITCH and SCREAM when missing fragments, timestamps,etc

hmm, a test for how many fragments the server actually keeps buffered (something Im halfdone with, but no need to attack it again)

If server only keeps 4-6, using 8 parallell downloads kills the whole thing because script doesnt check for new ones in time,.
Thanks! It's not possible to dont allow VLC to play the repeated fragment?
Reply With Quote
  #384  
Old 05-27-2016, 01:40 PM
Manual Manual is offline
Member
 
Join Date: Sep 2012
Posts: 64
Manual is on a distinguished road
Default

Re: Adobe HDS Downloader


Does anyone know if it's possible to decrypt Adobe HDS with provided key file and how?
Reply With Quote
  #385  
Old 05-30-2016, 11:35 AM
zapac zapac is offline
Member
 
Join Date: Aug 2015
Posts: 73
zapac is on a distinguished road
Default

Re: Adobe HDS Downloader


hi I need a way to compress a 1080p mp4 video file to store. but at same I need a way to decompress it to get orignal video quality and size (Just like a paper we fold a paper to take smaller size.and unfold it to make it original in size) same I need to do with a video hope you understand plzz reply
Reply With Quote
  #386  
Old 05-31-2016, 09:22 AM
Quaraxkad Quaraxkad is offline
Junior Member
 
Join Date: Jan 2010
Posts: 9
Quaraxkad is on a distinguished road
Default

Re: Adobe HDS Downloader


Quote:
Originally Posted by zapac View Post
hi I need a way to compress a 1080p mp4 video file to store. but at same I need a way to decompress it to get orignal video quality and size (Just like a paper we fold a paper to take smaller size.and unfold it to make it original in size) same I need to do with a video hope you understand plzz reply
This is impossible. If you want to compress a video, you will lose quality and can not "decompress" back to original quality.
Reply With Quote
  #387  
Old 05-31-2016, 10:42 AM
zapac zapac is offline
Member
 
Join Date: Aug 2015
Posts: 73
zapac is on a distinguished road
Default

Re: Adobe HDS Downloader


Quote:
Originally Posted by Quaraxkad View Post
This is impossible. If you want to compress a video, you will lose quality and can not "decompress" back to original quality.
ok...can I reduce video resolution without loosing quality (eg: 1080p to 360)
Reply With Quote
  #388  
Old 06-01-2016, 09:05 AM
Quaraxkad Quaraxkad is offline
Junior Member
 
Join Date: Jan 2010
Posts: 9
Quaraxkad is on a distinguished road
Default

Re: Adobe HDS Downloader


Quote:
Originally Posted by zapac View Post
ok...can I reduce video resolution without loosing quality (eg: 1080p to 360)
No, of course not. Think about it. If that was possible, why would there ever be a need for higher resolutions in the first place?
Reply With Quote
  #389  
Old 06-19-2016, 05:23 AM
Liphtier Liphtier is offline
Junior Member
 
Join Date: Jun 2016
Posts: 2
Liphtier is on a distinguished road
Default

Re: Adobe HDS Downloader


Hello!

Is it possible with HDS format to get the final movie file size when starting the download.

AFAIU, it should be in the moov box in the bootstrap. I have checked several videos on moonwalk.cc and apollocdn.cc like sites and there's no moov box in their bootstraps. Only abst, asrt and afrt boxes.

here's sample bootstrap and metadata tags from the manifest
http://pastebin.com/0f9zVL25

May be they remove it for some reason? Or am I missing something? Or may be the file size could be read by some other means

It may be useful to add the AdobeHDS.php script ability to stream the video being downloaded to the DLNA renderer device, however it is not possible without knowing the final file size - cause it should be specified in Content-Length header of HTTP response serving the file for DLNA. Of course we could wait till the download is finished before starting DLNA - but it is not a solution, just a compromise.
Reply With Quote
  #390  
Old 06-20-2016, 11:01 AM
KSV KSV is offline
Senior Member
 
Join Date: Apr 2011
Posts: 853
KSV is on a distinguished road
Cool

Re: Adobe HDS Downloader


@Liphtier

You won't find 'moov' box in client side fragments. it's not possible to accurately know the filesize before all fragments are downloaded and decoded. some websites do inject the same in metadata stored in bootstrap file but it's not necessary that the final filesize generated after decoding will match that. why don't you just try sending an arbitrary large size like some major CDN's do. for example Akamai HD streaming (over plain http) sends 2 GB as content-length header although the actual video data is normally larger or smaller than that.
Reply With Quote
Reply Post New Thread
Tags:



Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -6. The time now is 10:11 PM.


Powered by All-streaming-media.com; 2006-2011
vB forum hacked with Zoints add-ons