PHP Classes
elePHPant
Icontem

Easy Subtitle Downloader: Download movie subtitles with EasySubtitles API

Recommend this page to a friend!
  Info   View files Example   View files View files (6)   DownloadInstall with Composer Download .zip   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2017-12-10 (2 months ago) RSS 2.0 feedNot yet rated by the usersTotal: 58 This week: 4All time: 9,073 This week: 190Up
Version License PHP version Categories
easysubtitledownload 1.000.000GNU General Publi...5PHP 5, Web services, Video
Description Author

This package can download movie subtitles with EasySubtitles API.

It can send HTTP requests to the EasySubtitles API Web server to obtain subtitles for a given movie.

The downloaded subtitles are returned as a string.

Innovation Award
PHP Programming Innovation award nominee
January 2018
Nominee
Vote
This package can download movie subtitles with EasySubtitles API.

It can send HTTP requests to the EasySubtitles API Web server to obtain subtitles for a given movie.

The downloaded subtitles are returned as a string.

Manuel Lemos
  Performance   Level  
Name: Alexandre Sinício <contact>
Classes: 5 packages by
Country: Brazil Brazil
Age: 33
All time rank: 2871213 in Brazil Brazil
Week rank: 183 Up8 in Brazil Brazil Up
Innovation award
Innovation award
Nominee: 1x

Details

EasysubtitleDownloader

PHP implementation for the easysubtitles.com REST API.

Downloads subtitles for video files given preferred language.

Can be used in an object-oriented fashion or in procedural format.

The file 'tests.php' runs unit-tests for most common situations.

Feel free to contribute.

Examples

Object-oriented style

try {
	$sub = new EasysubtitleDownloader();

	//SETS THE PATH TO THE VIDEO FILE
	$sub->setVideofile(__DIR__.'/tests/alesinicio/Easysubtitle/justified.mp4');
	
	//SETS THE USER AGENT FOR THE API CALL -- USE YOUR OWN PROJECT DATA
	$sub->setUserAgent('SubDB/1.0 (YOUR_NAME/VERSION; PROJECT_URL)');
	
	//SETS WHAT ARE YOUR PREFERRED LANGUAGES FOR THE SUBTITLE -- EITHER AN ARRAY OR COMMA-SEPARATED VALUES
	$sub->setPreferredLanguages('pt,en');
	
	//CALLS THE API AND GET WHAT SUBTITLES ARE AVAILABLE FOR THAT VIDEO FILE
	$strSubtitlesAvailable = $sub->getAvailableSubtitles();
	
	//GIVEN THE AVAILABLE SUBTITLES, GETS THE BEST CHOICE BASED ON YOUR PREFERENCES
	$bestAvailableSubtitle = $sub->searchForPreferredSubtitle($strSubtitlesAvailable);
	
	//DOWNLOADS THE SUBTITLE TO THE SAME FOLDER OF THE VIDEO FILE
	$sub->downloadSubtitle($bestAvailableSubtitle);
	
	echo "Subtitle in language `{$bestAvailableSubtitle}` downloaded!";
} catch (Exception $e) {
	die($e->getMessage());
}

Procedural styles

try {
	//SETS THE PATH TO THE VIDEO FILE
	$strVideofile		= __DIR__.'/tests/alesinicio/Easysubtitle/justified.mp4';
	
	//SETS THE USER AGENT FOR THE API CALL -- USE YOUR OWN PROJECT DATA
	$strUserAgent		= 'SubDB/1.0 (YOUR_NAME/VERSION; PROJECT_URL)';
	
	//SETS WHAT ARE YOUR PREFERRED LANGUAGES FOR THE SUBTITLE -- EITHER AN ARRAY OR COMMA-SEPARATED VALUES
	$preferredLanguages	= ['pt','en'];

	//TRIES TO DOWNLOAD THE SUBTITLE
	$result = EasysubtitleDownloader::downloadSubtitleForVideoFile($strUserAgent, $strVideofile, $preferredLanguages);

	//PARSES THE RESULT OF THE DOWNLOAD ATTEMPT
	if ($result['code'] == 1) {
		echo "Subtitle downloaded!";
	} else {
		die('Error > '.$result['message']);
	}
} catch (Exception $e) {
	die($e->getMessage());
}
  Files folder image Files  
File Role Description
Files folder imagetests (1 directory)
Files folder imagevendor (1 directory)
Accessible without login Plain text file example_01_oop.php Example Example script
Accessible without login Plain text file example_02_procedural.php Example Example script
Accessible without login Plain text file README.md Doc. Documentation
Accessible without login Plain text file tests.php Example Example script

  Files folder image Files  /  tests  
File Role Description
Files folder imagealesinicio (1 directory)

  Files folder image Files  /  tests  /  alesinicio  
File Role Description
Files folder imageEasysubtitle (1 file)

  Files folder image Files  /  tests  /  alesinicio  /  Easysubtitle  
File Role Description
  Plain text file EasysubtitleDownloader.test.php Class Class source

  Files folder image Files  /  vendor  
File Role Description
Files folder imagealesinicio (1 directory)

  Files folder image Files  /  vendor  /  alesinicio  
File Role Description
Files folder imageEasysubtitle (1 file)

  Files folder image Files  /  vendor  /  alesinicio  /  Easysubtitle  
File Role Description
  Plain text file EasysubtitleDownloader.php Class Class source

 Version Control Unique User Downloads Download Rankings  
 100%
Total:58
This week:4
All time:9,073
This week:190Up