:::: MENU ::::

Download Flash Video Fragmented (F4F/F4M)

  • Mar 25 / 2014
  • 0

Download Flash Video Fragmented (F4F/F4M)

Today, for network usage optimization purposes, a lot of videos are streamed and sent to the users as fragmented packets instead of one file. According to Adobe, F4F file is Flash MP4 Video Fragment created and used by Adobe Media Server for HTTP Dynamic streaming like CloudFront, Akamai, … If you want to download this video, you will have to download the script file KSV (download this script on Github) and execute it on a system with php enabled (install PHP on Windows).

Once you’re on the page where video is loading, you have to look for manifest file in source code or network exchanges. This file has F4M extension, correspondig to manifest, which is the file containing the inventory of all the video fragments. It will be necessary for the script execution.

Here is an example of how the command-line should look like (you can modify the quality parameter, and you have to specify the path for manifest file, and output file):

php ksv.php --quality high --delete --manifest 'LINK_TO_MANIFEST.f4m' --outfile 'OUTPUT_FILE.flv'

Here are the different options you can use to customize command-line:

 --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
 --fixwindow [param] timestamp gap between frames to consider as timeshift
 --manifest  [param] manifest file for downloading of fragments
 --maxspeed  [param] maximum bandwidth consumption (KB) for fragment downloading
 --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

All the original sources are available on GitHub : https://github.com/K-S-V/

Leave a comment

You must be logged in to post a comment.

Question ? Contact