Ratings | | Unique User Downloads | | Download Rankings |
Not yet rated by the users | | Total: 150 | | All time: 9,086 This week: 81 |
|
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
January 2018
Number 5 |
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 |
| |
|
|
Innovation award
Nominee: 3x |
|
Example
<?php
use alesinicio\Easysubtitle\EasysubtitleDownloader;
require './vendor/alesinicio/Easysubtitle/EasysubtitleDownloader.php';
$sub = new EasysubtitleDownloader();
//THE WHOLE THING THROWS EXCEPTIONS ON ERRORS, SO KEEP EVERYTHING IN A TRY/CATCH BLOCK.
try {
//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());
}
|
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());
}
|
Applications that use this package |
|
No pages of applications that use this class were specified.
If you know an application of this package, send a message to the author to add a link here.