Recommend this page to a friend! |
Download .zip |
Info | Documentation | View files (11) | Download .zip | Reputation | Support forum (1) | Blog | Links |
Ratings | Unique User Downloads | Download Rankings | ||||
Not enough user ratings | Total: 305 | All time: 7,259 This week: 229 |
Version | License | PHP version | Categories | |||
little-youtube-php 1.0.0 | The PHP License | 5 | PHP 5, Web services |
Description | Author | ||||||||
This package can search and get data from YouTube videos. |
|
<a href="https://www.patreon.com/stefansarya"><img src="http://anisics.stream/assets/img/support-badge.png" height="20"></a>
Have you ever dreamed put your own channel on your own website? LittleYoutube is here to help you
> Note: > Please use this library for fair use when downloading any youtube content. If you want to display youtube video to your website, please embed youtube link rather than download it. And don't ever use this for commercial use.
- LittleYoutube - Table of contents - Getting Started - Download via composer - Sample Usage - Documentation - LittleYoutube Options - Video Class
- Get video image preview
- Get embed link
- Parse subtitle
- Get video data
- Get RSS URL
- Get channel data
- Get playlist data
- Get search data
- Next result
- Previous result
- Get last error message - Change settings dynamically - Contribution - License
> * Clone/download this repo
> * Include LittleYoutube.php
to your php script
Add LittleYoutube to composer.json configuration file.
$ composer require scarletsfiction/littleyoutube
And update it
$ composer update
<?php
// require 'vendor/autoload.php';
require_once "LittleYoutube.php";
use ScarletsFiction\LittleYoutube;
$video = LittleYoutube::video("https://www.youtube.com/watch?v=xQomv1gqmb4");
echo("Video ID:".$video->data['videoID']."\n");
print_r($video->getVideoImages());
Available options
{
"temporaryDirectory"=>realpath(__DIR__."/temp"),
"signatureDebug"=>false,
"loadVideoSize"=>false,
"processDetail"=>true
}
> $video = LittleYoutube::video("videoURLHere", options); > > //Reinit video class > $video->init("videoURLHere");
Return video class
> $video->getImage();
Return Indexed Array
[ "HighQualityURL", "MediumQualityURL", "DefaultQualityURL" ]
> $video->getEmbedLink();
// Usually we will wrap it with iframe
echo('<iframe width="480" height="360" src="'.$video->getEmbedLink().'" frameborder="0" allowfullscreen></iframe>');
> $video->parseSubtitle(args, asSRT); > > * args: subtitle index or xml string > * asSRT: return as srt format > * note: if you pass subtitle index, ProcessDetails must be enabled/called
[
[0]=>[
[time] => 1.31,
[duration] => 6.609,
[text]=>"in a single lifetime we can take a days"
],
...
]
> $video->data; > > * You can also call $video->processDetails() to refresh data
Return Associative Array of current video data
{
"videoID",
//When ProcessDetail was enabled/called
"playerID", "title", "duration", "viewCount", "like", "dislike", "author", "subtitle", "uploaded", "description", "metatag", "channelID",
// Not available when ProcessDetails = false
video=>{
"encoded"=>[
[0] => {
"itag",
"type"=>[
[0] => Media //video
[1] => Format //mp4
[2] => Encoder //avc1.64001F, mp4a.40.2
],
"expire", //timestamp
"quality", //hd720, medium, small
"url",
"size" //When loadVideoSize was enabled
},
...
],
"adaptive"=>[
[0] => {
"itag",
"type"=>[
[0] => Media //video
[1] => Format //mp4
[2] => Encoder //avc1.4d401f
],
"expire", //timestamp
"quality", //1080p, 720p, 192k, 144k
"url",
"size" //When loadVideoSize was enabled
},
...
],
//If it's a live stream, then return m3u8 url only
"stream"
}
//When signatureDebug was enabled
"signature"=>{
"playerID", //Log for current playerID
"log" //Last video log
},
...
}
> $channel = LittleYoutube::channel("channelURLHere", options); > > //Reinit channel class > $channel->init("channelURLHere");
Return channel class
> $channel->getChannelRSS();
Return string
https://www.youtube.com/feeds/videos.xml?channel_id=...
> $channel->data; > > * You can also call $channel->processDetails() to refresh data
Return Associative Array of current channel data
{
//Some data will available when ProcessDetail was enabled/called
"channelID", "userID",
"playlists"=>[
[0]=>{
"title", "playlistID"
},
...
],
"videos"=> [
[0]=>{
"title", "duration", "videoID"
},
...
]
}
> $playlist = LittleYoutube::playlist("playlistURLHere", options); > > //Reinit playlist class > $playlist->init("playlistURLHere");
Return playlist class
> $playlist->data; > > * You can also call $playlist->processDetails() to refresh data
Return string
{
//Some data will available when ProcessDetail was enabled/called
"playlistID", "channelID", "userID",
"userData"=>{
"name", image
},
"videos"=>[
[0]=>{
"title", "videoID"
},
...
]
}
> $search = LittleYoutube::search("searchQueryHere", options); > > //Reinit search class > $search->init("searchQueryHere");
Return search class
> $search->data; > > * You can also call $search->processDetails() to refresh data
Return string
{
"query",
// Not available when ProcessDetails = false
"video"=>[
[0]=>{
"videoID", "title", "duration", "userID", "userName", "uploaded", "views"
}
],
//When available
"next", "previous"
}
> $search->next();
This will add result from the next page to current data
> $search->previous();
This will add result from the previous page to current data > Actually this is useless might
> $classes->error;
Return string
errorMsg //Failed to do stuff
You can also change the settings after initialize LittleYoutube class > $classes->settings[options] = value;
If you want to help in LittleYoutube library, please make it even better and start a pull request into it.
Keep it simple and keep it clear.
LittleYoutube is under the GPL license.
Files |
File | Role | Description | ||
---|---|---|---|---|
example (4 files) | ||||
tests (1 file) | ||||
.travis.yml | Data | Auxiliary data | ||
composer.json | Data | Auxiliary data | ||
LICENSE | Lic. | License text | ||
LittleYoutube.php | Class | Class source | ||
phpunit.xml | Data | Auxiliary data | ||
README.md | Doc. | Documentation |
Files | / | example |
little-youtube-php-2017-12-06.zip 28KB | |
little-youtube-php-2017-12-06.tar.gz 26KB | |
Install with Composer |
Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
100% |
|
|
Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.