Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ramazancetinkaya/youtube-video-id-generator

This class mimics the algorithm used by YouTube to generate unique video IDs.
https://github.com/ramazancetinkaya/youtube-video-id-generator

id-generator php youtube-id-generator youtube-url youtube-video-id youtube-video-id-generator

Last synced: 1 day ago
JSON representation

This class mimics the algorithm used by YouTube to generate unique video IDs.

Awesome Lists containing this project

README

        

# YoutubeVideoIdGenerator
This class mimics the algorithm used by YouTube to generate unique video IDs.

## Let me explain the class:

- We define a class called `YoutubeVideoIdGenerator` that represents our YouTube video ID generator.
- We define three constants: `VIDEO_ID_LENGTH` with a value of 11, which represents the length of a YouTube video ID, `VIDEO_ID_CHARACTERS` with a string that contains all the characters that can be used in a YouTube video ID, and `DEFAULT_ALGORITHM` with a value of `sha256`, which represents the default algorithm to use for ID generation.
- We define two private properties: `$algorithm`, which represents the algorithm to use for ID generation, and `$secret_key`, which represents the secret key to use for ID generation. We also define a constructor that allows us to set the `$secret_key` and `$algorithm` properties.
- We define a public method called `generateId` that generates a YouTube video ID. This method calls two private methods: `generateRandomString` and `convertHashToId`. `generateRandomString` generates a random string of characters with a length of 11 using the characters in `VIDEO_ID_CHARACTERS`, while `convertHashToId` converts a hash generated by the algorithm and the random string to a YouTube video ID.
- We define two private methods: `generateRandomString` and `convertHashToId`. `generateRandomString` generates a random string of characters with a length of 11 using the characters in `VIDEO_ID_CHARACTERS`, while `convertHashToId` converts a hash generated by the algorithm and the random string to a YouTube video ID.
- We define a public method called `getVideoLink` that returns the YouTube video link for a given video ID.

To use this class, you can create an instance of it with a secret key:

```php
$generator = new YoutubeVideoIdGenerator('your_secret_key');

# You can then generate a YouTube video ID:
$video_id = $generator->generateId();

# Finally, you can get the YouTube video link for the generated ID:
$video_link = $generator->getVideoLink($video_id);
echo $video_link;
```

This will output a link like https://www.youtube.com/watch?v=LhiFw_2EasE, which is a valid YouTube video link.

## Authors

**Ramazan Çetinkaya**
-

## License

This project is licensed under the [MIT] License - see the LICENSE.md file for details.

## Copyright

Copyright (c) [2023] [Ramazan Çetinkaya]