Skip to content
K-S-V edited this page Sep 13, 2012 · 35 revisions

AdobeHDS is a php script to join HDS fragments into flv file. 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:

php AdobeHDS.php --manifest "your_manifest_url" --delete

1.f4f, 2.f4f.......99.f4f

php AdobeHDS.php

MyVideo-Seg1-Frag1.f4f, MyVideo-Seg1-Frag2.f4f.........MyVideo-Seg1-Frag99.f4f

php AdobeHDS.php MyVideo-Seg1-Frag

You can use script with following switches:

 --help              displays this help
 --debug             show debug output
 --delete            delete fragments after processing
 --fproxy            force proxy for downloading of fragments
 --play              dump live stream to stdout for piping to media player
 --rename            rename fragments sequentially before processing
 --auth      [param] authentication string for fragment requests
 --duration  [param] stop live 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
 --start     [param] start from specified fragment
 --useragent [param] User-Agent to use for emulation of browser requests

Proper switch usage:

  1. Useragent
  2. Grabbing the manifest url and auth parameters with firefox
  3. Proxy
  4. Play
__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.
;C:\PHP
  1. Open cmd prompt and type php -v. if you have done above steps correctly then you will see something like following.
PHP 5.4.6 (cli) (built: Aug 15 2012 21:16:03)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
Clone this wiki locally