This is Google's cache of http://stream-recorder.com/forum/adobe-hds-downloader-t12074.html. It is a snapshot of the page as it appeared on 16 Oct 2012 09:21:14 GMT. The current page could have changed in the meantime. Learn more
Tip: To quickly find your search term on this page, press Ctrl+F or ⌘-F (Mac) and use the find bar.

Text-only version
 
Adobe HDS Downloader - Audio/video stream recording forums

Audio/video stream recording forums

Recommended: Vixy Freecorder Download YouTube Videos and Convert to MP3 for Free
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
FAQ Members List Calendar Mark Forums Read

 
 
Thread Tools
 
Old 04-23-2012, 08:24 PM
KSV KSV is online now
Senior Member
 
Join Date: Apr 2011
Posts: 706
KSV is on a distinguished road
Cool

Adobe HDS Downloader


I have written a php script to join HDS fragments into flv file. it's the initial script so test it out and report if any problem occurs. you can either use --manifest switch or use any download manager with batch capabilities to download the fragments. f4f extension is optional.

if you fragments are serially numbered without a base filename (1.f4f, 2.f4f.......99.f4f) then you can run the script without any parameter and it will look for the fragments in current directory and output will be saved as Joined.flv.

However if your fragments are named with base filename (MyVideo-Seg1-Frag1.f4f, MyVideo-Seg1-Frag2.f4f.........MyVideo-Seg1-Frag99.f4f) then you can pass the base filename with --fragments parameter to the script and it will look for the fragments starting with this name and output will be saved as MyVideo-Seg1-Frag.flv.

Usage:
Code:
php AdobeHDS.php --manifest "your_manifest_url" --delete
1.f4f, 2.f4f.......99.f4f
Code:
php AdobeHDS.php
MyVideo-Seg1-Frag1.f4f, MyVideo-Seg1-Frag2.f4f.........MyVideo-Seg1-Frag99.f4f
Code:
php AdobeHDS.php MyVideo-Seg1-Frag
You can use script with following switches:
Code:
 --help              displays this help
 --debug             show debug output
 --delete            delete fragments after processing
 --fproxy            force proxy for downloading of fragments
 --play              dump stream to stdout for piping to media player
 --rename            rename fragments sequentially before processing
 --update            update the script to current git version
 --auth      [param] authentication string for fragment requests
 --duration  [param] stop recording after specified number of seconds
 --filesize  [param] split output file in chunks of specified size (MB)
 --fragments [param] base filename for fragments
 --manifest  [param] manifest file for downloading of fragments
 --outdir    [param] destination folder for output file
 --outfile   [param] filename to use for output file
 --parallel  [param] number of fragments to download simultaneously
 --proxy     [param] proxy for downloading of manifest
 --quality   [param] selected quality level (low|medium|high) or exact bitrate
 --referrer  [param] Referer to use for emulation of browser requests
 --start     [param] start from specified fragment
 --useragent [param] User-Agent to use for emulation of browser requests
Download:
Code:
https://github.com/K-S-V/Scripts
Proper switch usage:

1. useragent here
2. grabbing the manifest url and auth parameters with firefox here
3. proxy here
4. play here

PS: i have tested it only on few videos downloaded from pluzz.fr, fora.tv and Akamai Demos so it may or may not work with others. Also don't try to extract fragments from Browser cache. cache may contain fragments from different quality levels and you may have audio visual glitches in joined video. either use --manifest option or download all fragments with download manager.

===========================================
Installing PHP for dummies
===========================================

1. Download PHP 5.4 and extract it to C:\PHP folder.
2. Download PHP.ini and copy it to the same folder.
3. Right click on "My Computer" and go to Properties->Advanced->Environment Variables and add following string to the end of Path Variable.
Code:
;C:\PHP
4. Open cmd prompt and type php -v. if you have done above steps correctly then you will see something like following.
Code:
PHP 5.4.7 (cli) (built: Sep 12 2012 23:48:31)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies

Last edited by KSV : 09-30-2012 at 06:38 AM. Reason: updated information
 
Old 04-23-2012, 09:55 PM
Stream Ripper Stream Ripper is offline
Super Moderator
 
Join Date: Feb 2007
Location: World
Posts: 654
Stream Ripper is on a distinguished road
Default

Re: Adobe HDS fragment joiner


Awesome, thanks!!
 
Old 04-24-2012, 08:08 AM
chap chap is offline
Senior Member
 
Join Date: Feb 2011
Location: Ukraine
Posts: 747
chap is on a distinguished road
Default

Re: Adobe HDS fragment joiner


Respect
works fine
 
Old 04-26-2012, 05:20 AM
KSV KSV is online now
Senior Member
 
Join Date: Apr 2011
Posts: 706
KSV is on a distinguished road
Cool

Re: Adobe HDS fragment joiner


Changes:
Code:
1. make .f4f extension optional for fragments
2. filter out frames with similar timestamps to make the resulting file remuxable with ffmpeg
3. better searching for audio video packets in fragments
4. should also work with older php versions
5. many other improvements
Download:
Code:
http://www.mediafire.com/file/9u3s97rc9vki4vp/AdobeHDS.php
if you have any problem, zip the first five fragments of video and upload it to MediaFire and provide the link.
 
Old 04-26-2012, 11:53 AM
KSV KSV is online now
Senior Member
 
Join Date: Apr 2011
Posts: 706
KSV is on a distinguished road
Cool

Re: Adobe HDS fragment joiner


Changes:
Code:
1. Added progress indicator
2. minor fix for frame filtering
Download:
Code:
http://www.mediafire.com/file/9mtabmtolx3o6rs/AdobeHDS.php

Last edited by KSV : 04-27-2012 at 12:12 AM.
 
Old 04-27-2012, 01:05 PM
Bahman Bahman is offline
t.A.T.u.'s fan forever
 
Join Date: Sep 2011
Location: Tehran, Iran
Posts: 389
Bahman is on a distinguished road
Default

Re: Adobe HDS fragment joiner


Thank you!
 
Old 04-27-2012, 01:47 PM
compn compn is offline
Stream recording expert
 
Join Date: Sep 2006
Posts: 117
compn has a spectacular aura aboutcompn has a spectacular aura aboutcompn has a spectacular aura about
Default

Re: Adobe HDS fragment joiner


nice! now all we need is an easy way to download the segments and an easy way to force high bitrate streams.
 
Old 04-28-2012, 07:54 AM
bit2 bit2 is offline
Junior Member
 
Join Date: Apr 2012
Posts: 1
bit2 is on a distinguished road
Default

Re: Adobe HDS fragment joiner


Thank you KSV! Works as advertised. :-) Fetching the fragments is quite easy (at least most of the time ... actually I've not yet met a "difficult" scenario). I'll write a blog post about the whole process of grabbing a HDS stream and saving it as mp4. I'll post the link when it gets public.
 
Old 04-28-2012, 10:15 PM
svnpenn svnpenn is offline
Senior Member
 
Join Date: Apr 2011
Location: Dallas
Posts: 675
svnpenn is on a distinguished road
Default

Re: Adobe HDS fragment joiner


I made a repo for the commits.
Please delete my other post.

github.com/svnpenn/adobe-hds
 
Old 04-29-2012, 12:14 AM
KSV KSV is online now
Senior Member
 
Join Date: Apr 2011
Posts: 706
KSV is on a distinguished road
Cool

Re: Adobe HDS fragment joiner


Changes:
Code:
1. Added command line options
2. some other improvements
Download:
Code:
http://www.mediafire.com/file/dh6e3m06d1qs8pv/AdobeHDS.php
following switches are currently available.
Code:
 --help         displays this help
 --debug        show debug ouput
 --no-frameskip do not filter any frames
 --file [param] base filename for fragments
one of the important switch is --no-frameskip. if your video is using (H264 + AAC) then it's necessary to filter out some packets to make the joined file properly playable with vlc or remuxable with ffmpeg (though FFPlay and MPlayer doesn't have any problem even without any filtering). However if your file contains (VP6+MP3) then this filtering causes problem and you will see audio video glitches in merged video. to avoid this you have to join those videos with --no-frameskip switch. i was testing some videos from fora.tv. while their newer videos use (H264+AAC) older ones are encoded with (VP6+MP3). in short if you see any audio video glitches in merged video also try with --no-frameskip option.
 
Tags: ,


Thread Tools

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 03:21 AM.


Powered by All-streaming-media.com; 2006-2011